/*
Theme Name: Mother & Main
Theme URI: https://motherandmain.com
Author: Mother & Main
Author URI: https://motherandmain.com
Description: A warm editorial WordPress block theme for pregnancy, postpartum, and baby guides. SEO-optimised, magazine-quality design.
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 8.1
Tested up to: 6.7
Text Domain: mother-and-main
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* =============================================================================
   1. CSS CUSTOM PROPERTIES
   ============================================================================= */
/* ------------------------------------------------------------------
   Apercu, the brand text face. Self-hosted and subsetted the same way
   as Bogart: roughly 95KB of OTF becomes 14KB of woff2 per weight.
   Three weights, because body copy genuinely uses them: 400 for prose,
   500 for UI labels and nav, 700 for strong. 600 maps onto 700 rather
   than being synthesised, since the site uses 600 for <strong>.

   Unlike Bogart, these files carry no restrictive EULA in their name
   table and fsType is 0 (installable, no embedding restriction).
   ------------------------------------------------------------------ */
/* The Apercu pack Ana supplied is Regular, Medium and Bold. There is no Light.
   The theme carries 16 `font-weight: 300` declarations from the Jost era, so
   the Regular face claims 300 as well: without this the browser picks Regular
   anyway but reports an unmatched weight, and any future variable build would
   silently synthesise a thin. Stating the mapping makes it a decision. If a
   real Apercu Light is ever licensed, give it its own face and narrow this
   one back to 400. */
@font-face {
  font-family: 'Apercu';
  src: url('assets/fonts/apercu-400.woff2') format('woff2');
  font-weight: 300 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Apercu';
  src: url('assets/fonts/apercu-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Apercu';
  src: url('assets/fonts/apercu-700.woff2') format('woff2');
  font-weight: 600 700;
  font-style: normal;
  font-display: swap;
}

/* ------------------------------------------------------------------
   Bogart, the brand display face. Self-hosted and subsetted to Latin
   plus the punctuation this site actually uses: 305KB of OTF becomes
   51KB of woff2 per weight, which matters on a phone at 2am.

   Four faces, each because something on the site needs it. The old
   Google request loaded Cormorant at 300/400/500/600 with an italic
   axis, so shipping only 400 and 500 silently changed every hero
   headline (64 font-weight:300 declarations) and synthesised an oblique
   on six italic rules, including .wbwk-lead on all 40 week spokes,
   which CLAUDE.md records as a deliberate design decision.

   The pack has no SemiBold roman, so 500 is Medium and 600 maps onto it
   rather than being faked.

   swap, not block: the fallback serif shows immediately and the page
   never holds text hostage to a font file.
   ------------------------------------------------------------------ */
@font-face {
  font-family: 'Bogart';
  src: url('assets/fonts/bogart-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Bogart';
  src: url('assets/fonts/bogart-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Bogart';
  src: url('assets/fonts/bogart-400i.woff2') format('woff2');
  font-weight: 300 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Bogart';
  src: url('assets/fonts/bogart-500.woff2') format('woff2');
  font-weight: 500 600;
  font-style: normal;
  font-display: swap;
}
/* `.wbwk-lead strong` is font-weight 600 inside an italic lead, on all 40 week
   spokes, and it is the size word CLAUDE.md names as load-bearing. With only a
   400 italic declared, Chrome outline-thickened it and the word smeared, with
   counters closing on e, a and o. The pack has a real Semibold Italic. */
@font-face {
  font-family: 'Bogart';
  src: url('assets/fonts/bogart-600i.woff2') format('woff2');
  font-weight: 500 600;
  font-style: italic;
  font-display: swap;
}

:root {
  /* ---------------------------------------------------------------
     BRAND. The five colours from brand/Colors/Mother&Main-ColorInfo.pdf
     and nothing else. See the "Brand system" section of CLAUDE.md.
     --------------------------------------------------------------- */
  --bedtime-blue: #131D27;   /* ink: text, dark grounds, the logo */
  --cotton:       #F4F4F4;   /* paper: light grounds */
  --petal-pink:   #EDAEC6;   /* ground and fill only, NEVER text */
  --bluebird:     #5BA5E8;   /* ground and fill only, NEVER text */
  --sunlight:     #E8DF72;   /* accent fill only, NEVER text, NEVER a large ground */

  /* ---------------------------------------------------------------
     DERIVED. Five flat colours cannot build a UI, and none of the three
     accents can carry text: Petal Pink is 1.83:1 on white, Bluebird
     2.63, Sunlight 1.38. Each token below is a shade or tint of a brand
     colour, and exists because a specific job has no other solution.
     Ratios are measured against white unless stated.
     --------------------------------------------------------------- */
  --pink-ink:   #8E3D5C;   /* 7.07  pink accent TEXT, links, small caps */
  --pink-wash:  #FBEEF3;   /* ground for callouts; Petal Pink is too loud behind prose */
  --blue-ink:   #1F5C96;   /* 6.93  blue accent TEXT, links */
  --blue-wash:  #EAF3FD;   /* ground for notes */
  --sun-wash:   #FAF7DC;   /* ground for highlights */
  --ink-body:   #46525E;   /* 7.99  body copy; Bedtime Blue at 17:1 is too hard to read long */
  --ink-muted:  #5F6975;   /* 5.58  secondary text. Replaces #7C8792, which was 3.66 and failing */
  --rule-line:  #DCDEE1;   /* decorative borders and hairlines */
  --rule-strong:#8B939C;   /* 3.11 on white. Form input boundaries, which WCAG 1.4.11
                              requires to clear 3:1 as non-text contrast. */
  --paper:      #FFFFFF;   /* card ground above Cotton, for two-level elevation */

  /* No ink token for Sunlight. Darkening it far enough to be readable
     produces olive (#5C5510), which is not this brand. Sunlight never
     becomes text. */

  /* Brand colours */
  --color-umber:      #131D27;
  --color-slate:      #46525E;
  --color-rose:       #B55376;
  --color-sage:       #4078A8;
  --color-cream:      #FAFAFA;
  --color-cream-deep: #F0F1F2;
  --color-cream-mid:  #E9EAEB;
  --color-gold:       #B55376;
  --color-body:       #46525E;
  --color-muted:      #7C8792;
  --color-border:     #E4E5E7;
  --color-white:      #FFFFFF;

  /* Derived tints */
  --color-sage-15:    rgba(143, 168, 130, 0.15);
  --color-rose-10:    rgba(200, 137, 122, 0.10);
  --color-umber-6:    rgba(44, 36, 25, 0.06);
  --color-umber-9:    rgba(44, 36, 25, 0.09);
  --color-umber-12:   rgba(44, 36, 25, 0.12);

  /* Typography */
  /* Bogart is the brand display face (brand/Fonts/Bogart). The fallbacks
     are what a reader sees for the ~100ms before the woff2 lands. */
  --font-heading: 'Bogart', 'Cormorant Garamond', Georgia, serif;
  /* Apercu is the brand text face (brand/Fonts/Apercu). */
  --font-body:    'Apercu', 'Jost', system-ui, sans-serif;

  /* Spacing scale (4px base) */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-18: 72px;
  --space-24: 96px;

  /* Border-radius */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --radius-xl: 12px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* Shadows */
  --shadow-xs: 0 1px 4px rgba(44, 36, 25, 0.05);
  --shadow-sm: 0 2px 8px rgba(44, 36, 25, 0.06);
  --shadow-md: 0 6px 24px rgba(44, 36, 25, 0.08);
  --shadow-lg: 0 16px 48px rgba(44, 36, 25, 0.10);
  --shadow-xl: 0 24px 64px rgba(44, 36, 25, 0.12);
}

/* =============================================================================
   2. BASE RESET
   ============================================================================= */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  /* clip (not hidden): hidden makes html/body a scroll container, which silently
     disables position:sticky for every descendant (e.g. the baby shower cluster
     outline rail). clip gives the same horizontal clipping without that side effect. */
  overflow-x: clip;
  width: 100%;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--color-cream);
  color: var(--color-body);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  width: 100%;
}

img, video, iframe, table { max-width: 100%; }
img { height: auto; display: block; }

a {
  color: var(--color-umber);
  text-decoration: none;
  transition: color var(--transition-base);
}

a:hover { color: var(--color-rose); }

ul, ol { margin: 0; padding: 0; }

input, select, textarea {
  font-size: 16px;
  font-family: var(--font-body);
}

/* Form controls do not inherit font-family. `button` was missing from the rule
   above, so every button on the site rendered in the browser's default sans
   (Arial on this stack) rather than the brand text face. Caught by rendering
   all 187 templates rather than by reading the CSS: nothing in the source says
   "Arial", the browser simply supplies it.

   Family only, deliberately. Adding font-size here would push every button
   that does not set its own from the 13.33px user-agent default to 16px and
   resize controls across the site, which is a layout change, not a type fix. */
button {
  font-family: var(--font-body);
}

/* =============================================================================
   3. TYPOGRAPHY
   ============================================================================= */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--color-umber);
  line-height: 1.2;
  font-weight: 400;
  margin-top: 0;
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(2.5rem, 5.5vw, 4rem);   margin-bottom: var(--space-6); }
h2 { font-size: clamp(1.875rem, 3.5vw, 2.75rem); margin-bottom: var(--space-5); }
h3 { font-size: clamp(1.375rem, 2.5vw, 1.875rem); margin-bottom: var(--space-4); }
h4 { font-size: clamp(1.125rem, 2vw, 1.375rem);   margin-bottom: var(--space-3); }
h5 { font-size: 1.125rem; margin-bottom: var(--space-3); }
h6 { font-size: 1rem;     margin-bottom: var(--space-2); }

p { margin-top: 0; margin-bottom: 1rem; }

strong, b { color: var(--color-umber); font-weight: 600; }

blockquote {
  margin: var(--space-8) 0;
  padding: var(--space-6) var(--space-8);
  border-left: 3px solid var(--color-rose);
  background: var(--color-cream-deep);
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-style: italic;
  color: var(--color-umber);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

blockquote p:last-child { margin-bottom: 0; }

/* Eyebrow label - small uppercase above headings */
.eyebrow {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  display: block;
  margin-bottom: var(--space-3);
}

.eyebrow--rose  { color: var(--color-rose); }
.eyebrow--sage  { color: var(--color-sage); }
.eyebrow--gold  { color: var(--color-gold); }

/* =============================================================================
   4. LAYOUT UTILITIES
   ============================================================================= */
.container {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}

.container--narrow {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}

.container--wide {
  max-width: 1380px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}

.section { padding-top: var(--space-18); padding-bottom: var(--space-18); }
.section--lg { padding-top: var(--space-24); padding-bottom: var(--space-24); }
.section--sm { padding-top: var(--space-12); padding-bottom: var(--space-12); }

/* Divider */
.bumply-divider {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 0;
}

/* =============================================================================
   5. AFFILIATE DISCLOSURE BAR
   ============================================================================= */
.bumply-disclosure-bar {
  background-color: var(--color-umber);
  color: rgba(250, 248, 244, 0.7);
  font-family: var(--font-body);
  font-size: max(11px, 0.6875rem);
  text-align: center;
  padding: 9px var(--space-6);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.bumply-disclosure-bar a {
  color: rgba(250, 248, 244, 0.55);
  text-decoration: underline;
  transition: color var(--transition-base);
}

.bumply-disclosure-bar a:hover { color: var(--color-cream); }

/* =============================================================================
   6. HEADER
   ============================================================================= */
.bumply-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-border);
  transition: box-shadow var(--transition-base);
}

.bumply-header.is-scrolled {
  box-shadow: 0 1px 20px rgba(44, 36, 25, 0.07);
}

.bumply-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 var(--space-8);
  height: 72px;
  gap: var(--space-8);
}

/* Hide the visible "Search" label - the icon + placeholder are enough */
.bumply-header .wp-block-search__label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Wordmark */

/* Brand lockup in the header (replaces the text site-title) */
.bumply-brand{display:block;flex:none;line-height:0;text-decoration:none}
.bumply-brand svg{display:block;height:52px;width:auto}
@media (max-width:900px){.bumply-brand svg{height:42px}}
@media (max-width:480px){.bumply-brand svg{height:34px}}

.bumply-header .wp-block-site-title,
.bumply-header .wp-block-site-title a {
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--color-umber);
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}

/* Desktop nav */
.bumply-header .wp-block-navigation {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.bumply-header .wp-block-navigation a,
.bumply-header .wp-block-navigation .wp-block-navigation-item__label {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate);
  text-decoration: none;
  transition: color var(--transition-base);
}

.bumply-header .wp-block-navigation a:hover,
.bumply-header .wp-block-navigation .wp-block-navigation-item:hover > a {
  color: var(--color-umber);
  text-decoration: none;
}

/* Three-pillar dropdown submenus */
.bumply-header .wp-block-navigation .wp-block-navigation-submenu__toggle {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate);
}

.bumply-header .wp-block-navigation .wp-block-navigation__submenu-container {
  background-color: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: var(--space-2) 0;
  min-width: 220px;
  margin-top: var(--space-3);
}

.bumply-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block;
  padding: var(--space-3) var(--space-5);
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-slate);
  transition: background-color var(--transition-base), color var(--transition-base);
}

.bumply-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content {
  background-color: var(--color-cream-deep);
  color: var(--color-umber);
}

/* Hide submenu chevron arrow for a cleaner editorial look */
.bumply-header .wp-block-navigation .wp-block-navigation__submenu-icon {
  display: none;
}

/* Mega-menu centering.
   position:fixed is unreliable here: WordPress core's navigation block
   applies a transform on an ancestor, which "traps" fixed elements and
   demotes them to absolute relative to that ancestor - so the panel ends
   up anchored to its own <li> (far left for Pregnancy, mid-nav for For Him)
   instead of the viewport. Instead we anchor the panel to the centered
   header__inner: make header__inner the positioning context, force the
   menu <li> to be non-positioned so the containing block bubbles up to it,
   then center the absolutely-positioned panel under the header. This never
   touches the nav's flex layout. */
/* Anchor for the dropdown. We ONLY unposition the menu <li> (with !important
   to beat WordPress core) so the panel anchors to the nearest positioned
   ancestor above it - the nav container or header__inner - instead of the
   <li> itself. We do NOT touch the nav/container position: doing so scatters
   the flex items. header__inner:relative is a safe guaranteed anchor. */
.bumply-header__inner {
  position: relative;
}
/* Keep the nav container a tidy, unpositioned flex row: static so the panel
   anchors to header__inner (centered), flex so items never scatter. */
.bumply-header .wp-block-navigation .wp-block-navigation__container {
  position: static !important;
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--space-6);
  width: auto !important;
}
.bumply-header .wp-block-navigation .bumply-nav-mega {
  position: static !important;
}
.bumply-header .wp-block-navigation .bumply-nav-mega > .wp-block-navigation__submenu-container {
  position: absolute;
  top: 100%;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  margin-top: 0;
  width: max-content;
  max-width: calc(100vw - 48px);
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  column-gap: var(--space-8);
  row-gap: var(--space-2);
  padding: var(--space-6) var(--space-8);
}
.bumply-header .wp-block-navigation .bumply-nav-mega > .wp-block-navigation__submenu-container .wp-block-navigation-item {
  width: auto;
}
.bumply-header .wp-block-navigation .bumply-nav-mega > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: var(--space-2) 0;
  font-size: 18px;
  line-height: 1.4;
  white-space: nowrap;
  border-radius: var(--radius-sm);
}

/* For Him: deep mega-menu with 6 category groups (3×2 grid), centered */
.bumply-header .wp-block-navigation .bumply-nav-for-him > .wp-block-navigation__submenu-container {
  width: 720px;
  max-width: calc(100vw - 48px);
  display: grid;
  grid-template-rows: none;
  grid-auto-flow: row;
  grid-template-columns: repeat(3, 1fr);
  column-gap: var(--space-6);
  row-gap: var(--space-2);
  padding: var(--space-6);
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

/* Category groups inside For Him - override flyout, always show inline */
.bumply-nav-for-him > .wp-block-navigation__submenu-container > .wp-block-navigation-item.has-child {
  position: static;
  padding: var(--space-3);
}

/* The nested submenu (subcategory list) - force inline, not flyout */
.bumply-nav-for-him > .wp-block-navigation__submenu-container > .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
  position: static !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
  padding: var(--space-1) 0 0 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

/* Category heading labels inside For Him groups */
.bumply-nav-for-him > .wp-block-navigation__submenu-container > .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
  font-family: var(--font-body) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--color-umber) !important;
  padding: var(--space-1) 0 var(--space-2) 0 !important;
  display: block;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-2);
  cursor: default;
}

.bumply-nav-for-him > .wp-block-navigation__submenu-container > .wp-block-navigation-item.has-child > .wp-block-navigation-item__content:hover {
  background: transparent !important;
  color: var(--color-umber) !important;
}

/* Sub-items inside For Him */
.bumply-nav-for-him > .wp-block-navigation__submenu-container > .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: var(--color-slate) !important;
  padding: 4px 0 !important;
  display: block;
  background: transparent !important;
  border-radius: 0 !important;
}

.bumply-nav-for-him > .wp-block-navigation__submenu-container > .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content {
  color: var(--color-umber) !important;
  background: transparent !important;
}

/* ── FOR HIM HUB PAGE ── */
.bumply-for-him-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 1024px) {
  .bumply-for-him-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .bumply-for-him-grid { grid-template-columns: 1fr; }
}

.bumply-for-him-tile {
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 12px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow var(--transition-base), border-color var(--transition-base);
}

.bumply-for-him-tile:hover {
  box-shadow: 0 6px 24px rgba(44, 36, 25, 0.09);
  border-color: var(--color-umber);
}

.bumply-for-him-tile__heading {
  font-family: var(--font-heading);
  font-size: 1.375rem;
  font-weight: 400;
  color: var(--color-umber);
  margin: 0;
  line-height: 1.2;
}

.bumply-for-him-tile__desc {
  font-size: 18px;
  color: var(--color-muted);
  line-height: 1.6;
  margin: 0;
}

.bumply-for-him-tile__links {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--color-border);
  padding-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.bumply-for-him-tile__links a {
  font-size: 18px;
  color: var(--color-slate);
  text-decoration: none;
  transition: color var(--transition-base);
  display: flex;
  align-items: center;
  gap: 4px;
}

.bumply-for-him-tile__links a::before {
  content: '→';
  font-size: 16px;
  color: var(--color-muted);
  flex-shrink: 0;
}

.bumply-for-him-tile__links a:hover {
  color: var(--color-umber);
}

.bumply-for-him-tile__cta {
  margin-top: auto;
  padding-top: 12px;
}

.bumply-for-him-tile__number {
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 300;
  color: var(--color-border);
  line-height: 1;
  margin-bottom: 4px;
}

/* Mobile nav collapsible groups (folded by default) */
.bumply-mobile-nav__hint {
  font-family: var(--font-body);
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin: 0 0 var(--space-3);
}

.bumply-mobile-nav__group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-4) 0;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.1;
  color: var(--color-umber);
  text-align: left;
  transition: color var(--transition-base);
}

.bumply-mobile-nav__group:hover { color: var(--color-rose); }

.bumply-mobile-nav__chevron {
  flex-shrink: 0;
  margin-left: var(--space-4);
  color: var(--color-rose);
  transition: transform var(--transition-base);
}

.bumply-mobile-nav__group[aria-expanded="true"] .bumply-mobile-nav__chevron {
  transform: rotate(180deg);
}

.bumply-mobile-nav__panel[hidden] { display: none; }

.bumply-mobile-nav__panel {
  padding: var(--space-2) 0 var(--space-3) var(--space-4);
}

.bumply-mobile-nav__panel a {
  font-size: 1.25rem;
  padding: var(--space-3) 0;
}

.bumply-mobile-nav__label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #B55376;
  margin: var(--space-3) 0 0;
  padding: 0;
}

/* Header actions (search + hamburger) */
.bumply-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-shrink: 0;
}

/* Seamless embedded search bar */
.bumply-header .wp-block-search {
  display: flex;
  align-items: center;
}
.bumply-header .wp-block-search__inside-wrapper {
  display: flex;
  align-items: center;
  background: var(--color-cream-deep);
  border: 1px solid transparent;
  border-radius: 100px;
  padding: 6px 14px;
  gap: 6px;
  transition: border-color 0.2s, background 0.2s;
}
.bumply-header .wp-block-search__inside-wrapper:focus-within {
  background: #fff;
  border-color: var(--color-border);
}
.bumply-header .wp-block-search__input {
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  font-family: var(--font-body);
  font-size: 18px;
  letter-spacing: 0.04em;
  color: var(--color-umber);
  width: 140px;
  padding: 0;
}
.bumply-header .wp-block-search__input::placeholder {
  color: var(--color-muted);
}
.bumply-header .wp-block-search__button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--color-slate);
  display: flex;
  align-items: center;
  line-height: 1;
}
.bumply-header .wp-block-search__button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: var(--color-slate);
  stroke-width: 2;
}

/* Hamburger */
.bumply-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.bumply-hamburger span {
  display: block;
  height: 1.5px;
  width: 100%;
  background-color: var(--color-umber);
  border-radius: 2px;
  transition: all var(--transition-base);
}

/* Mobile nav overlay */
.bumply-mobile-nav {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: var(--color-cream);
  z-index: 200;
  padding: var(--space-16) var(--space-8) var(--space-8);
  overflow-y: auto;
}

.bumply-mobile-nav.is-open { display: block; }

.bumply-mobile-nav a {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 400;
  color: var(--color-umber);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-border);
  text-decoration: none;
  transition: color var(--transition-base);
}

.bumply-mobile-nav a:hover { color: var(--color-rose); }

.bumply-mobile-nav__close {
  position: absolute;
  top: var(--space-5);
  right: var(--space-6);
  background: none;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
  color: var(--color-muted);
  transition: color var(--transition-base);
}

.bumply-mobile-nav__close:hover { color: var(--color-umber); }

/* =============================================================================
   7. HERO - Editorial full-bleed
   ============================================================================= */
.bumply-hero {
  background-color: var(--color-cream);
  padding: var(--space-24) 0 var(--space-18);
  position: relative;
  overflow: hidden;
}

/* Subtle texture overlay */
.bumply-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 50%, rgba(184, 147, 90, 0.06) 0%, transparent 60%),
              radial-gradient(ellipse at 20% 80%, rgba(143, 168, 130, 0.05) 0%, transparent 50%);
  pointer-events: none;
}

.bumply-hero__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--space-6);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: center;
  position: relative;
}

.bumply-hero__content { max-width: 560px; }

.bumply-hero__kicker {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-rose);
  margin-bottom: var(--space-4);
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.bumply-hero__kicker::before {
  content: '';
  display: block;
  width: 24px;
  height: 1px;
  background-color: var(--color-rose);
}

.bumply-hero__headline {
  font-family: var(--font-heading);
  font-size: clamp(2.75rem, 5.5vw, 4.25rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--color-umber);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-5);
}

.bumply-hero__headline em {
  font-style: italic;
  color: var(--color-rose);
}

.bumply-hero__subhead {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--color-slate);
  line-height: 1.75;
  margin-bottom: var(--space-8);
  max-width: 440px;
}

.bumply-hero__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-bottom: var(--space-8);
}

.bumply-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px var(--space-6);
  border-radius: var(--radius-xs);
  transition: all var(--transition-base);
  cursor: pointer;
  border: 1px solid transparent;
}

.bumply-btn--primary {
  background-color: var(--color-umber);
  color: var(--color-cream);
  border-color: var(--color-umber);
}

.bumply-btn--primary:hover {
  background-color: var(--color-slate);
  border-color: var(--color-slate);
  color: var(--color-cream);
  text-decoration: none;
}

.bumply-btn--outline {
  background-color: transparent;
  color: var(--color-umber);
  border-color: var(--color-umber);
}

.bumply-btn--outline:hover {
  background-color: var(--color-umber);
  color: var(--color-cream);
  text-decoration: none;
}

.bumply-btn--ghost {
  background: none;
  border: none;
  color: var(--color-slate);
  padding-left: 0;
  padding-right: 0;
  font-size: 18px;
  letter-spacing: 0.08em;
}

.bumply-btn--ghost:hover {
  color: var(--color-umber);
  text-decoration: none;
}

/* Trust row */
/* Hero hint - gentle prompt pointing to the stage strip below */
.bumply-hero__hint {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-rose);
  margin-bottom: var(--space-6);
}

.bumply-hero__trust {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  flex-wrap: wrap;
}

.bumply-hero__trust-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-muted);
  letter-spacing: 0.04em;
}

.bumply-hero__trust-item::before {
  content: '✓';
  color: var(--color-sage);
  font-weight: 600;
  font-size: 18px;
}

/* Hero visual */
.bumply-hero__visual {
  position: relative;
}

.bumply-hero__image-frame {
  aspect-ratio: 4 / 5;
  background: linear-gradient(145deg, var(--color-cream-deep) 0%, var(--color-cream-mid) 100%);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.bumply-hero__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Editable hero photo - fills the frame; the cream gradient shows through
   as a placeholder until a real image is added in the Site Editor. */
.bumply-hero__photo {
  margin: 0;
  width: 100%;
  height: 100%;
}

.bumply-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bumply-hero__image-frame img:not([src]),
.bumply-hero__image-frame img[src=""] {
  display: none;
}

/* Floating stat card */
.bumply-hero__stat {
  position: absolute;
  bottom: -var(--space-5);
  left: -var(--space-8);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4) var(--space-5);
  box-shadow: var(--shadow-lg);
  min-width: 140px;
}

.bumply-hero__stat-number {
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--color-umber);
  line-height: 1;
  margin-bottom: 4px;
}

.bumply-hero__stat-label {
  font-family: var(--font-body);
  font-size: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-muted);
}

/* =============================================================================
   8. STAGE STRIP
   ============================================================================= */
.bumply-stage-strip {
  background-color: var(--color-white);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.bumply-stage-strip::-webkit-scrollbar { display: none; }

.bumply-stage-strip__inner {
  display: flex;
  align-items: stretch;
  justify-content: center;
  max-width: 1180px;
  margin: 0 auto;
}

.bumply-stage-strip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px 16px;
  text-decoration: none;
  border-right: 1px solid var(--color-border);
  flex: 1;
  min-width: 110px;
  max-width: 160px;
  transition: background-color var(--transition-fast);
}

.bumply-stage-strip__item:last-child { border-right: none; }

.bumply-stage-strip__item:hover {
  background-color: var(--color-cream-deep);
  text-decoration: none;
}

.bumply-stage-strip__icon-wrap {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background-color: #EFF0F1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  transition: background-color var(--transition-fast);
}

.bumply-stage-strip__item:hover .bumply-stage-strip__icon-wrap {
  background-color: #E4E5E7;
}

.bumply-stage-strip__icon {
  width: 72px;
  height: 72px;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.bumply-stage-strip__label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--color-slate);
  text-align: center;
  line-height: 1.3;
  transition: color var(--transition-fast);
}

.bumply-stage-strip__item:hover .bumply-stage-strip__label {
  color: var(--color-umber);
}

/* =============================================================================
   9. SECTION HEADERS
   ============================================================================= */
.bumply-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: var(--space-10);
  gap: var(--space-6);
}

.bumply-section-header__title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.375rem);
  color: var(--color-umber);
  font-weight: 400;
  margin: 0;
  line-height: 1.15;
}

.bumply-section-header__link {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-muted);
  white-space: nowrap;
  text-decoration: none;
  transition: color var(--transition-base);
  flex-shrink: 0;
}

.bumply-section-header__link:hover { color: var(--color-umber); }

/* =============================================================================
   10. ARTICLE CARD (.bumply-card)
   ============================================================================= */
.bumply-card {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Stretched link: make the whole card clickable via the title's permalink */
.bumply-card__title a::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}
/* Keep category tag links clickable above the card overlay */
.bumply-card__category a {
  position: relative;
  z-index: 2;
}

.bumply-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.bumply-card__thumbnail {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, var(--color-cream-deep) 0%, var(--color-cream-mid) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  flex-shrink: 0;
}

.bumply-card__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform var(--transition-slow);
}

.bumply-card:hover .bumply-card__thumbnail img {
  transform: scale(1.03);
}

.bumply-card__body {
  padding: var(--space-5) var(--space-6) var(--space-6);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bumply-card__category {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background-color: var(--color-sage-15);
  color: var(--color-sage);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: var(--space-3);
}

.bumply-card__title {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--color-umber);
  line-height: 1.25;
  margin-bottom: var(--space-3);
  flex: 1;
}

.bumply-card__title a {
  color: inherit;
  text-decoration: none;
}

.bumply-card__title a:hover { color: var(--color-rose); text-decoration: none; }

.bumply-card__excerpt {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-body);
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: var(--space-4);
}

.bumply-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.bumply-card__meta {
  font-family: var(--font-body);
  font-size: max(11px, 0.6875rem);
  color: var(--color-muted);
}

.bumply-card__meta span + span::before { content: ' · '; }

.bumply-card__read-more {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--color-rose);
  text-decoration: none;
  transition: color var(--transition-base);
}

.bumply-card__read-more:hover { color: var(--color-umber); text-decoration: none; }

/* Card - featured (large horizontal) */
.bumply-card--featured {
  flex-direction: row;
  border-radius: var(--radius-xl);
}

.bumply-card--featured .bumply-card__thumbnail {
  aspect-ratio: unset;
  width: 50%;
  flex-shrink: 0;
}

.bumply-card--featured .bumply-card__title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}

/* =============================================================================
   11. PRODUCT CARD (.bumply-product-card)
   ============================================================================= */
.bumply-product-card {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  display: flex;
  flex-direction: column;
}

.bumply-product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

.bumply-product-card__image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: var(--color-cream-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
}

.bumply-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Editable card images - figure fills the frame; empty images fall back to
   the container's placeholder background until a photo is added. */
.bumply-product-card__image .wp-block-image,
.bumply-beauty-card__image .wp-block-image,
.bumply-outfit-card__image .wp-block-image {
  margin: 0;
  width: 100%;
  height: 100%;
}

.bumply-product-card__image .wp-block-image img,
.bumply-beauty-card__image .wp-block-image img,
.bumply-outfit-card__image .wp-block-image img {
  width: 100%;
  height: 100%;
}

.bumply-product-card__image img:not([src]),
.bumply-product-card__image img[src=""],
.bumply-beauty-card__image img:not([src]),
.bumply-beauty-card__image img[src=""],
.bumply-outfit-card__image img:not([src]),
.bumply-outfit-card__image img[src=""] {
  display: none;
}

.bumply-product-card__body {
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bumply-product-card__brand {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-bottom: var(--space-2);
}

.bumply-product-card__name {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--color-umber);
  line-height: 1.3;
  margin-bottom: var(--space-3);
}

.bumply-product-card__desc {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-muted);
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: var(--space-4);
  flex: 1;
}

.bumply-product-card__price {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  color: var(--color-umber);
  margin-bottom: var(--space-3);
}

.bumply-product-card__stars {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.bumply-product-card__stars .stars { color: var(--color-gold); font-size: 16px; }
.bumply-product-card__stars .count {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-muted);
}

.bumply-product-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: var(--space-4);
}

.bumply-product-card__badge {
  display: inline-block;
  background-color: var(--color-sage-15);
  color: var(--color-sage);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
}

.bumply-product-card__cta {
  display: block;
  width: 100%;
  background-color: var(--color-umber);
  color: var(--color-cream);
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  padding: 13px var(--space-5);
  border: none;
  border-radius: var(--radius-xs);
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--transition-base);
  margin-bottom: var(--space-3);
}

.bumply-product-card__cta:hover {
  background-color: var(--color-slate);
  text-decoration: none;
  color: var(--color-cream);
}

.bumply-product-card__disclosure {
  font-family: var(--font-body);
  font-size: 16px;
  font-style: italic;
  color: var(--color-muted);
  text-align: center;
  margin: 0;
}

/* =============================================================================
   12. STAGE CARDS (.bumply-stage-card)
   ============================================================================= */
.bumply-stage-card {
  position: relative;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-8) var(--space-6);
  overflow: hidden;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.bumply-stage-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background-color: var(--color-rose);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform var(--transition-base);
}

.bumply-stage-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.bumply-stage-card:hover::before { transform: scaleY(1); }

.bumply-stage-card__emoji {
  font-size: 2rem;
  margin-bottom: var(--space-4);
  display: block;
  line-height: 1;
}

.bumply-stage-card__label {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-rose);
  margin-bottom: var(--space-2);
  display: block;
}

.bumply-stage-card__title {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--color-umber);
  margin-bottom: var(--space-3);
  line-height: 1.2;
}

.bumply-stage-card__desc {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--color-muted);
  line-height: 1.65;
  margin-bottom: var(--space-5);
}

.bumply-stage-card__cta {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate);
  text-decoration: none;
  transition: color var(--transition-base);
}

.bumply-stage-card__cta:hover { color: var(--color-umber); text-decoration: none; }

/* =============================================================================
   13. COMPARISON TABLE (.bumply-comparison)
   ============================================================================= */
.bumply-comparison { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.bumply-comparison table { width: 100%; border-collapse: collapse; font-family: var(--font-body); }

.bumply-comparison thead th {
  background-color: var(--color-umber);
  color: var(--color-cream);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: var(--space-4) var(--space-5);
  text-align: left;
}

.bumply-comparison tbody tr:nth-child(even) { background-color: var(--color-cream); }
.bumply-comparison tbody tr:nth-child(odd)  { background-color: var(--color-white); }

.bumply-comparison tbody td {
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--color-border);
  font-size: 18px;
  color: var(--color-body);
}

.bumply-comparison tbody td:first-child {
  font-family: var(--font-heading);
  font-size: 16px;
  color: var(--color-umber);
}

.bumply-comparison .check { color: var(--color-sage); font-weight: 600; }
.bumply-comparison .cross { color: var(--color-rose); font-weight: 600; }

/* =============================================================================
   14. TRIMESTER CHECKLIST (.bumply-checklist)
   ============================================================================= */
.bumply-checklist { list-style: none; padding: 0; margin: 0; }

.bumply-checklist li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border);
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-body);
  line-height: 1.6;
}

.bumply-checklist li:last-child { border-bottom: none; }

/* =============================================================================
   15. EXPERT QUOTE (.bumply-expert-quote)
   ============================================================================= */
.bumply-expert-quote {
  background-color: var(--color-cream-deep);
  border-left: 3px solid var(--color-rose);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: var(--space-6) var(--space-8);
  margin: var(--space-8) 0;
}

.bumply-expert-quote__text {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-style: italic;
  color: var(--color-umber);
  line-height: 1.55;
  margin-bottom: var(--space-5);
}

.bumply-expert-quote__author {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.bumply-expert-quote__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(200, 137, 122, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  color: var(--color-rose);
  flex-shrink: 0;
}

.bumply-expert-quote__name {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  color: var(--color-umber);
  margin-bottom: 3px;
}

.bumply-expert-quote__credentials {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-muted);
}

/* =============================================================================
   16. BREADCRUMB (.bumply-breadcrumb)
   ============================================================================= */
.bumply-breadcrumb {
  font-family: var(--font-body);
  font-size: max(11px, 0.6875rem);
  color: var(--color-muted);
  margin-bottom: var(--space-6);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.bumply-breadcrumb a { color: var(--color-muted); text-decoration: none; }
.bumply-breadcrumb a:hover { color: var(--color-umber); }
.bumply-breadcrumb span { color: var(--color-umber); }

/* =============================================================================
   17. AUTHOR BIO (.bumply-author-bio)
   ============================================================================= */
.bumply-author-bio {
  background-color: var(--color-cream-deep);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-8);
  display: flex;
  gap: var(--space-6);
  align-items: flex-start;
  margin-top: var(--space-12);
}

.bumply-author-bio__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background-color: var(--color-cream-mid);
}

.bumply-author-bio__name {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--color-umber);
  margin-bottom: 4px;
}

.bumply-author-bio__title {
  font-family: var(--font-body);
  font-size: 18px;
  letter-spacing: 0.08em;
  color: var(--color-muted);
  margin-bottom: var(--space-3);
  text-transform: uppercase;
}

.bumply-author-bio__bio {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-body);
  line-height: 1.7;
  margin: 0;
}

/* =============================================================================
   18. NEWSLETTER (.bumply-newsletter)
   ============================================================================= */
.bumply-newsletter {
  background-color: #E8DF72;
  border-radius: var(--radius-xl);
  padding: var(--space-12) var(--space-10);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-10);
  align-items: center;
}

.bumply-newsletter__eyebrow {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(19, 29, 39, 0.66);
  margin-bottom: var(--space-3);
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.bumply-newsletter__eyebrow::before {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background-color: rgba(19, 29, 39, 0.66);
}

.bumply-newsletter__headline {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  color: var(--color-umber);
  line-height: 1.15;
  margin-bottom: var(--space-3);
  letter-spacing: -0.01em;
}

.bumply-newsletter__subtext {
  font-family: var(--font-body);
  font-size: 18px;
  color: rgba(19, 29, 39, 0.74);
  line-height: 1.7;
  margin: 0;
}

.bumply-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.bumply-newsletter__label {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(19, 29, 39, 0.62);
  margin-bottom: var(--space-1);
}

.bumply-newsletter__input {
  width: 100%;
  padding: 14px var(--space-4);
  background-color: #FFFFFF;
  border: 1px solid rgba(19, 29, 39, 0.22);
  border-radius: 999px;
  color: var(--color-umber);
  font-family: var(--font-body);
  font-size: 18px;
  transition: border-color var(--transition-base);
}

.bumply-newsletter__input::placeholder { color: rgba(19, 29, 39, 0.55); }

.bumply-newsletter__input:focus {
  outline: none;
  border-color: rgba(19, 29, 39, 0.5);
}

.bumply-newsletter__btn {
  width: 100%;
  background-color: var(--color-umber);
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  padding: 14px var(--space-5);
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color var(--transition-base);
}

.bumply-newsletter__btn:hover { background-color: #22303D; }

.bumply-newsletter__note {
  font-family: var(--font-body);
  font-size: 18px;
  color: rgba(19, 29, 39, 0.55);
  text-align: center;
}

/* =============================================================================
   19. TRUST SECTION
   ============================================================================= */
.bumply-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background-color: var(--color-border);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.bumply-trust__item {
  background-color: var(--color-white);
  padding: var(--space-8) var(--space-6);
  text-align: center;
}

.bumply-trust__icon {
  font-size: 1.5rem;
  margin-bottom: var(--space-4);
  display: block;
}

.bumply-trust__title {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  color: var(--color-umber);
  margin-bottom: var(--space-2);
}

.bumply-trust__desc {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-body);
  line-height: 1.7;
  margin: 0;
}

/* =============================================================================
   20. INLINE DISCLOSURE (.bumply-disclosure)
   ============================================================================= */
.bumply-disclosure {
  background-color: var(--color-cream-deep);
  border-left: 3px solid var(--color-border);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: var(--space-4) var(--space-5);
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--color-muted);
  line-height: 1.6;
  margin: var(--space-6) 0;
}

.bumply-disclosure a { color: var(--color-body); }
.bumply-disclosure a:hover { color: var(--color-umber); }

/* =============================================================================
   21. FOOTER
   ============================================================================= */
.bumply-footer {
  background-color: var(--color-umber);
  padding: 64px 0 32px;
  margin-top: var(--space-18);
}

/* Newsletter signup band, sits at the top of the footer on every page.
   Uses its own bumply-foot-news namespace so it never collides with the
   front-page ".bumply-newsletter" Weekly Edit band. */
.bumply-foot-news {
  max-width: 1180px;
  margin: 0 auto var(--space-12);
  padding: 32px var(--space-6) 36px;
  border-bottom: 1px solid rgba(250, 248, 244, 0.08);
  text-align: center;
}
.bumply-foot-news__heading {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  line-height: 1.25;
  color: #FAFAFA;
  margin: 0 0 8px;
}
.bumply-foot-news__sub {
  font-size: 0.98rem;
  line-height: 1.6;
  color: rgba(250, 248, 244, 0.72);
  max-width: 520px;
  margin: 0 auto 20px;
}
.bumply-foot-news__form {
  display: flex;
  gap: 10px;
  max-width: 520px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: center;
}
.bumply-foot-news__form input[type="email"] {
  flex: 1 1 260px;
  min-width: 0;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid rgba(250, 248, 244, 0.25);
  background: rgba(250, 248, 244, 0.06);
  color: #FAFAFA;
  font-size: 0.95rem;
}
.bumply-foot-news__form input[type="email"]::placeholder { color: rgba(250, 248, 244, 0.5); }
.bumply-foot-news__form button {
  flex: 0 0 auto;
  background: #D2829E;
  color: #121B25;
  border: none;
  border-radius: 8px;
  padding: 12px 26px;
  font-weight: 600;
  cursor: pointer;
}
.bumply-foot-news__form button:hover { background: #CF86A2; }
.bumply-foot-news__thanks {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  color: #FAFAFA;
  margin: 0 auto;
}
.bumply-foot-news__fineprint {
  font-size: 0.78rem;
  color: rgba(250, 248, 244, 0.5);
  margin: 14px 0 0;
}
.bumply-foot-news__fineprint a {
  color: #CF86A2;
  text-decoration: underline;
}

.bumply-footer__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.bumply-footer__top {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--space-16);
  margin-bottom: var(--space-12);
  padding-bottom: var(--space-10);
  border-bottom: 1px solid rgba(250, 248, 244, 0.08);
}

.bumply-footer__brand {
  flex-shrink: 0;
}

.bumply-footer__cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-8);
}

.bumply-footer__col {
  min-width: 0;
}

.bumply-footer__logo {
  font-family: var(--font-heading);
  font-size: 26px;
  font-weight: 400;
  color: var(--color-cream);
  display: block;
  margin-bottom: var(--space-4);
  text-decoration: none;
  letter-spacing: 0.02em;
}

.bumply-footer__tagline {
  font-family: var(--font-body);
  font-size: 16px;
  color: rgba(250, 248, 244, 0.45);
  line-height: 1.7;
  margin-bottom: var(--space-6);
  max-width: 260px;
}

.bumply-footer__socials {
  display: flex;
  gap: var(--space-4);
}

.bumply-footer__socials a {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(250, 248, 244, 0.4);
  text-decoration: none;
  transition: color var(--transition-base);
}

.bumply-footer__socials a:hover { color: var(--color-cream); }

.bumply-footer__col-heading {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(250, 248, 244, 0.3);
  margin-bottom: var(--space-5);
  display: block;
}

.bumply-footer__nav { list-style: none; padding: 0; margin: 0; }
.bumply-footer__nav li { margin-bottom: var(--space-3); }

.bumply-footer__nav a,
.bumply-footer .wp-block-navigation a {
  font-family: var(--font-body);
  font-size: 16px;
  color: rgba(250, 248, 244, 0.5);
  text-decoration: none;
  transition: color var(--transition-base);
  line-height: 1.5;
}

.bumply-footer__nav a:hover,
.bumply-footer .wp-block-navigation a:hover {
  color: var(--color-cream);
  text-decoration: none;
}

.bumply-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.bumply-footer__copyright {
  font-family: var(--font-body);
  font-size: 18px;
  color: rgba(250, 248, 244, 0.25);
  margin: 0;
}

.bumply-footer__legal {
  display: flex;
  gap: var(--space-5);
}

.bumply-footer__legal a {
  font-family: var(--font-body);
  font-size: 18px;
  color: rgba(250, 248, 244, 0.25);
  text-decoration: none;
  transition: color var(--transition-base);
}

.bumply-footer__legal a:hover { color: rgba(250, 248, 244, 0.6); }

/* =============================================================================
   22. RESPONSIVE
   ============================================================================= */
@media (max-width: 1280px) {
  .bumply-footer__top { grid-template-columns: 180px 1fr; gap: var(--space-10); }
  .bumply-footer__cols { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
  .bumply-hero__inner { grid-template-columns: 1fr; gap: var(--space-10); }
  .bumply-hero__visual { display: none; }
  .bumply-hero__content { max-width: 100%; }
  .bumply-newsletter { grid-template-columns: 1fr; gap: var(--space-8); }
  .bumply-trust { grid-template-columns: 1fr; }
  .bumply-trust__item { border-bottom: 1px solid var(--color-border); }
  .bumply-card--featured { flex-direction: column; }
  .bumply-card--featured .bumply-card__thumbnail { width: 100%; }
}

@media (max-width: 768px) {
  .bumply-hamburger { display: flex; }
  .bumply-header .wp-block-navigation,
  .bumply-header .bumply-nav { display: none; }
  .bumply-header .wp-block-search { display: none; }
  .bumply-stage-strip { overflow-x: visible; }
  .bumply-stage-strip__inner { flex-wrap: wrap; justify-content: center; }
  .bumply-stage-strip__item { flex: 0 0 33.333%; max-width: 33.333%; min-width: 0; padding: 16px 8px; border-right: none; }
  .bumply-stage-strip__label { white-space: normal; font-size: .72rem; line-height: 1.2; }
  .bumply-header__inner { padding: 0 var(--space-5); }
  .bumply-footer__top { grid-template-columns: 1fr; gap: var(--space-6); }
  .bumply-footer__cols { grid-template-columns: 1fr 1fr; }
  .bumply-author-bio { flex-direction: column; }
  .bumply-section-header { flex-direction: column; align-items: flex-start; }
  .bumply-newsletter { padding: var(--space-8) var(--space-6); }
  .section { padding-top: var(--space-12); padding-bottom: var(--space-12); }
}

@media (max-width: 480px) {
  html, body { overflow-x: hidden; }
  .bumply-footer__top { grid-template-columns: 1fr; gap: var(--space-5); }
  .bumply-footer__cols { grid-template-columns: 1fr; }
  .bumply-footer__bottom { flex-direction: column; text-align: center; }
  .bumply-footer__legal { justify-content: center; }
  .section { padding-top: var(--space-10); padding-bottom: var(--space-10); }
  .bumply-stage-strip__item { min-width: 100px; padding: var(--space-4); }
  .bumply-hero { padding: var(--space-12) 0; }
}

/* =============================================================================
   22B. FOURTH TRIMESTER & EDITORIAL COMPONENTS
   ============================================================================= */

/* Section hero - used on Fourth Trimester, Fashion, Beauty hub pages */
.bumply-section-hero {
  padding: 80px 0 64px;
  position: relative;
}
.bumply-section-hero--fourth {
  background-color: var(--color-umber);
  color: var(--color-cream);
}
.bumply-section-hero--fashion {
  background-color: var(--color-cream-deep);
}
.bumply-section-hero--beauty {
  background-color: var(--color-cream-mid);
}
.bumply-section-hero__inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}
.bumply-section-hero--fourth .bumply-section-hero__inner h1,
.bumply-section-hero--fourth .bumply-section-hero__inner h2,
.bumply-section-hero--fashion .bumply-section-hero__inner h1,
.bumply-section-hero--fashion .bumply-section-hero__inner h2,
.bumply-section-hero--beauty .bumply-section-hero__inner h1,
.bumply-section-hero--beauty .bumply-section-hero__inner h2 {
  color: var(--color-cream) !important;
}
.bumply-section-hero--fourth .bumply-section-hero__inner p,
.bumply-section-hero--fashion .bumply-section-hero__inner p,
.bumply-section-hero--beauty .bumply-section-hero__inner p {
  color: rgba(250,248,244,0.8) !important;
}

/* Pill nav - category anchor links at top of hub pages */
.bumply-pill-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding: 32px 24px;
}
.bumply-pill {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-umber);
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 100px;
  padding: 8px 18px;
  text-decoration: none;
  transition: all var(--transition-base);
  white-space: nowrap;
}
.bumply-pill:hover,
.bumply-pill--active {
  background-color: var(--color-umber);
  color: var(--color-cream);
  border-color: var(--color-umber);
}
.bumply-pill--rose {
  border-color: var(--color-rose);
  color: var(--color-rose);
}
.bumply-pill--rose:hover {
  background-color: var(--color-rose);
  color: var(--color-white);
  border-color: var(--color-rose);
}

/* TTC stats strip */
.bumply-ttc-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.bumply-ttc-stats__item {
  padding: 28px 32px;
  text-align: center;
  border-right: 1px solid #E4E5E7;
}
.bumply-ttc-stats__item:last-child {
  border-right: none;
}
.bumply-ttc-stats__number {
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-weight: 600;
  color: #131D27;
  line-height: 1;
}
.bumply-ttc-stats__label {
  font-size: 0.8125rem;
  color: #7C8792;
  margin-top: 8px;
  line-height: 1.55;
}

@media (max-width: 600px) {
  .bumply-ttc-stats {
    grid-template-columns: 1fr;
  }
  .bumply-ttc-stats__item {
    border-right: none;
    border-bottom: 1px solid #E4E5E7;
    padding: 20px 24px;
  }
  .bumply-ttc-stats__item:last-child {
    border-bottom: none;
  }
}

/* Editorial card - large featured content card */
.bumply-editorial-card {
  position: relative;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 320px;
  text-decoration: none;
  transition: box-shadow var(--transition-base);
}
.bumply-editorial-card:hover {
  box-shadow: 0 8px 32px rgba(44,36,25,0.1);
}
.bumply-editorial-card--tall {
  grid-template-columns: 1fr;
  min-height: 420px;
}
.bumply-editorial-card--dark {
  background-color: var(--color-umber);
  border-color: var(--color-umber);
}
.bumply-editorial-card__image {
  background: linear-gradient(135deg, var(--color-cream-deep) 0%, var(--color-cream-mid) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  overflow: hidden;
}
.bumply-editorial-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bumply-editorial-card--tall .bumply-editorial-card__image {
  min-height: 220px;
}
.bumply-editorial-card__body {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bumply-editorial-card--dark .bumply-editorial-card__body {
  color: var(--color-cream);
}
.bumply-editorial-card__eyebrow {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-rose);
  margin-bottom: 12px;
}
.bumply-editorial-card--dark .bumply-editorial-card__eyebrow {
  color: rgba(200,137,122,0.9);
}
.bumply-editorial-card__title {
  font-family: var(--font-heading);
  font-size: clamp(1.375rem, 2.5vw, 1.875rem);
  font-weight: 400;
  color: var(--color-umber);
  line-height: 1.25;
  margin-bottom: 12px;
}
.bumply-editorial-card--dark .bumply-editorial-card__title {
  color: var(--color-cream);
}
.bumply-editorial-card__desc {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-body);
  line-height: 1.7;
  margin-bottom: 20px;
}
.bumply-editorial-card--dark .bumply-editorial-card__desc {
  color: rgba(250,248,244,0.75);
}
/* Whole-card click: the single CTA link covers the card (no nested links, no markup change) */
.bumply-editorial-card__cta::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bumply-editorial-card__cta {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-rose);
  text-decoration: none;
}
.bumply-editorial-card--dark .bumply-editorial-card__cta {
  color: rgba(200,137,122,0.9);
}

/* Topic card - small grid cards for subtopic navigation */
.bumply-topic-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.bumply-topic-card {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 24px 20px;
  text-decoration: none;
  transition: all var(--transition-base);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bumply-topic-card:hover {
  border-color: var(--color-rose);
  box-shadow: 0 4px 16px rgba(200,137,122,0.12);
  transform: translateY(-2px);
}
.bumply-topic-card--cream {
  background-color: var(--color-cream);
}
.bumply-topic-card--dark {
  background-color: var(--color-umber);
  border-color: var(--color-umber);
}
.bumply-topic-card--dark:hover {
  box-shadow: 0 4px 16px rgba(44,36,25,0.25);
}
.bumply-topic-card--photo {
  position: relative;
  background-size: cover;
  background-position: center top;
  border: none;
  min-height: 480px;
  justify-content: flex-end;
  padding: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  gap: 6px;
}

.bumply-topic-card--photo .bumply-topic-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 20%, rgba(10,8,5,0.55) 60%, rgba(10,8,5,0.82) 100%);
  border-radius: var(--radius-lg);
  transition: opacity 0.3s;
}

.bumply-topic-card--photo:hover .bumply-topic-card__overlay {
  opacity: 0.85;
}

.bumply-topic-card--photo .bumply-topic-card__title,
.bumply-topic-card--photo .bumply-topic-card__cta {
  position: relative;
  z-index: 1;
  color: #fff;
  padding-left: 24px;
  padding-right: 24px;
}

.bumply-topic-card--photo .bumply-topic-card__title {
  font-family: var(--font-heading);
  font-size: 1.625rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  margin: 0;
}

.bumply-topic-card--photo .bumply-topic-card__cta {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  padding-bottom: 26px;
  transition: color 0.2s;
}

.bumply-topic-card--photo:hover .bumply-topic-card__cta {
  color: #fff;
}

.bumply-topic-card--photo:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.28);
}

.bumply-topic-card__emoji {
  font-size: 1.5rem;
  line-height: 1;
}
.bumply-topic-card__title {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--color-umber);
  line-height: 1.3;
  margin: 0;
}
.bumply-topic-card--dark .bumply-topic-card__title {
  color: var(--color-cream);
}
.bumply-topic-card__desc {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-body);
  line-height: 1.7;
  margin: 0;
}
.bumply-topic-card--dark .bumply-topic-card__desc {
  color: rgba(250,248,244,0.65);
}

/* Fashion outfit card */
.bumply-outfit-card {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--transition-base);
  text-decoration: none;
}
.bumply-outfit-card:hover {
  box-shadow: 0 6px 24px rgba(44,36,25,0.1);
}
.bumply-outfit-card__image {
  aspect-ratio: 3/4;
  background: linear-gradient(180deg, var(--color-cream-deep) 0%, var(--color-cream-mid) 100%);
  overflow: hidden;
  position: relative;
}
.bumply-outfit-card__image img {
  width: 100%; height: 100%; object-fit: cover;
}
.bumply-outfit-card__badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.bumply-outfit-card__badge {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 100px;
  background-color: var(--color-umber);
  color: var(--color-cream);
}
.bumply-outfit-card__badge--rose {
  background-color: var(--color-rose);
}
.bumply-outfit-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bumply-outfit-card__occasion {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.bumply-outfit-card__title {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  color: var(--color-umber);
  line-height: 1.3;
  margin: 0;
}
.bumply-outfit-card__meta {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-muted);
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.bumply-outfit-card__price {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  color: var(--color-umber);
  margin-top: auto;
  padding-top: 8px;
}

/* Beauty product card */
.bumply-beauty-card {
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--transition-base);
}
.bumply-beauty-card:hover {
  box-shadow: 0 6px 24px rgba(44,36,25,0.1);
}
.bumply-beauty-card__image {
  aspect-ratio: 1/1;
  background: linear-gradient(135deg, var(--color-cream-deep) 0%, var(--color-cream-mid) 100%);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
}
.bumply-beauty-card__image img {
  width: 100%; height: 100%; object-fit: contain; padding: 12px;
}
.bumply-beauty-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bumply-beauty-card__brand {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.bumply-beauty-card__name {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  color: var(--color-umber);
  line-height: 1.3;
  margin: 0;
}
.bumply-beauty-card__ingredients {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.bumply-beauty-card__ingredient {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 100px;
  border: 1px solid var(--color-border);
  color: var(--color-body);
}
.bumply-beauty-card__ingredient--safe {
  border-color: var(--color-sage);
  color: var(--color-sage);
}
.bumply-beauty-card__ingredient--avoid {
  border-color: #1F69B3;
  color: #1F69B3;
}
.bumply-beauty-card__safety {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--color-sage);
}
.bumply-beauty-card__safety--caution {
  color: var(--color-gold);
}
.bumply-beauty-card__price {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  color: var(--color-umber);
  margin-top: auto;
  padding-top: 4px;
}
.bumply-beauty-card__desc {
  font-family: var(--font-body);
  font-size: 18px;
  color: var(--color-muted);
  line-height: 1.6;
}

/* Responsive adjustments for editorial components */
@media (max-width: 1024px) {
  .bumply-topic-grid { grid-template-columns: repeat(2, 1fr); }
  .bumply-editorial-card { grid-template-columns: 1fr; }
  .bumply-editorial-card__image { min-height: 200px; }
}
@media (max-width: 768px) {
  .bumply-topic-grid { grid-template-columns: repeat(2, 1fr); }
  .bumply-section-hero { padding: 56px 0 40px; }
  .bumply-pill-nav { padding: 20px 16px; gap: 8px; }
}
@media (max-width: 480px) {
  .bumply-topic-grid { grid-template-columns: 1fr 1fr; }
}

/* =============================================================================
   23. ACCESSIBILITY
   ============================================================================= */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}

:focus-visible {
  outline: 2px solid var(--color-slate);
  outline-offset: 3px;
  border-radius: 2px;
}

/* =============================================================================
   24. PRINT
   ============================================================================= */
@media print {
  .bumply-header, .bumply-footer, .bumply-disclosure-bar,
  .bumply-newsletter, .bumply-hamburger, .bumply-mobile-nav { display: none !important; }
  body { background: white; color: #000; }
}

/* =============================================================================
   25. PREGNANCY WEEK BY WEEK (pwbw)
   ============================================================================= */
.pwbw-page {
  background: #FCFCFC;
}

.pwbw-tabs {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #E4E5E7;
  display: flex;
  gap: 0;
  justify-content: center;
}

.pwbw-tab {
  padding: 16px 32px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #131D27;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s, color 0.2s;
}

.pwbw-tab:hover {
  color: #B55376;
  border-bottom-color: #B55376;
}

.pwbw-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px 48px;
}

.pwbw-trimester {
  margin-bottom: 56px;
}

.pwbw-trimester-title {
  font-family: var(--font-heading);
  font-size: 1.625rem;
  font-weight: 400;
  color: #FAFAFA;
  margin: 0 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #131D27;
  padding: 16px 24px;
  border-radius: 10px 10px 0 0;
  letter-spacing: 0.01em;
}

.pwbw-trimester--first .pwbw-trimester-title { background: linear-gradient(135deg, #172839 0%, #223D58 100%); border-top: 3px solid #B55376; }
.pwbw-trimester--second .pwbw-trimester-title { background: linear-gradient(135deg, #182029 0%, #293440 100%); border-top: 3px solid #77A0C4; }
.pwbw-trimester--third .pwbw-trimester-title { background: linear-gradient(135deg, #132334 0%, #25384B 100%); border-top: 3px solid #8FBEE8; }

.pwbw-trimester-title span {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-family: var(--font-body);
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.8);
  padding: 4px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.18);
}

.pwbw-trimester .pwbw-grid {
  padding: 20px 0 0;
  gap: 14px;
  background: transparent;
  border: none;
}

.pwbw-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

/* --- CARD: tall editorial portrait --- */
.pwbw-card {
  position: relative;
  min-height: 320px;
  background: linear-gradient(160deg, #0D2339 0%, #1C3C5C 60%, #29537D 100%);
  background-size: cover;
  background-position: center;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px 20px;
  gap: 2px;
  transition: transform 0.3s cubic-bezier(0.22,1,0.36,1), box-shadow 0.3s;
}
/* cinematic bottom-to-top gradient overlay */
.pwbw-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,
    rgba(10,4,1,0.93) 0%,
    rgba(10,4,1,0.55) 38%,
    rgba(10,4,1,0.10) 68%,
    rgba(10,4,1,0.00) 100%);
  transition: opacity 0.3s;
}
.pwbw-card:hover {
  transform: scale(1.035) translateY(-5px);
  box-shadow: 0 24px 56px rgba(10,4,1,0.35);
}
.pwbw-card:hover::after { opacity: 0.82; }
.pwbw-card--due { box-shadow: 0 0 0 2.5px #B55376, 0 8px 28px rgba(200,137,122,0.2); }

/* plain trimester gradients (no photo yet) */
.pwbw-trimester--first  .pwbw-card--plain { background: linear-gradient(160deg, #092139 0%, #15406B 55%, #25507C 100%); }
.pwbw-trimester--second .pwbw-card--plain { background: linear-gradient(160deg, #121B25 0%, #233140 55%, #374553 100%); }
.pwbw-trimester--third  .pwbw-card--plain { background: linear-gradient(160deg, #0E1C2B 0%, #1B2F43 55%, #254361 100%); }

.pwbw-card__eyebrow {
  display: block;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  font-family: var(--font-body);
  position: relative;
  z-index: 1;
  line-height: 1;
  margin-bottom: 4px;
}
.pwbw-card__week {
  font-family: var(--font-heading);
  font-size: clamp(3rem, 4.5vw, 4.5rem);
  font-weight: 400;
  color: #fff;
  display: block;
  line-height: 0.88;
  position: relative;
  z-index: 1;
  letter-spacing: -0.02em;
}
.pwbw-card__label {
  font-size: 0.9rem;
  font-weight: 400;
  color: rgba(255,255,255,0.65);
  display: block;
  line-height: 1.4;
  position: relative;
  z-index: 1;
  margin-top: 8px;
  letter-spacing: 0.02em;
}

.pwbw-weeks {
  background: #FCFCFC;
}

/* --- Full-width split-panel week sections --- */
.pwbw-week {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 520px;
  border-bottom: 1px solid rgba(232,224,214,0.6);
}

/* Even weeks: flip panel order */
.pwbw-week--even .pwbw-week__visual { order: 2; }
.pwbw-week--even .pwbw-week__panel  { order: 1; }

.pwbw-week__visual {
  position: relative;
  min-height: 520px;
  overflow: hidden;
}
.pwbw-week__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(10,4,1,0.18);
}

/* Decorative week number for plain (no-image) panels */
.pwbw-week__visual--plain::before {
  content: attr(data-week);
  position: absolute;
  bottom: -20px;
  right: -10px;
  font-family: var(--font-heading);
  font-size: 18rem;
  font-weight: 300;
  color: rgba(255,255,255,0.05);
  line-height: 1;
  pointer-events: none;
  z-index: 1;
}

.pwbw-week__panel {
  background: #fff;
  padding: 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

.pwbw-week__header { display: flex; flex-direction: column; gap: 8px; }

.pwbw-week__number {
  font-family: var(--font-body);
  font-size: 0.9rem;
  color: #B55376;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  display: block;
}

.pwbw-week__title {
  font-family: var(--font-heading);
  font-size: clamp(3rem, 4vw, 4.5rem);
  font-weight: 300;
  margin: 0;
  color: #131D27;
  line-height: 0.95;
  letter-spacing: -0.02em;
}

.pwbw-week__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding-top: 20px;
  border-top: 1px solid #E9EAEB;
  margin-top: 4px;
}

.pwbw-week__col h3 {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8895A2;
  margin: 0 0 14px;
  font-family: var(--font-body);
}

.pwbw-week__col p {
  font-size: 1.125rem;
  line-height: 1.8;
  color: #273646;
  margin: 0;
}

.pwbw-week__milestone {
  background: #F8F8F8;
  border-left: 3px solid #B55376;
  border-radius: 0 6px 6px 0;
  padding: 18px 22px;
  font-size: 1.125rem;
  color: #131D27;
  line-height: 1.7;
}

@media (max-width: 600px) {
  .pwbw-tabs {
    justify-content: stretch;
  }
  .pwbw-tab {
    flex: 1 1 0;
    padding: 12px 4px;
    font-size: 12px;
    letter-spacing: 0.03em;
    text-align: center;
    white-space: normal;
    line-height: 1.25;
  }
  .pwbw-week__content {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .pwbw-week__img {
    display: flex;
    justify-content: center;
  }
  .pwbw-week__img > div {
    width: 140px !important;
    height: 160px !important;
  }
  .pwbw-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .pwbw-card { min-height: 220px; }
  /* Mobile: the image becomes the backdrop for the week label + title, with a
     bottom-up scrim for readability; the body text sits below on white so it
     never overlaps the photo and stays easy to read. */
  .pwbw-week {
    grid-template-columns: 1fr;
    position: relative;
    min-height: 0;
  }
  .pwbw-week__visual {
    min-height: 300px;
    height: 300px;
    order: 1 !important;
  }
  .pwbw-week__visual::after {
    background: linear-gradient(to top, rgba(10,4,1,0.80) 0%, rgba(10,4,1,0.40) 48%, rgba(10,4,1,0.10) 100%);
  }
  /* Lift the week number + title out of the panel and onto the image. */
  .pwbw-week__header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 300px;
    z-index: 3;
    justify-content: flex-end;
    padding: 0 24px 22px;
    gap: 6px;
    pointer-events: none;
  }
  .pwbw-week__number { color: #EDAEC6; }
  .pwbw-week__title {
    font-size: 2rem;
    line-height: 1.05;
    color: #FAFAFA;
  }
  .pwbw-week__panel {
    order: 2 !important;
    padding: 26px 24px 36px;
    justify-content: flex-start;
  }
  .pwbw-week__cols {
    grid-template-columns: 1fr;
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
}

.pwbw-finder {
  text-align: center;
  padding: 52px 24px 0;
}
.pwbw-finder label {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #B55376;
  margin-bottom: 16px;
}
.pwbw-finder__row {
  display: flex;
  max-width: 380px;
  margin: 0 auto;
  background: #fff;
  border: 1.5px solid #E4E5E7;
  border-radius: 50px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(44,36,25,0.08);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.pwbw-finder__row:focus-within {
  border-color: #B55376;
  box-shadow: 0 2px 16px rgba(200,137,122,0.18);
}
.pwbw-finder input {
  flex: 1;
  padding: 15px 22px;
  border: none;
  background: transparent;
  font-family: var(--font-body);
  font-size: 1rem;
  color: #131D27;
  outline: none;
  text-align: center;
}
.pwbw-finder input::placeholder { color: #C1ADB5; }
.pwbw-finder button {
  padding: 12px 24px;
  margin: 5px 5px 5px 0;
  background: #B55376;
  color: #fff;
  border: none;
  border-radius: 50px;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.pwbw-finder button:hover { background: #B2617E; }
.pwbw-intro {
  max-width: 1200px;
  margin: 24px auto 48px;
  padding: 0 32px;
  color: #6C7783;
  font-size: 1rem;
  line-height: 1.75;
  text-align: center;
}
/* T2 - sage */
.pwbw-trimester--second .pwbw-card--plain .pwbw-card__week { color: #fff; }
.pwbw-trimester--second .pwbw-card--due { box-shadow: 0 0 0 2.5px #77A0C4, 0 8px 28px rgba(122,158,142,0.2); }

/* T3 - teal */
.pwbw-trimester--third .pwbw-card--plain .pwbw-card__week { color: #fff; }
.pwbw-trimester--third .pwbw-card--due { box-shadow: 0 0 0 2.5px #8FBEE8, 0 8px 28px rgba(122,174,200,0.2); }

@media (max-width: 900px) {
  .pwbw-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 700px) {
  .pwbw-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .pwbw-card__week { font-size: 1.75rem; }
}
@media (max-width: 440px) {
  .pwbw-grid { grid-template-columns: repeat(2, 1fr); }
}

/* --- Deep per-week guide (progressive disclosure under each week strip) ---
   Full-width toggle bar under the split-panel strip; opens a centered
   editorial article. Even weeks use the baby-blue accent, odd weeks pink
   (.pwbw-deep--pink). All comparison-free, no inline JS, so texturize-safe. */
.pwbw-deep {
  /* Same three roles, same two failing colours, as the week spokes below:
     #7CA1C3 was 2.71 and #7DB3E3 was 2.23 against white, as TEXT. */
  --da: var(--blue-ink);        /* accent deep: links, headers */
  --da-bright: var(--blue-ink); /* accent bright: chips, markers, toggle */
  --da-soft: var(--blue-wash);  /* accent tint: takeaway band */
  background: #fff;
  border-bottom: 1px solid rgba(232,224,214,0.6);
}
.pwbw-deep--pink { --da: var(--pink-ink); --da-bright: var(--pink-ink); --da-soft: var(--pink-wash); }
.pwbw-deep__bar {
  max-width: 1200px;
  margin: 0 auto;
  padding: 22px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-body);
}
.pwbw-deep__bar::-webkit-details-marker { display: none; }
.pwbw-deep__bar-l { font-size: 1.05rem; font-weight: 700; color: #131D27; letter-spacing: 0.01em; }
.pwbw-deep__wk {
  color: var(--da);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.8rem;
  margin-right: 12px;
}
.pwbw-deep__bar-r { font-size: 0.82rem; color: #6C7783; text-align: right; }
.pwbw-deep__bar::after {
  content: "+";
  color: var(--da-bright);
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 400;
  margin-left: 4px;
}
.pwbw-deep[open] .pwbw-deep__bar::after { content: "\2212"; }
.pwbw-deep__wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 6px 24px 54px;
  color: #232221;
  font-size: 1.02rem;
  line-height: 1.72;
}
.pwbw-deep__wrap p { margin: 0 0 16px; }
.pwbw-deep__wrap .d-h {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: clamp(1.5rem, 3.6vw, 2rem);
  line-height: 1.15;
  margin: 34px 0 4px;
  color: #232221;
  letter-spacing: -0.01em;
  text-transform: none;
}
.d-lead {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 1.18rem;
  line-height: 1.55;
  color: #232221;
  margin: 20px 0 18px;
}
.d-lead strong { font-style: normal; font-weight: 600; }
.d-take {
  background: var(--da-soft);
  border-left: 3px solid var(--da-bright);
  border-radius: 0 8px 8px 0;
  padding: 11px 16px;
  font-weight: 600;
  color: #232221;
  margin: 12px 0 14px;
}
.d-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 4px 0 14px; }
.d-chip { background: #fff; border: 1px solid #EDEEEF; border-radius: 12px; padding: 14px 16px; text-align: center; }
.d-chip .k { font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--da-bright); font-weight: 700; margin: 0 0 4px; }
.d-chip .v { font-family: var(--font-heading); font-size: 1.35rem; font-weight: 600; color: #232221; margin: 0; line-height: 1.1; }
.d-chip .n { font-size: 0.74rem; color: #7B7F83; margin: 3px 0 0; }
.d-ticks { list-style: none; margin: 6px 0 16px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.d-ticks li { position: relative; padding-left: 26px; color: #5B5955; }
.d-ticks li::before { content: ""; position: absolute; left: 3px; top: 9px; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--da-bright); }
.d-warn { background: #FAF4F6; border: 1px solid #E6C5D1; border-radius: 14px; padding: 20px 22px; margin: 16px 0; }
.d-warn .d-h { margin-top: 0; color: #3E70A3; }
.d-warn ul { margin: 8px 0 0; padding-left: 20px; color: #5B5955; }
.d-warn li { margin: 6px 0; }
.d-note { border-radius: 14px; padding: 20px 22px; margin: 16px 0; }
.d-note--partner { background: #F7F7F7; border: 1px solid #EDEEEF; }
.d-note--reassure { background: #F8F8F8; border: 1px solid #EDEEEF; }
.d-note .d-h { margin-top: 0; }
.d-note p { margin: 0; color: #5B5955; }
.d-shop { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 12px 0; }
.d-pcard { display: block; background: #fff; border: 1px solid #EDEEEF; border-radius: 12px; padding: 16px 18px; text-decoration: none; transition: border-color 0.15s, transform 0.15s; }
.d-pcard:hover { border-color: var(--da-bright); transform: translateY(-2px); }
.d-pcard .k { font-size: 0.66rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--da-bright); font-weight: 700; margin: 0 0 4px; }
.d-pcard .t { font-family: var(--font-heading); font-size: 1.18rem; font-weight: 600; color: #232221; margin: 0 0 4px; }
.d-pcard .dd { font-size: 0.86rem; color: #5B5955; margin: 0; }
.d-disc { font-size: 0.76rem; color: #7B7F83; margin: 6px 0 0; }
.pwbw-deep__wrap details.d-faq { border-bottom: 1px solid #EDEEEF; padding: 4px 0; }
.pwbw-deep__wrap details.d-faq summary { cursor: pointer; font-weight: 600; padding: 12px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; color: #232221; font-family: var(--font-body); }
.pwbw-deep__wrap details.d-faq summary::-webkit-details-marker { display: none; }
.pwbw-deep__wrap details.d-faq summary::after { content: "+"; color: var(--da-bright); font-size: 1.2rem; line-height: 1; }
.pwbw-deep__wrap details.d-faq[open] summary::after { content: "\2212"; }
.pwbw-deep__wrap details.d-faq p { margin: 0 0 14px; color: #5B5955; }
.d-sources { background: #fff; border: 1px solid #EDEEEF; border-radius: 14px; padding: 20px 22px; margin: 22px 0; }
.d-sources .d-ey { margin-top: 0; }
.d-ey { font-family: var(--font-body); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--da); margin: 22px 0 8px; }
.d-sources ol { margin: 0; padding-left: 20px; font-size: 0.86rem; color: #5B5955; }
.d-sources li { margin: 5px 0; }
.d-meta { font-size: 0.82rem; color: #7B7F83; margin: 14px 0 0; }
.d-disclaimer { font-size: 0.78rem; color: #7B7F83; line-height: 1.6; border-top: 1px solid #EDEEEF; padding-top: 16px; margin-top: 22px; }
/* Week 12 guide is shown OPEN (not a toggle): kicker + in-guide jump nav so
   the depth is visible where the card lands, never hidden behind an expander. */
.pwbw-deep__kicker { font-family: var(--font-body); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.04em; color: #131D27; margin: 6px 0 10px; }
.pwbw-deep__jump { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1px solid #EDEEEF; }
.pwbw-deep__jump-label { font-family: var(--font-body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--da); margin-right: 2px; }
.pwbw-deep__jump a { font-size: 0.82rem; color: #5B5955; text-decoration: none; background: #F8F8F8; border: 1px solid #EDEEEF; border-radius: 999px; padding: 5px 12px; }
.pwbw-deep__jump a:hover { border-color: var(--da-bright); color: var(--da); }
.pwbw-deep .d-h { scroll-margin-top: 84px; }

/* Contextual "our picks" block between week strips (money weeks). Reuses the
   .d-pcard card; accent vars mirror .pwbw-deep so blue/pink follow even/odd. */
.pwbw-picks { --da: var(--blue-ink); --da-bright: var(--blue-ink); background: var(--paper); border-top: 1px solid rgba(232,224,214,0.6); border-bottom: 1px solid rgba(232,224,214,0.6); }
.pwbw-picks--pink { --da: var(--pink-ink); --da-bright: var(--pink-ink); }
.pwbw-picks__inner { max-width: 720px; margin: 0 auto; padding: 26px 24px; }
.pwbw-picks__eyebrow { font-family: var(--font-heading); font-size: 1.35rem; font-weight: 600; color: #232221; margin: 0 0 12px; letter-spacing: -0.01em; }
.pwbw-picks__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 10px; }

@media (max-width: 520px) { .d-chips { grid-template-columns: 1fr; } .d-shop { grid-template-columns: 1fr; } .pwbw-picks__cards { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .pwbw-deep__bar { padding: 18px 24px; } .pwbw-deep__bar-r { display: none; } .pwbw-deep__jump { gap: 6px; } }

/* =============================================================================
   25b. WEEK SPOKE PAGE (wbwk) - individual /N-weeks-pregnant/ page
   Hero + sticky table-of-contents sidebar + article. Even weeks blue accent
   (.wbwk-page--blue), odd weeks pink (.wbwk-page--pink). No JS: TOC is anchor
   links, FAQ is native <details>. Prefixed to avoid collision with hub styles.
   ============================================================================= */
/* Accent variables for the 40 spokes. The templates carry no hex at all, so
   these two lines colour every one of them.

   Measured before and after, because three of these four accents were failing
   WCAG AA as TEXT on white, live, today:
     blue  --wa  #7CA1C3  2.71 FAIL  ->  --blue-ink  6.93 PASS
     blue  --wab #7DB3E3  2.23 FAIL  ->  --blue-ink  6.93 PASS
     pink  --wa  #BB738D  3.53 FAIL  ->  --pink-ink  7.07 PASS
     pink  --wab #B55376  4.70 pass  ->  --pink-ink  7.07 PASS
   --wab is 10px uppercase on chips, picks, tiles, sources and the FAQ marker,
   so the 20 even-numbered week pages were effectively unreadable there.

   --wl is the ONLY one of these that sits on the dark #131D27 hero, so it must
   stay light. That lets it be an actual brand colour: Bluebird is 6.48 on the
   hero and Petal Pink 9.31. --wg is a decorative radial wash on that same dark
   ground, now derived from the same two brand colours. */
.wbwk-page { background: var(--cotton); }
.wbwk-page--blue { --wa: var(--blue-ink); --wab: var(--blue-ink); --was: var(--blue-wash); --wg: rgba(91,165,232,.45); --wl: var(--bluebird); }
.wbwk-page--pink { --wa: var(--pink-ink); --wab: var(--pink-ink); --was: var(--pink-wash); --wg: rgba(237,174,198,.42); --wl: var(--petal-pink); }

.wbwk-hero { background: #131D27; color: #fff; text-align: center; padding: 58px 24px 52px; position: relative; overflow: hidden; }
.wbwk-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(72% 110% at 50% -12%, var(--wg), transparent 62%); pointer-events: none; }
.wbwk-hero__inner { position: relative; max-width: 760px; margin: 0 auto; }
.wbwk-hero__eyebrow { font-family: var(--font-body); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wl); margin: 0 0 14px; }
.wbwk-hero__title { font-family: var(--font-heading); font-weight: 600; font-size: clamp(2.4rem, 5.5vw, 3.5rem); line-height: 1.04; letter-spacing: -0.01em; margin: 0 0 10px; color: #fff; }
.wbwk-hero__sub { font-size: 0.98rem; color: rgba(255,255,255,0.8); margin: 0; }

.wbwk-grid { max-width: 1080px; margin: 0 auto; padding: 0 24px 60px; display: grid; grid-template-columns: 216px 1fr; gap: 40px; align-items: start; }

.wbwk-toc { position: sticky; top: 20px; align-self: start; padding-top: 34px; }
.wbwk-toc__label { font-family: var(--font-body); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #7B7F83; margin: 0 0 12px; }
.wbwk-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.wbwk-toc li a { display: block; text-decoration: none; color: #5B5955; font-size: 1.02rem; padding: 9px 12px; border-radius: 8px; border-left: 2px solid transparent; }
.wbwk-toc li a:hover { background: var(--was); color: var(--wa); border-left-color: var(--wab); }
.wbwk-toc__pn { margin-top: 18px; padding-top: 18px; border-top: 1px solid #EDEEEF; display: flex; flex-direction: column; gap: 8px; }
.wbwk-pn { display: flex; flex-direction: column; gap: 1px; text-decoration: none; background: #fff; border: 1px solid #EDEEEF; border-radius: 10px; padding: 10px 13px; transition: border-color 0.15s; }
.wbwk-pn:hover { border-color: var(--wab); }
.wbwk-pn span { font-family: var(--font-body); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #7B7F83; }
.wbwk-pn b { font-family: var(--font-heading); font-size: 1.28rem; font-weight: 600; color: #232221; }

.wbwk-art { min-width: 0; padding-top: 30px; color: #232221; font-size: 1.14rem; line-height: 1.74; }
.wbwk-art p { margin: 0 0 17px; max-width: 68ch; }
/* Inline content links get a clear affordance (accent color + underline) so a
   reader can tell they are clickable. Excludes the breadcrumb, which keeps its
   muted style. The accent follows the week (blue on even weeks, rose on odd). */
.wbwk-art p:not(.wbwk-crumb) a,
.wbwk-ticks a,
.wbwk-warn a,
.wbwk-note a { color: var(--wa); font-weight: 600; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--wab) 55%, transparent); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: text-decoration-color 0.15s, color 0.15s; }
.wbwk-art p:not(.wbwk-crumb) a:hover,
.wbwk-ticks a:hover,
.wbwk-warn a:hover,
.wbwk-note a:hover { color: var(--wab); text-decoration-color: var(--wab); }
.wbwk-crumb { font-size: 0.76rem; color: #7B7F83; margin: 0 0 12px; }
.wbwk-crumb a { color: #7B7F83; text-decoration: none; }
.wbwk-crumb a:hover { color: var(--wa); }
.wbwk-progress { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; }
.wbwk-progress__txt { font-family: var(--font-body); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wa); white-space: nowrap; }
.wbwk-progress__bar { flex: 1; height: 6px; border-radius: 999px; background: #EDEEEF; overflow: hidden; max-width: 260px; }
.wbwk-progress__bar i { display: block; height: 100%; background: linear-gradient(90deg, #B55376, var(--wab)); }
.wbwk-lead { font-family: var(--font-heading); font-style: italic; font-size: 1.24rem; line-height: 1.5; color: #232221; margin: 0 0 20px; }
.wbwk-lead strong { font-weight: 600; }

.wbwk-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 18px; }
.wbwk-chip { background: #fff; border: 1px solid #EDEEEF; border-radius: 12px; padding: 14px; text-align: center; }
.wbwk-chip .k { font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wab); font-weight: 700; margin: 0 0 4px; }
.wbwk-chip .v { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 600; color: #232221; margin: 0; line-height: 1.1; }
.wbwk-chip .n { font-size: 0.72rem; color: #7B7F83; margin: 3px 0 0; }
/* The size image is a bordered, filled tile, a different kind of object from the
   prose it sits above, but it was getting exactly the paragraph-to-heading gap:
   its 22px bottom margin collapsed into .wbwk-h's 34px top margin, so 34px, the
   same as any paragraph. It read as glued to the section below it. --space-12
   (48px) wins that collapse and gives the tile its own separation. One rule, so
   all 37 spokes that carry a figure move together. Ana asked for this,
   2026-08-14: "can we add a bit more space between the tile and the text
   article". */
.wbwk-fig { margin: 0 0 var(--space-12); border-radius: 14px; overflow: hidden; border: 1px solid #EDEEEF; background: var(--was); }
.wbwk-fig img { display: block; width: 100%; height: auto; }

.wbwk-h { font-family: var(--font-heading); font-weight: 600; font-size: clamp(1.5rem, 3.4vw, 2rem); line-height: 1.14; letter-spacing: -0.01em; color: #232221; margin: 34px 0 6px; scroll-margin-top: 84px; }
.wbwk-take { background: var(--was); border-left: 3px solid var(--wab); border-radius: 0 8px 8px 0; padding: 11px 16px; font-weight: 600; color: #232221; margin: 10px 0 14px; max-width: none; }
.wbwk-warn { background: #FAF4F6; border: 1px solid #E6C5D1; border-radius: 14px; padding: 18px 22px; margin: 20px 0; }
.wbwk-warn .wbwk-h { margin-top: 0; color: #3E70A3; }
.wbwk-warn__lead { margin: 0 0 6px; color: #5B5955; }
.wbwk-warn ul { margin: 8px 0 0; padding-left: 20px; color: #5B5955; }
.wbwk-warn li { margin: 6px 0; }
.wbwk-ticks { list-style: none; margin: 8px 0 16px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.wbwk-ticks li { position: relative; padding-left: 26px; color: #5B5955; }
.wbwk-ticks li::before { content: ""; position: absolute; left: 3px; top: 9px; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--wab); }

.wbwk-picks { border: 1px solid #EDEEEF; background: #fff; border-radius: 14px; padding: 18px 20px; margin: 22px 0; }
.wbwk-picks__h { font-family: var(--font-heading); font-size: 1.35rem; font-weight: 600; color: #232221; margin: 0 0 12px; }
.wbwk-picks__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wbwk-pcard { display: block; background: #FCFCFC; border: 1px solid #EDEEEF; border-radius: 10px; padding: 14px 16px; text-decoration: none; transition: border-color 0.15s, transform 0.15s; }
.wbwk-pcard:hover { border-color: var(--wab); transform: translateY(-2px); }
.wbwk-pcard .k { font-size: 0.62rem; letter-spacing: 0.09em; text-transform: uppercase; color: var(--wab); font-weight: 700; margin: 0 0 3px; }
.wbwk-pcard .t { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 600; color: #232221; margin: 0 0 3px; }
.wbwk-pcard .d { font-size: 0.84rem; color: #5B5955; margin: 0; }
.wbwk-disc { font-size: 0.74rem; color: #7B7F83; margin: 10px 0 0; }

.wbwk-note { border-radius: 14px; padding: 18px 22px; margin: 20px 0; }
.wbwk-note .wbwk-h { margin-top: 0; }
.wbwk-note p { margin: 0; color: #5B5955; }
.wbwk-note--partner { background: #F7F7F7; border: 1px solid #EDEEEF; }
.wbwk-note--reassure { background: #F8F8F8; border: 1px solid #EDEEEF; }

.wbwk-faq { border-bottom: 1px solid #EDEEEF; padding: 4px 0; }
.wbwk-faq summary { cursor: pointer; font-family: var(--font-body); font-weight: 600; padding: 13px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; color: #232221; }
.wbwk-faq summary::-webkit-details-marker { display: none; }
.wbwk-faq summary::after { content: "+"; color: var(--wab); font-size: 1.2rem; line-height: 1; }
.wbwk-faq[open] summary::after { content: "\2212"; }
.wbwk-faq p { margin: 0 0 14px; color: #5B5955; }

.wbwk-pn-foot { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin: 30px 0 8px; }
.wbwk-pn-foot .wbwk-pn { text-align: left; }
.wbwk-pn-foot .wbwk-pn--hub { text-align: center; }
.wbwk-pn-foot .wbwk-pn--next { text-align: right; }

.wbwk-sources { background: #fff; border: 1px solid #EDEEEF; border-radius: 14px; padding: 20px 22px; margin: 24px 0; }
.wbwk-sources__label { font-family: var(--font-body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wa); margin: 0 0 8px; }
.wbwk-sources ol { margin: 0; padding-left: 20px; font-size: 0.86rem; color: #5B5955; }
.wbwk-sources li { margin: 5px 0; }
.wbwk-byline { font-size: 0.82rem; color: #7B7F83; margin: 14px 0 0; }
.wbwk-disclaimer { font-size: 0.95rem; color: #585C61; line-height: 1.65; border-top: 1px solid #EDEEEF; padding-top: 16px; margin-top: 22px; }

/* "You might also like": curated related tiles at the foot of a week page.
   Hand-picked per week (adjacent weeks, trimester hub, safety cluster, a review),
   not auto-generated. Sits after the prev/next pager, before sources. */
.wbwk-related { margin: 36px 0 8px; }
.wbwk-related__label { font-family: var(--font-heading); font-size: 1.65rem; font-weight: 600; color: #232221; margin: 0 0 18px; letter-spacing: -0.01em; }
.wbwk-related__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wbwk-rtile { display: flex; flex-direction: column; background: #fff; border: 1px solid #EDEEEF; border-radius: 14px; overflow: hidden; text-decoration: none; transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s; }
.wbwk-rtile:hover { border-color: var(--wab); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(44,36,25,0.10); }
.wbwk-rtile__img { width: 100%; height: 168px; object-fit: cover; display: block; background: var(--was); }
.wbwk-rtile__body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 5px; }
.wbwk-rtile__k { font-family: var(--font-body); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wab); }
.wbwk-rtile__t { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 600; color: #232221; line-height: 1.2; }
@media (max-width: 520px) { .wbwk-related__grid { grid-template-columns: 1fr; } .wbwk-rtile__img { height: 190px; } }

@media (max-width: 820px) {
  .wbwk-grid { grid-template-columns: 1fr; gap: 20px; }
  .wbwk-toc { position: static; padding-top: 26px; background: #fff; border: 1px solid #EDEEEF; border-radius: 14px; padding: 18px 18px; }
  .wbwk-art { padding-top: 6px; }
  .wbwk-pn-foot { grid-template-columns: 1fr 1fr; }
  .wbwk-pn-foot .wbwk-pn--hub { grid-column: 1 / -1; text-align: center; }
}
@media (max-width: 520px) {
  .wbwk-chips { grid-template-columns: 1fr; }
  .wbwk-picks__row { grid-template-columns: 1fr; }
}

/* ============================================================
   RESOURCE / CHECKLIST PAGES
   ============================================================ */

/* Page wrapper */
.bumply-resource-page {
  max-width: 780px;
  margin: 0 auto;
  padding: 56px 24px 80px;
  font-family: var(--font-body);
}

/* Page intro */
.bumply-resource-page .bumply-resource__intro {
  font-size: 1.125rem;
  line-height: 1.75;
  color: #2E3A46;
  margin-bottom: 36px;
}

/* Print bar */
.bumply-print-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  background: #F8F8F8;
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  padding: 16px 22px;
  margin-bottom: 48px;
}
.bumply-print-bar__note {
  margin: 0;
  font-size: 0.9rem;
  color: #46525E;
  line-height: 1.5;
}
.bumply-print-bar__btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #131D27;
  color: #FAFAFA;
  border: none;
  border-radius: 7px;
  padding: 11px 22px;
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s;
}
.bumply-print-bar__btn:hover { background: #2E3A46; }

/* Section heading */
.bumply-resource-page h2 {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 500;
  color: #131D27;
  margin: 48px 0 6px;
  padding-bottom: 12px;
  border-bottom: 2px solid #E4E5E7;
}
.bumply-resource-page h2:first-of-type { margin-top: 0; }

/* Sub-heading */
.bumply-resource-page h3 {
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #B55376;
  margin: 28px 0 14px;
}

/* List items - clean dots, generous spacing */
.bumply-resource-page ul {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}
.bumply-resource-page ul li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 11px 16px;
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1.6;
  color: #242C35;
  transition: background 0.12s;
}
.bumply-resource-page ul li:hover { background: #FAFAFA; }
.bumply-resource-page ul li::before {
  content: '';
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #B55376;
  margin-top: 8px;
}

/* Plain bullet lists (non-checklist) */
.bumply-resource-page ul.bumply-plain li::before {
  background: #8A949F;
}

/* Strong inside li */
.bumply-resource-page ul li strong {
  color: #131D27;
}

/* Paragraphs inside content */
.bumply-resource-page p {
  font-size: 1rem;
  line-height: 1.75;
  color: #2E3A46;
  margin-bottom: 16px;
}

/* Print styles */
@media print {
  .bumply-print-bar,
  .admin-bar,
  nav,
  header,
  footer,
  .bumply-disclaimer { display: none !important; }
  .bumply-resource-page { padding: 0; }
  .bumply-resource-page ul li:hover { background: none; }
}

@media (max-width: 600px) {
  .bumply-resource-page { padding: 36px 16px 60px; }
  .bumply-resource-page h2 { font-size: 1.6rem; }
  .bumply-print-bar { flex-direction: column; align-items: flex-start; }
}

/* =============================================================================
   SINGLE POST TEMPLATE
   ============================================================================= */

.bumply-affiliate-bar {
  background: #F0F1F2;
  border-bottom: 1px solid #E4E5E6;
  text-align: center;
  padding: 10px 24px;
}
.bumply-affiliate-bar p {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: #46525E;
  margin: 0;
}
.bumply-affiliate-bar a {
  color: var(--blue-ink);
  text-decoration: none;
}

.bumply-author-bio {
  padding: 28px;
  border-radius: 12px;
  background: #F0F1F2;
}

.bumply-card__thumbnail img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 8px 8px 0 0;
  display: block;
}

/* Single post content typography */
.wp-block-post-content {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.8;
  color: #212D39;
}
.wp-block-post-content h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: #131D27;
  margin: 48px 0 16px;
  line-height: 1.2;
}
.wp-block-post-content h3 {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  color: #131D27;
  margin: 36px 0 12px;
}
.wp-block-post-content p { margin-bottom: 24px; }
.wp-block-post-content ul,
.wp-block-post-content ol {
  padding-left: 1.5rem;
  margin-bottom: 24px;
}
.wp-block-post-content li { margin-bottom: 8px; }
.wp-block-post-content a { color: var(--blue-ink); }
.wp-block-post-content strong { color: #131D27; font-weight: 600; }
.wp-block-post-content img {
  width: 100%;
  border-radius: 10px;
  margin: 8px 0 24px;
}

@media (max-width: 600px) {
  .bumply-author-bio { padding: 20px; }
}

/* ============================================================
   SINGLE POST TEMPLATE - article-hero, content, review cards
   ============================================================ */

/* --- Hero --- */
.article-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #02070D;
}

.article-hero__img-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.article-hero__img-wrap img,
.article-hero__img-wrap .wp-block-post-featured-image,
.article-hero__img-wrap .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
  margin: 0 !important;
}

.article-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to top,
    rgba(20, 12, 6, 0.88) 0%,
    rgba(20, 12, 6, 0.55) 45%,
    rgba(20, 12, 6, 0.10) 100%
  );
}

.article-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 56px 24px 48px;
}

.article-hero__category,
.article-hero__category a {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #EDAEC6 !important;
  text-decoration: none;
  margin-bottom: 14px;
}

.article-hero__title,
.article-hero__title h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
  color: #FFFFFF !important;
  margin: 0 0 18px;
}

.article-hero__excerpt,
.article-hero__excerpt p {
  font-size: 1.15rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.82) !important;
  margin: 0 0 24px;
}

.article-hero__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.article-hero__meta .wp-block-post-author,
.article-hero__meta .wp-block-post-author__name,
.article-hero__meta .wp-block-post-date,
.article-hero__meta time {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 0.875rem;
}

.article-hero__sep {
  color: rgba(255, 255, 255, 0.45);
}

/* --- Article hero cover (16:9 ratio matches image, no zoom) --- */
.bumply-article-hero-cover {
  min-height: 600px !important;
  /* Warm brand gradient so posts with no featured image read as intentional,
     not a flat dark band. A featured image, when set, renders on top of this. */
  background-color: #131D27 !important;
  background-image: linear-gradient(135deg, #223447 0%, #131D27 55%, #192736 100%) !important;
}
.bumply-article-lead {
  margin-top: 0;
}
.bumply-article-lead img {
  border-radius: 10px;
  width: 100%;
  height: auto;
}
.bumply-article-hero-cover .wp-block-cover__background {
  /* Light, bottom-weighted scrim so a hero image stays clearly visible and is
     not overshadowed by brown, while the centered title keeps enough contrast. */
  background: linear-gradient(
    180deg,
    rgba(20, 12, 6, 0.12) 0%,
    rgba(20, 12, 6, 0.22) 50%,
    rgba(20, 12, 6, 0.55) 100%
  ) !important;
  opacity: 1 !important;
}
/* Keep hero text readable over the now-visible image. */
.bumply-article-hero-cover .wp-block-post-title,
.bumply-article-hero-cover .wp-block-post-terms,
.bumply-article-hero-cover .wp-block-post-terms a,
.bumply-article-hero-cover .wp-block-post-excerpt {
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.75), 0 1px 4px rgba(0, 0, 0, 0.65) !important;
}
/* Every review now has a real featured image shown in the hero, so the in-body
   lead image (added before featured images existed) is always redundant. Hide
   it unconditionally; the class only appears in review post content. */
.bumply-article-lead {
  display: none !important;
}
.bumply-article-hero-cover .wp-block-cover__inner-container {
  max-width: 980px;
  margin: 0 auto;
  padding: 60px 32px;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.bumply-article-hero-cover .wp-block-cover__image-background,
.bumply-article-hero-cover img.wp-block-cover__image-background {
  object-fit: cover;
  object-position: center center;
}
.bumply-article-hero-cover .wp-block-post-terms a {
  color: #EDAEC6 !important;
  text-decoration: none;
}
.bumply-article-hero-cover .wp-block-post-excerpt {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 640px) {
  .bumply-article-hero-cover {
    aspect-ratio: auto !important;
    min-height: 600px !important;
  }
}

/* --- TL;DR box --- */
.bumply-tldr {
  background: linear-gradient(135deg, #FDF5F8 0%, #FDF7F9 100%);
  border: 1.5px solid #EDAEC6;
  border-radius: 14px;
  padding: 28px 32px 24px;
  margin: 0 0 2.8em;
}
.bumply-tldr__header {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.bumply-tldr__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: #EDAEC6;
  color: #131D27;
  padding: 4px 11px;
  border-radius: 20px;
  flex-shrink: 0;
}
.bumply-tldr__subhead {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 500;
  font-style: italic;
  color: #131D27;
  margin: 0;
  line-height: 1.2;
}
.bumply-tldr__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bumply-tldr__list li {
  padding: 11px 0 11px 28px;
  position: relative;
  border-bottom: 1px solid rgba(232, 224, 214, 0.7);
  font-size: 1.25rem;
  color: #203347;
  line-height: 1.62;
}
.bumply-tldr__list li:last-child {
  border-bottom: none;
  padding-bottom: 2px;
}
.bumply-tldr__list li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 20px;
  width: 8px;
  height: 8px;
  background: #EDAEC6;
  border-radius: 50%;
  flex-shrink: 0;
}

/* --- Article body typography --- */
.bumply-article-content,
article .wp-block-post-content {
  font-size: 1.25rem;
  line-height: 1.85;
  color: #242C35;
}

.bumply-article-content h2,
article .wp-block-post-content h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.5vw, 1.75rem);
  font-weight: 600;
  margin-top: 2.4em;
  margin-bottom: 0.55em;
  color: #131D27;
  line-height: 1.2;
}

.bumply-article-content h3,
article .wp-block-post-content h3 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-top: 1.9em;
  margin-bottom: 0.5em;
  color: #131D27;
}

.bumply-article-content h4,
article .wp-block-post-content h4 {
  font-size: 1.05rem;
  font-weight: 600;
  margin-top: 1.6em;
  margin-bottom: 0.4em;
  color: #131D27;
}

.bumply-article-content p,
article .wp-block-post-content p {
  margin-bottom: 1.5em;
}

.bumply-article-content ul,
.bumply-article-content ol,
article .wp-block-post-content ul,
article .wp-block-post-content ol {
  padding-left: 1.6em;
  margin-bottom: 1.5em;
}

.bumply-article-content li,
article .wp-block-post-content li {
  margin-bottom: 0.55em;
}

.bumply-article-content a,
article .wp-block-post-content a {
  color: var(--blue-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.bumply-article-content blockquote,
article .wp-block-post-content blockquote,
article .wp-block-post-content .wp-block-quote {
  border-left: 3px solid #EDAEC6;
  margin: 2em 0;
  padding: 16px 24px;
  background: #FDF5F8;
  border-radius: 0 8px 8px 0;
  font-size: 1.1rem;
  font-style: italic;
  color: #203347;
}

article .wp-block-post-content hr,
.bumply-article-content hr {
  border: none;
  border-top: 1px solid #E4E5E7;
  margin: 2.5em 0;
}

article .wp-block-post-content strong,
.bumply-article-content strong {
  color: #131D27;
  font-weight: 600;
}

/* --- Callout box --- */
.bumply-callout {
  background: #FDF5F8;
  border-left: 4px solid #EDAEC6;
  border-radius: 8px;
  padding: 22px 28px;
  margin: 2.2em 0;
  font-size: 1rem;
  transition: border-left-color 0.2s ease, box-shadow 0.2s ease;
}
.bumply-callout:hover {
  border-left-color: #E4608F;
  box-shadow: 0 4px 16px rgba(44, 36, 25, 0.07);
}
.bumply-callout p:last-child {
  margin-bottom: 0;
}

/* --- Review cards --- */
.bumply-review-card {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  border: 1px solid #E4E5E7;
  border-radius: 12px;
  background: #FEFEFE;
  padding: 24px;
  margin: 1.75em 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.bumply-review-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(44, 36, 25, 0.10);
  border-color: #D1BFC6;
}

.bumply-review-card__badge {
  display: inline-block;
  flex-shrink: 0;
  background: #EDAEC6;
  color: #131D27;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  white-space: nowrap;
  margin-bottom: 12px;
}

.bumply-review-card__body {
  flex: 1;
}

.bumply-review-card__title,
.bumply-review-card__name {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 600;
  color: #131D27;
  margin: 0 0 4px;
}

.bumply-review-card__desc,
.bumply-review-card__sub {
  font-size: 0.875rem;
  font-style: italic;
  color: #636A71;
  margin: 0 0 14px;
}

/* --- Comparison table --- */
.bumply-comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  margin: 2em 0;
}

.bumply-comparison-table th {
  background: #F0F1F2;
  color: #131D27;
  font-weight: 700;
  text-align: left;
  padding: 12px 16px;
  border-bottom: 2px solid #E4E5E6;
}

.bumply-comparison-table td {
  padding: 11px 16px;
  border-bottom: 1px solid #E4E5E6;
  color: #242C35;
  vertical-align: top;
}

.bumply-comparison-table tr:last-child td {
  border-bottom: none;
}

/* --- Sources section --- */
.bumply-sources {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 2px solid #E4E5E6;
}

.bumply-sources__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #131D27;
  margin-bottom: 12px;
}

.bumply-sources ol {
  padding-left: 1.5em;
  font-size: 0.9rem;
  color: #46525E;
}

.bumply-sources li {
  margin-bottom: 8px;
}

/* --- Disclaimers --- */
.bumply-disclaimer {
  background: #F0F1F2;
  border-radius: 8px;
  padding: 18px 22px;
  margin-top: 32px;
  font-size: 0.875rem;
  color: #46525E;
  line-height: 1.6;
}

.bumply-disclaimer--affiliate {
  background: #FDF5F8;
}

/* --- Author card --- */
.bumply-author-bio {
  margin-top: 56px;
}

/* --- Post cards hover --- */
.bumply-card {
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.bumply-card:hover {
  box-shadow: 0 8px 28px rgba(44, 36, 25, 0.12);
  transform: translateY(-3px);
}

/* --- Responsive --- */
@media (max-width: 860px) {
  .article-hero {
    min-height: 420px;
  }

  .article-hero__content {
    padding: 40px 20px 36px;
  }

  .bumply-review-card {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .article-hero {
    min-height: 340px;
  }

  .article-hero__title,
  .article-hero__title h1 {
    font-size: 1.75rem;
  }
}

/* =============================================================================
   TTC PAGE - Trying to Conceive specific components
   ============================================================================= */

/* --- TTC Feature Grid (9-card overview) --- */
.bumply-ttc-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.bumply-ttc-feature-card {
  background: #FFFFFF;
  border: 1.5px solid #E4E5E7;
  border-radius: 12px;
  padding: 24px;
  text-decoration: none;
  display: block;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.bumply-ttc-feature-card:hover {
  box-shadow: 0 8px 28px rgba(44, 36, 25, 0.10);
  transform: translateY(-2px);
  border-color: #D1BFC6;
  text-decoration: none;
}
.bumply-ttc-feature-card__icon {
  width: 44px;
  height: 44px;
  background: #FDF5F8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.bumply-ttc-feature-card__title {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: #131D27;
  margin: 0 0 8px;
}
.bumply-ttc-feature-card__desc {
  font-size: 0.875rem;
  color: #46525E;
  line-height: 1.65;
  margin: 0 0 8px;
}
.bumply-ttc-feature-card__why {
  font-size: 0.75rem;
  color: #7C8792;
  font-style: italic;
  margin: 0;
}

/* --- TTC Roadmap --- */
.bumply-roadmap {
  position: relative;
  margin-top: 32px;
}
.bumply-roadmap::before {
  content: '';
  position: absolute;
  left: 23px;
  top: 24px;
  bottom: 24px;
  width: 2px;
  background: linear-gradient(to bottom, #EDAEC6, #E4E5E7);
}
.bumply-roadmap__step {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding-bottom: 28px;
  position: relative;
}
.bumply-roadmap__step:last-child { padding-bottom: 0; }
.bumply-roadmap__num {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: #EDAEC6;
  color: #131D27;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.bumply-roadmap__step--muted .bumply-roadmap__num {
  background: #E4E5E7;
}
.bumply-roadmap__content {
  flex: 1;
  padding-top: 10px;
}
.bumply-roadmap__title {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 600;
  color: #131D27;
  margin: 0 0 6px;
}
.bumply-roadmap__desc {
  font-size: 0.9375rem;
  color: #46525E;
  line-height: 1.7;
  margin: 0;
}

/* --- Cycle Basics grid --- */
.bumply-cycle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.bumply-cycle-card {
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  padding: 22px 24px;
}
.bumply-cycle-card__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #7C8792;
  margin-bottom: 8px;
}
.bumply-cycle-card__title {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: #131D27;
  margin: 0 0 8px;
}
.bumply-cycle-card__body {
  font-size: 0.875rem;
  color: #46525E;
  line-height: 1.68;
  margin: 0;
}
.bumply-cycle-caution {
  background: #FDF5F8;
  border: 1px solid #EDAEC6;
  border-radius: 10px;
  padding: 18px 22px;
  margin-top: 20px;
  font-size: 0.9rem;
  color: #34404D;
  line-height: 1.7;
}

/* --- When to call doctor --- */
.bumply-doctor-list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
}
.bumply-doctor-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 13px 0;
  border-bottom: 1px solid rgba(232,224,214,0.7);
  font-size: 0.9375rem;
  color: #203347;
  line-height: 1.65;
}
.bumply-doctor-list li:last-child { border-bottom: none; }
.bumply-doctor-list li::before {
  content: '';
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 7px;
  border-radius: 50%;
  background: #B55376;
}
.bumply-doctor-urgent {
  background: #FDF5F8;
  border: 2px solid #EDAEC6;
  border-radius: 10px;
  padding: 20px 24px;
  margin-top: 20px;
}
.bumply-doctor-urgent strong {
  display: block;
  color: #131D27;
  font-size: 0.9rem;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* --- Fertility test cards --- */
.bumply-test-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.bumply-test-card {
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  padding: 20px 22px;
}
.bumply-test-card__name {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 700;
  color: #131D27;
  margin: 0 0 2px;
}
.bumply-test-card__full {
  font-size: 0.75rem;
  color: #7C8792;
  margin: 0 0 10px;
}
.bumply-test-card__body {
  font-size: 0.875rem;
  color: #46525E;
  line-height: 1.65;
  margin: 0 0 10px;
}
.bumply-test-card__ask {
  font-size: 0.8rem;
  font-style: italic;
  color: var(--blue-ink);
  padding-top: 8px;
  border-top: 1px solid #F0F1F2;
  margin: 0;
}

/* --- Preconception checklist grid --- */
.bumply-precon-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 24px;
}
.bumply-precon-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  padding: 16px 18px;
}
.bumply-precon-item__dot {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #EDAEC6;
  margin-top: 6px;
}
.bumply-precon-item__text strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: #131D27;
  margin-bottom: 3px;
}
.bumply-precon-item__text span {
  font-size: 0.825rem;
  color: #46525E;
  line-height: 1.55;
}

/* --- Product guidance grid --- */
.bumply-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.bumply-product-card {
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  padding: 20px 22px;
}
.bumply-product-card__cat {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #7C8792;
  margin-bottom: 8px;
}
.bumply-product-card__title {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 600;
  color: #131D27;
  margin: 0 0 8px;
}
.bumply-product-card__body {
  font-size: 0.85rem;
  color: #46525E;
  line-height: 1.6;
  margin: 0 0 12px;
}
.bumply-product-card__link {
  font-size: 0.8125rem;
  color: var(--blue-ink);
  text-decoration: none;
  font-weight: 500;
}
.bumply-product-card__link:hover { color: #131D27; text-decoration: underline; }

/* --- Emotional support --- */
.bumply-emotional-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.bumply-emotional-card {
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 12px;
  padding: 22px 24px;
}
.bumply-emotional-card__title {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: #131D27;
  margin: 0 0 10px;
}
.bumply-emotional-card__body {
  font-size: 0.875rem;
  color: #46525E;
  line-height: 1.65;
  margin: 0;
}
.bumply-script-box {
  background: #F0F1F2;
  border-radius: 8px;
  padding: 16px 20px 16px 30px;
  /* A quoted aside is voice, not UI. Apercu has no italic face, so left on the
     body font this was a synthesised oblique; Bogart Italic is real. */
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 0.9rem;
  color: #203347;
  line-height: 1.65;
  position: relative;
  margin: 8px 0 0;
}
.bumply-script-box::before {
  content: '"';
  font-family: var(--font-heading);
  font-size: 2.5rem;
  color: #EDAEC6;
  position: absolute;
  top: 0;
  left: 8px;
  line-height: 1.2;
}

/* --- AI Mentor --- */
.bumply-ai-mentor {
  background: linear-gradient(135deg, #FDF5F8 0%, #F0F1F2 100%);
  border: 2px solid #EDAEC6;
  border-radius: 16px;
  padding: 40px;
}
.bumply-ai-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 20px;
  margin: 20px 0 24px;
}
.bumply-ai-feature {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.9rem;
  color: #203347;
  line-height: 1.55;
}
.bumply-ai-feature::before {
  content: '';
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #B55376;
  margin-top: 6px;
}
.bumply-ai-limits {
  background: rgba(255,255,255,0.6);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 20px;
  font-size: 0.85rem;
  color: #46525E;
  line-height: 1.65;
}

/* --- FAQ accordion --- */
.bumply-faq {
  margin-top: 24px;
}
.bumply-faq details {
  border-bottom: 1px solid #E4E5E7;
}
.bumply-faq details:first-child { border-top: 1px solid #E4E5E7; }
.bumply-faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 4px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  color: #131D27;
  list-style: none;
  user-select: none;
  gap: 16px;
}
.bumply-faq summary::-webkit-details-marker { display: none; }
.bumply-faq summary::after {
  content: '+';
  font-size: 1.3rem;
  line-height: 1;
  color: #B55376;
  flex-shrink: 0;
  font-weight: 400;
}
.bumply-faq details[open] summary::after { content: '-'; }
.bumply-faq__answer {
  padding: 0 4px 20px;
  font-size: 0.9375rem;
  color: #46525E;
  line-height: 1.75;
}
.bumply-faq__answer p { margin: 0 0 10px; }
.bumply-faq__answer p:last-child { margin-bottom: 0; }

/* --- Final CTA band --- */
.bumply-ttc-cta {
  background: linear-gradient(135deg, #131D27 0%, #212D39 100%);
  border-radius: 16px;
  padding: 52px 40px;
  text-align: center;
}
.bumply-ttc-cta__title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 400;
  color: #FAFAFA;
  margin: 0 0 12px;
}
.bumply-ttc-cta__sub {
  color: rgba(250,248,244,0.72);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 auto 28px;
  max-width: 560px;
}
.bumply-ttc-cta .bumply-btn--outline {
  color: #FAFAFA;
  border-color: rgba(250,248,244,0.4);
}
.bumply-ttc-cta .bumply-btn--outline:hover {
  background: rgba(250,248,244,0.12);
  border-color: rgba(250,248,244,0.7);
  color: #FAFAFA;
}

/* --- Responsive for TTC page --- */
@media (max-width: 860px) {
  .bumply-ttc-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .bumply-cycle-grid { grid-template-columns: repeat(2, 1fr); }
  .bumply-emotional-grid { grid-template-columns: repeat(2, 1fr); }
  .bumply-product-grid { grid-template-columns: repeat(2, 1fr); }
  .bumply-ai-features { grid-template-columns: 1fr; }
  .bumply-ai-mentor { padding: 28px 24px; }
  .bumply-ttc-cta { padding: 40px 24px; }
}
@media (max-width: 560px) {
  .bumply-ttc-feature-grid { grid-template-columns: 1fr; }
  .bumply-cycle-grid { grid-template-columns: 1fr; }
  .bumply-test-grid { grid-template-columns: 1fr; }
  .bumply-precon-grid { grid-template-columns: 1fr; }
  .bumply-product-grid { grid-template-columns: 1fr; }
  .bumply-emotional-grid { grid-template-columns: 1fr; }
  .bumply-roadmap::before { display: none; }
}

/* =============================================================================
   REVIEWS HUB - photo cards
   ============================================================================= */
.bumply-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
  margin-bottom: 56px;
}
.bumply-review-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 340px;
  padding: 24px;
  border-radius: 12px;
  overflow: hidden;
  background-color: #131D27;
  background-size: cover;
  background-position: center;
  text-decoration: none;
  isolation: isolate;
  transition: transform .2s ease, box-shadow .2s ease;
}
.bumply-review-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(44,36,25,0.10) 0%, rgba(44,36,25,0.55) 45%, rgba(44,36,25,0.88) 100%);
}
.bumply-review-card > * { position: relative; z-index: 1; }
.bumply-review-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(44,36,25,0.25);
}
.bumply-review-card__eyebrow {
  font-family: var(--font-body);
  font-size: .75rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
  color: #E1ADC1;
  margin: 0 0 8px;
}
.bumply-review-card__title {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.12;
  color: #FAFAFA;
  margin: 0 0 10px;
}
.bumply-review-card__desc {
  font-family: var(--font-body);
  font-size: .9rem;
  line-height: 1.55;
  color: rgba(250,248,244,0.85);
  margin: 0 0 16px;
}
.bumply-review-card__cta {
  font-family: var(--font-body);
  font-size: .85rem;
  font-weight: 600;
  color: #FAFAFA;
}

/* =============================================================================
   STAGE / TRIMESTER CARD IMAGES - size real <img> like the old placeholders
   so every tile stays uniform regardless of the source image dimensions
   ============================================================================= */
.sc-card__img img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.sc-featured__img img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; }
.sc-inline-img img { display: block; width: 100%; aspect-ratio: 21/9; object-fit: cover; border-radius: 16px; }
.sc-inline-img--sm img { aspect-ratio: 16/7; }

/* Larger card text on the trimester / stage guide cards */
.sc-card__title { font-size: 1.5rem; }
.sc-card__desc { font-size: 1.0625rem; }
.sc-card__eyebrow { font-size: .78rem; }

/* Photo-overlay section band (e.g. third trimester "weeks 27-40") - readable prose on dark */
.sc-section--dark .sc-prose { color: rgba(250,248,244,.84); }
.sc-section--dark .sc-prose h3 { color: #FAFAFA; }
.sc-section--dark .sc-prose strong { color: #FAFAFA; }
.sc-section--photo .sc-prose { font-size: 1.0625rem; line-height: 1.9; }
.sc-section--photo { background-attachment: scroll; }

/* =============================================================================
   COLLAPSIBLE PRODUCT SPEC TABLES (folded by default, unfold for detail)
   ============================================================================= */
.bumply-spec {
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  background: #FAFAFA;
  margin: 18px 0 30px;
  overflow: hidden;
}
.bumply-spec > summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 18px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.95rem;
  color: #2F3D4C;
  display: flex;
  align-items: center;
  gap: 10px;
  user-select: none;
}
.bumply-spec > summary::-webkit-details-marker { display: none; }
.bumply-spec > summary::before {
  content: '+';
  font-size: 1.15rem;
  line-height: 1;
  color: #B55376;
  font-weight: 700;
  width: 14px;
  text-align: center;
}
.bumply-spec[open] > summary::before { content: '\2212'; }
.bumply-spec[open] > summary { border-bottom: 1px solid #EAEBEC; }
.bumply-spec-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 0.94rem;
  margin: 30px 0;
  border: 1px solid #E4E5E7;
  background: #fff;
}
.bumply-spec-table th,
.bumply-spec-table td {
  text-align: left;
  padding: 14px 20px;
  border-top: 1px solid #EAEBEC;
  vertical-align: top;
  line-height: 1.5;
}
.bumply-spec-table tr:first-child th {
  border-top: none;
  background: #EAEBEC;
  color: #131D27;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.bumply-spec-table tbody tr:nth-child(even) td { background: #F8F8F8; }
.bumply-spec-table td:first-child { color: #131D27; font-weight: 600; }
.bumply-spec-table td:last-child { color: #131D27; }
/* Side-by-side stroller comparison tool ([stroller_compare]) */
.bumply-compare { border:1px solid #E4E5E7; border-radius:14px; padding:14px 16px; margin:32px 0; background:#FAFAFA; }
.bumply-compare__bar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.bumply-compare__title { font-family: var(--font-heading); font-size:1.15rem; font-weight:600; color:#131D27; }
.bumply-compare__add { font-family: var(--font-body); font-size:1rem; padding:11px 14px; border:1px solid #D5D7D9; border-radius:10px; background:#fff; flex:1 1 220px; min-width:200px; max-width:100%; box-shadow:0 1px 2px rgba(43,36,28,.05); cursor:pointer; }
.bumply-compare__clear { font-family: var(--font-body); font-size:0.9rem; font-weight:600; padding:10px 18px; border-radius:8px; border:1px solid #B55376; background:transparent; color:#B55376; cursor:pointer; }
.bumply-compare__chips { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; }
.bumply-compare__chip { display:inline-flex; align-items:center; gap:9px; background:#EAEBEC; border:1px solid #DADCDE; border-radius:999px; padding:6px 7px 6px 15px; font-family: var(--font-body); font-size:0.9rem; color:#131D27; }
.bumply-compare__chip-rm { border:none; background:#fff; border-radius:50%; width:22px; height:22px; line-height:1; color:#3D668F; cursor:pointer; font-size:1rem; display:inline-flex; align-items:center; justify-content:center; padding:0; }
.bumply-compare__chip-rm:hover { background:#3D668F; color:#fff; }
.bumply-compare__table-wrap { overflow-x:auto; border:1px solid #EAEBEC; border-radius:10px; margin-top:14px; }
.bumply-compare__table { width:100%; border-collapse:collapse; table-layout:fixed; font-family: var(--font-body); font-size:0.95rem; min-width:520px; }
.bumply-compare__table th, .bumply-compare__table td { padding:12px 14px; text-align:left; vertical-align:top; border-bottom:1px solid #EAEBEC; overflow-wrap:break-word; }
.bumply-compare__table tr:last-child th, .bumply-compare__table tr:last-child td { border-bottom:none; }
.bumply-compare__table th { font-family: var(--font-heading); font-size:1.15rem; font-weight:600; color:#131D27; border-bottom:2px solid #DADCDE; background:#F3F4F5; }
.bumply-compare__corner { width:30%; background:#F3F4F5; }
.bumply-compare__label { width:30%; font-weight:600; color:#38424D; background:#F8F8F8; }
.bumply-compare__table td a { color:#3D668F; font-weight:600; }
.bumply-compare-addwrap { margin:4px 0 22px; }
.bumply-compare-add { font-family: var(--font-body); font-size:0.9rem; font-weight:600; padding:8px 16px; border-radius:8px; border:1px solid #B55376; background:#fff; color:#B55376; cursor:pointer; }
.bumply-compare-add:hover { background:#B55376; color:#fff; }

/* --- Article content tables (plain wp:table blocks) ---
   Brand styling for Gutenberg tables in post bodies, replacing the default
   black grid. Reusable across every article table (dresses, basics, workwear,
   anatomy-scan and any future post) with no per-page markup. Matches the
   .bumply-spec-table / .bumply-compare__table language: rounded bordered card,
   cream uppercase header, zebra rows, terracotta links. */
.bumply-article-content figure.wp-block-table {
  margin: 34px 0;
  border: 1px solid #E4E5E7;
  border-radius: 12px;
  overflow-x: auto;
  background: #fff;
  box-shadow: 0 2px 8px rgba(44, 36, 25, 0.06);
}
.bumply-article-content figure.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 0.94rem;
}
.bumply-article-content figure.wp-block-table th,
.bumply-article-content figure.wp-block-table td {
  border: none;
  text-align: left;
  padding: 15px 22px;
  vertical-align: top;
  line-height: 1.5;
}
.bumply-article-content figure.wp-block-table thead th {
  background: #F3F4F5;
  color: #131D27;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.2rem;
  letter-spacing: 0.01em;
  border-bottom: 2px solid #DADCDE;
}
.bumply-article-content figure.wp-block-table tbody td {
  border-top: 1px solid #EAEBEC;
  color: #232C35;
}
.bumply-article-content figure.wp-block-table tbody tr:first-child td {
  border-top: none;
}
.bumply-article-content figure.wp-block-table tbody tr:nth-child(even) td {
  background: #F8F8F8;
}
.bumply-article-content figure.wp-block-table tbody td:first-child {
  color: #131D27;
  font-weight: 600;
}
.bumply-article-content figure.wp-block-table a {
  color: #3D668F;
  font-weight: 600;
  text-decoration: none;
}
.bumply-article-content figure.wp-block-table a:hover {
  text-decoration: underline;
}

/* Decorative divider between recipes */
.bumply-recipe-divider { display:flex; align-items:center; justify-content:center; gap:16px; margin:52px 0 4px; }
.bumply-recipe-divider::before, .bumply-recipe-divider::after { content:""; width:64px; height:1px; background:#DADCDE; }
.bumply-recipe-divider span { color:#B55376; font-size:1.3rem; line-height:1; }
/* Per-recipe photo */
.bumply-recipe-photo { margin:18px 0 22px; }
.bumply-recipe-photo img { width:100%; height:auto; border-radius:12px; display:block; }

/* Pros and cons summary box under each product pick */
.bumply-proscons { display:flex; gap:16px; flex-wrap:wrap; margin:18px 0 30px; }
.bumply-proscons__col { flex:1 1 240px; border-radius:10px; padding:14px 18px; font-family: var(--font-body); }
.bumply-proscons__col--pro { background:#F6F6F6; border:1px solid #DCDEE0; }
.bumply-proscons__col--con { background:#F9F2F5; border:1px solid #E3E4E5; }
.bumply-proscons__head { font-weight:600; font-size:0.82rem; letter-spacing:0.04em; text-transform:uppercase; margin:0 0 8px; }
.bumply-proscons__col--pro .bumply-proscons__head { color:#3B5065; }
.bumply-proscons__col--con .bumply-proscons__head { color:#3D668F; }
.bumply-proscons ul { margin:0; padding-left:1.1rem; }
.bumply-proscons li { margin:4px 0; line-height:1.5; color:#232C35; }
@media (max-width:600px) { .bumply-proscons__col { flex:1 1 100%; } }

/* Let comparison tables breathe wider than the 760px article column on desktop */
@media (min-width: 1000px) {
  .bumply-article-content .bumply-spec-table {
    width: calc(100% + 150px);
    margin-left: -75px;
    margin-right: -75px;
  }
  /* Spec sheets nested in a details box must stay inside it, not pull out and clip */
  .bumply-article-content .bumply-spec .bumply-spec-table {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* ============================================================
   AFFILIATE DISCLOSURE - compact, friendly, not a wall of bold
   ============================================================ */
.affiliate-disclosure {
  font-size: 0.85rem;
  line-height: 1.6;
  color: #636A71;
  background: #F8F2F4;
  border-left: 3px solid #DCDEE0;
  border-radius: 6px;
  padding: 11px 15px;
  margin: 0 0 30px;
}
.affiliate-disclosure a { color: var(--blue-ink); text-decoration: underline; }

/* Auto-injected review disclosure banner (functions.php section 20b).
   Sits at the very top of every review post, above the first affiliate link. */
.bumply-aff-banner {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #4A5661;
  background: #F8F8F8;
  border: 1px solid #E2E3E4;
  border-left: 4px solid #D2829E;
  border-radius: 8px;
  padding: 13px 17px;
  margin: 0 0 28px;
}
.bumply-aff-banner strong { color: #2F3943; }
.bumply-aff-banner a { color: #BF4570; text-decoration: underline; font-weight: 600; }

/* "Was this article helpful?" reader feedback widget (functions.php section 23). */
.bumply-helpful {
  margin: 36px 0 8px;
  padding: 30px 30px;
  background: #F8F2F4;
  border: 1px solid #E2E3E4;
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 22px;
}
.bumply-helpful__q {
  flex-basis: 100%;
  margin: 0;
  font-weight: 700;
  font-size: 1.4rem;
  color: #131D27;
}
.bumply-helpful__sub {
  flex-basis: 100%;
  margin: -6px 0 2px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #4A5661;
}
.bumply-helpful__btns {
  display: flex;
  gap: 12px;
}
.bumply-helpful__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 30px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1F2A36;
  background: #FFFFFF;
  border: 1.5px solid #D0D2D5;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.bumply-helpful__btn span {
  font-size: 1.7rem;
  line-height: 1;
}
.bumply-helpful__btn:hover { background: #F8F8F8; border-color: #D2829E; }
.bumply-helpful__btn:active { transform: translateY(1px); }
.bumply-helpful__btn[aria-pressed="true"] {
  background: #6294C1;
  border-color: #6294C1;
  color: #FFFFFF;
}
.bumply-helpful.is-answered .bumply-helpful__btn[aria-pressed="false"] {
  opacity: 0.45;
  cursor: default;
}
.bumply-helpful__followup {
  flex-basis: 100%;
  margin: 2px 0 0;
}
.bumply-helpful__followup p {
  margin: 0;
  font-size: 0.95rem;
  color: #4A5661;
}
.bumply-helpful__followup a { color: #BF4570; text-decoration: underline; font-weight: 600; }
.bumply-helpful:not(.is-yes) .bumply-helpful__yes-msg { display: none; }
.bumply-helpful:not(.is-no) .bumply-helpful__no-msg { display: none; }
.bumply-helpful__tally {
  flex-basis: 100%;
  margin: 4px 0 0;
  padding: 10px 14px;
  font-size: 0.85rem;
  color: #4A5661;
  background: #FFFFFF;
  border: 1px dashed #D3B5C0;
  border-radius: 8px;
}
.bumply-helpful__tally strong { color: #6294C1; }

/* Hide WordPress.com / Jetpack share + like flair (disabled in functions.php;
   this is a belt-and-suspenders fallback in case the module still injects). */
#jp-post-flair,
.sharedaddy,
.sd-sharing-enabled,
.sd-block.sd-like,
.jp-relatedposts,
.like-button-container { display: none !important; }

/* ============================================================
   TOP PICK RECAP - end-of-article conversion box
   ============================================================ */
.bumply-top-pick {
  background: #F0F1F2;
  border: 1px solid #DCDEE0;
  border-radius: 14px;
  padding: 32px;
  margin: 48px 0;
}
.bumply-top-pick__eyebrow {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #B55376;
  font-weight: 700;
  margin: 0 0 6px;
}
.bumply-top-pick__title {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  color: #131D27;
  margin: 0 0 22px;
}
.bumply-top-pick__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.bumply-top-pick__card {
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  padding: 22px;
  display: flex;
  flex-direction: column;
}
.bumply-top-pick__label {
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7C8792;
  font-weight: 700;
  margin: 0 0 8px;
}
.bumply-top-pick__name {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-weight: 600;
  color: #131D27;
  margin: 0 0 10px;
}
.bumply-top-pick__why {
  font-size: 0.92rem;
  line-height: 1.65;
  color: #46525E;
  margin: 0 0 18px;
  flex: 1;
}
.bumply-top-pick__btn {
  display: inline-block;
  text-align: center;
  background: #B55376;
  color: #FFFFFF !important;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 8px;
  transition: background 0.2s ease;
}
.bumply-top-pick__btn:hover { background: #C0758F; }
.bumply-top-pick__btn--alt { background: #131D27; }
.bumply-top-pick__btn--alt:hover { background: #23313F; }
@media (max-width: 600px) {
  .bumply-top-pick { padding: 22px; }
  .bumply-top-pick__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   TTC v2 - interactive, scannable components
   ============================================================ */

/* Where are you right now? - path picker */
.bumply-pathstart {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.bumply-pathstart__card {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 14px;
  padding: 0;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.bumply-pathstart__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(44,36,25,0.10);
  border-color: #DAACBE;
}
.bumply-pathstart__img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}
.bumply-pathstart__body {
  display: flex;
  flex-direction: column;
  padding: 20px 22px 24px;
}
.bumply-pathstart__emoji { font-size: 1.9rem; line-height: 1; margin-bottom: 14px; }
.bumply-pathstart__label {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: #131D27;
  margin-bottom: 6px;
}
.bumply-pathstart__sub { font-size: 0.9rem; color: #46525E; line-height: 1.5; }

/* Plain-English one-liner on cards */
.bumply-plain {
  font-size: 1rem;
  line-height: 1.6;
  color: #212D39;
  font-weight: 500;
  margin: 0 0 10px;
}

/* "Tell me more" disclosure inside cards */
.bumply-learn { margin-top: 4px; }
.bumply-learn > summary {
  cursor: pointer;
  list-style: none;
  font-size: 0.85rem;
  font-weight: 600;
  color: #B55376;
  letter-spacing: 0.01em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bumply-learn > summary::-webkit-details-marker { display: none; }
.bumply-learn > summary::after { content: '+'; font-size: 1rem; line-height: 1; }
.bumply-learn[open] > summary::after { content: '\2212'; }
.bumply-learn[open] > summary { margin-bottom: 8px; }
.bumply-learn p {
  font-size: 0.92rem;
  line-height: 1.65;
  color: #46525E;
  margin: 0;
}
.bumply-learn a { color: var(--blue-ink); }

/* Callout box */
.bumply-callout {
  background: rgba(255,255,255,0.7);
  border-left: 3px solid #B55376;
  border-radius: 8px;
  padding: 16px 20px;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #34404D;
}
.bumply-callout strong { color: #131D27; }
.bumply-callout a { color: var(--blue-ink); }

/* Get your body ready / generic card grid */
.bumply-ready-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}
.bumply-ready-grid { align-items: stretch; }
.bumply-ready-card {
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 12px;
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.bumply-ready-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(44,36,25,0.09);
  border-color: #DAACBE;
}
.bumply-ready-card--feature {
  background: #FDF5F8;
  border: 2px solid #EDAEC6;
}
.bumply-ready-card--feature .bumply-btn { margin-top: auto; align-self: flex-start; }
.bumply-ready-card__tag {
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: #B55376; margin: 0 0 8px;
}
.bumply-ready-card__title {
  font-family: var(--font-heading);
  font-size: 1.2rem; font-weight: 600; color: #131D27; margin: 0 0 8px;
}
.bumply-ready-card__body { font-size: 0.92rem; line-height: 1.65; color: #46525E; margin: 0 0 14px; }
.bumply-ready-card__body:last-child { margin-bottom: 0; }
.bumply-ready-card__body a { color: #8FBEE8; }

/* Get help: "is it time" strip */
.bumply-help-when {
  background: #FFFFFF; border: 1px solid #E4E5E7; border-radius: 12px;
  padding: 22px 26px; margin-bottom: 32px;
}
.bumply-help-when__title {
  font-family: var(--font-heading); font-size: 1.2rem;
  font-weight: 600; color: #131D27; margin: 0 0 16px;
}
.bumply-help-when__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bumply-help-when__big {
  display: block; font-family: var(--font-heading);
  font-size: 1.9rem; font-weight: 600; color: #B55376; line-height: 1.1;
}
.bumply-help-when__sm { display: block; font-size: 0.88rem; color: #46525E; margin-top: 4px; }

.bumply-help-subhead {
  font-family: var(--font-heading);
  font-size: 1.5rem; font-weight: 600; color: #131D27; margin: 40px 0 14px;
}

/* Who to see cards */
.bumply-help-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bumply-help-card {
  background: #FFFFFF; border: 1px solid #E4E5E7; border-radius: 12px; padding: 24px;
}
.bumply-help-card--accent { border: 2px solid #EDAEC6; background: #FDF5F8; }
.bumply-help-card__role {
  font-family: var(--font-heading); font-size: 1.25rem;
  font-weight: 600; color: #131D27; margin: 0 0 4px;
}
.bumply-help-card__when {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  color: #B55376; margin: 0 0 12px;
}
.bumply-help-card__body { font-size: 0.92rem; line-height: 1.65; color: #46525E; margin: 0; }
.bumply-help-note {
  font-size: 0.95rem; line-height: 1.7; color: #34404D;
  background: rgba(255,255,255,0.6); border-radius: 8px; padding: 16px 20px; margin: 14px 0 0;
}
.bumply-help-note strong { color: #131D27; }

/* Clinic finder */
.bumply-clinic { display: flex; gap: 10px; flex-wrap: wrap; max-width: 520px; }
.bumply-clinic__input {
  flex: 1; min-width: 180px;
  border: 1px solid #D1D3D5; border-radius: 8px; padding: 13px 16px;
  font-size: 1rem; font-family: var(--font-body); color: #131D27; background: #FFFFFF;
}
.bumply-clinic__input:focus { outline: none; border-color: #B55376; box-shadow: 0 0 0 3px rgba(200,137,122,0.15); }
.bumply-clinic__btn {
  border: none; border-radius: 8px; padding: 13px 22px; cursor: pointer;
  background: #B55376; color: #FFFFFF; font-weight: 600; font-size: 0.95rem;
  font-family: var(--font-body); transition: background 0.2s ease;
}
.bumply-clinic__btn:hover { background: #C0758F; }
.bumply-clinic__note { font-size: 0.85rem; color: #636A71; margin: 12px 0 0; }
.bumply-clinic__note a { color: #8FBEE8; }

/* Things to rule out - chips */
.bumply-ruleout { display: flex; flex-wrap: wrap; gap: 10px; }
.bumply-ruleout__item {
  background: #FFFFFF; border: 1px solid #D9DADC; border-radius: 999px;
  padding: 9px 18px; font-size: 0.9rem; color: #203347; font-weight: 500;
}

/* Tabs (CSS-only, radio driven) */
.bumply-tabs > input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.bumply-tabs__labels { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.bumply-tabs__labels label {
  cursor: pointer; border: 1px solid #D9DADC; background: #FFFFFF;
  border-radius: 999px; padding: 10px 20px; font-size: 0.9rem; font-weight: 600; color: #46525E;
  transition: all 0.18s ease;
}
.bumply-tabs__labels label:hover { border-color: #DAACBE; }
.bumply-tabs__panel {
  display: none;
  background: #FFFFFF; border: 1px solid #E4E5E7; border-radius: 12px; padding: 24px 28px;
}
.bumply-tabs__panel ul { margin: 0; padding-left: 1.2rem; }
.bumply-tabs__panel li { font-size: 0.95rem; line-height: 1.5; color: #203347; margin-bottom: 12px; }
.bumply-tabs__panel li:last-child { margin-bottom: 0; }
#qtab-woman:checked ~ .bumply-tabs__panel[data-tab="woman"],
#qtab-man:checked ~ .bumply-tabs__panel[data-tab="man"],
#qtab-couple:checked ~ .bumply-tabs__panel[data-tab="couple"] { display: block; }
#qtab-woman:checked ~ .bumply-tabs__labels label[for="qtab-woman"],
#qtab-man:checked ~ .bumply-tabs__labels label[for="qtab-man"],
#qtab-couple:checked ~ .bumply-tabs__labels label[for="qtab-couple"] {
  background: #B55376; border-color: #B55376; color: #FFFFFF;
}

/* TTC v2 responsive */
@media (max-width: 900px) {
  .bumply-pathstart { grid-template-columns: repeat(2, 1fr); }
  .bumply-ready-grid { grid-template-columns: repeat(2, 1fr); }
  .bumply-ready-card--feature { grid-row: auto; }
}
@media (max-width: 600px) {
  .bumply-pathstart,
  .bumply-ready-grid,
  .bumply-help-grid,
  .bumply-help-when__grid { grid-template-columns: 1fr; }
  .bumply-clinic { flex-direction: column; }
  .bumply-clinic__btn { width: 100%; }
}

/* ============================================================
   TTC v2 - centered section intros + section banner images
   ============================================================ */
.bumply-section-header--center { justify-content: center; text-align: center; }

.bumply-sec-intro {
  color: #46525E;
  font-size: 1rem;
  line-height: 1.7;
  max-width: 660px;
  margin: 0 auto 28px;
  text-align: center;
}

.bumply-sec-banner {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  margin: 0 0 40px;
}
@media (max-width: 600px) {
  .bumply-sec-banner { height: 200px; border-radius: 12px; margin-bottom: 28px; }
}

/* ============================================================
   HUB ARTICLE CARDS - clickable cards linking hubs to real posts
   ============================================================ */
.bumply-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.bumply-hub-card {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid #E4E5E7;
  border-radius: 10px;
  padding: 26px;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.bumply-hub-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(44, 36, 25, 0.10);
  border-color: #DAACBE;
}
.bumply-hub-card__img {
  display: block;
  width: calc(100% + 52px);
  margin: -26px -26px 18px;
  height: 190px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}
.bumply-hub-card h3 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-weight: 600;
  color: #131D27;
  margin: 10px 0 8px;
  line-height: 1.25;
}
.bumply-hub-card p {
  color: #46525E;
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 16px;
  flex: 1;
}
@media (max-width: 900px) {
  .bumply-hub-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .bumply-hub-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   BABY NAME LIST TOOL (.bumply-names)
   ============================================================ */
.bumply-names { background:#FFFFFF; border:1px solid #E4E5E7; border-radius:16px; padding:28px; }
.bumply-names__surname { margin-bottom:18px; }
.bumply-names__surname label, .bumply-names__add label { display:block; font-size:0.8rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:#7C8792; margin-bottom:8px; }
.bumply-names input[type="text"], .bumply-names select {
  width:100%; border:1px solid #D1D3D5; border-radius:8px; padding:12px 14px;
  font-size:1rem; font-family: var(--font-body); color:#131D27; background:#FFFFFF;
}
.bumply-names input:focus, .bumply-names select:focus { outline:none; border-color:#B55376; box-shadow:0 0 0 3px rgba(200,137,122,0.15); }
.bumply-names__row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
.bumply-names__row--meta { grid-template-columns:1fr 1fr; align-items:center; }
.bumply-names__addwrap { display:flex; justify-content:center; margin-top:16px; }
.bumply-names__addbtn {
  border:none; border-radius:999px; padding:14px 44px; cursor:pointer; white-space:nowrap; min-width:240px;
  background:#B55376; color:#FFFFFF; font-weight:600; font-size:1rem; letter-spacing:0.02em; font-family: var(--font-body); transition:background .2s ease, transform .15s ease;
}
.bumply-names__addbtn:hover { background:#C0758F; transform:translateY(-1px); }
.bumply-names__bar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; flex-direction:column; margin:22px 0 16px; }
.bumply-names__filters { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.bumply-names__filters button {
  border:1px solid #D9DADC; background:#FFFFFF; border-radius:999px; padding:10px 22px; cursor:pointer;
  font-size:0.92rem; font-weight:600; color:#46525E; font-family: var(--font-body); transition:all .15s ease;
}
.bumply-names__filters button.is-active { background:#B55376; border-color:#B55376; color:#FFFFFF; }
.bumply-names__count { font-size:0.85rem; color:#7C8792; }
.bumply-names__list { list-style:none; margin:0; padding:0; }
.bumply-names__item { display:flex; align-items:center; gap:12px; padding:13px 4px; border-bottom:1px solid #EDEDEE; }
.bumply-names__heart { border:none; background:none; cursor:pointer; font-size:1.25rem; line-height:1; color:#B55376; padding:0; width:26px; }
.bumply-names__name { flex:1; font-family: var(--font-heading); font-size:1.3rem; color:#131D27; }
.bumply-names__item.is-loved .bumply-names__name { font-weight:600; }
.bumply-names__tag { font-size:0.68rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; padding:3px 9px; border-radius:999px; }
.bumply-names__tag--girl { background:#FBEFF4; color:#A85271; }
.bumply-names__tag--boy { background:#F0F7FE; color:#7EA3C5; }
.bumply-names__tag--neutral { background:#EDEEEF; color:#54687D; }
.bumply-names__by { font-size:0.78rem; color:#7C8792; min-width:54px; text-align:right; }
.bumply-names__del { border:none; background:none; cursor:pointer; font-size:1.4rem; line-height:1; color:#C5ABB5; padding:0 4px; }
.bumply-names__del:hover { color:#C0758F; }
.bumply-names__empty { color:#7C8792; font-size:0.95rem; text-align:center; padding:24px 0; margin:0; }
.bumply-names__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; justify-content:center; align-items:stretch; }
.bumply-names__actions .bumply-btn { min-height:52px; display:inline-flex; align-items:center; justify-content:center; }
.bumply-names__actions .bumply-emailwrap { display:inline-flex; }
.bumply-names__actions .bumply-emailwrap .bumply-btn { width:100%; }
.bumply-names__note { font-size:0.82rem; color:#7C8792; margin:18px auto 0; text-align:center; max-width:560px; }
@media (max-width:600px){
  .bumply-names { padding:20px; }
  .bumply-names__row, .bumply-names__row--meta { grid-template-columns:1fr; }
  .bumply-names__actions .bumply-btn { width:100%; text-align:center; }
}
@media print {
  .bumply-header, .bumply-footer, .bumply-names__add, .bumply-names__surname, .bumply-names__bar, .bumply-names__actions, .bumply-names__note, .bumply-section-hero, .bumply-faq, .bumply-names__del, .bumply-names__heart { display:none !important; }
  .bumply-names { border:none; padding:0; }
}

/* ============================================================
   CHECKLISTS (.bumply-check)
   ============================================================ */
.bumply-check { background:#FFFFFF; border:1px solid #E4E5E7; border-radius:16px; padding:30px 32px; margin-bottom:28px; }
.bumply-check__head { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:6px; }
.bumply-check__head h2 { font-family: var(--font-heading); font-size:1.7rem; font-weight:600; color:#131D27; margin:0; }
.bumply-check__progress { display:flex; align-items:center; gap:10px; }
.bumply-check__bar { display:block; width:120px; height:8px; background:#EDEDEE; border-radius:999px; overflow:hidden; }
.bumply-check__bar > span { display:block; height:100%; width:0; background:#B55376; transition:width .25s ease; }
.bumply-check__count { font-size:0.8rem; color:#7C8792; white-space:nowrap; }
.bumply-check__intro { color:#46525E; font-size:0.95rem; line-height:1.6; margin:0 0 16px; }
.bumply-check__intro a { color:#79A0C3; text-decoration:underline; text-underline-offset:2px; }
.bumply-check h3 { font-family: var(--font-body); font-size:0.78rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#B55376; margin:20px 0 10px; }
.bumply-check label { display:block; position:relative; padding:9px 0 9px 32px; font-size:1rem; color:#212D39; line-height:1.5; cursor:pointer; border-bottom:1px solid #F2F2F3; }
.bumply-check input[type="checkbox"] { position:absolute; left:0; top:10px; width:20px; height:20px; accent-color:#B55376; cursor:pointer; }
.bumply-check label a { color:#79A0C3; text-decoration:underline; text-underline-offset:2px; }
.bumply-check label a:hover { color:#294664; }
.bumply-check label:has(input:checked) { color:#7C8792; text-decoration:line-through; text-decoration-color:#D1D3D5; }
.bumply-check label:has(input:checked) a { color:#7C8792; }
.bumply-check__actions { display:flex; gap:10px; margin-top:20px; }
.bumply-check__actions { flex-wrap:wrap; }
/* Email-it-to-me, added 2026-08-19. /checklists/ had Print, Share and Reset and
   no way to send yourself the list: the eight maternity ARTICLES sent the email
   and the page the checklists actually live on sent nothing. Ana: "emails for
   checklists still is not fixed". Hidden until asked, so the reader still gets
   the checklist first and the ask comes second. Brand tokens only, no new
   colour literal (check 17). */
.bumply-check__mail { margin:14px 0 0; padding:16px 18px; border:1px solid var(--rule-line); border-radius:14px; background:var(--paper); max-width:520px; }
.bumply-check__mail[hidden] { display:none; }
.bumply-check__maillabel { display:block; font-family:var(--font-body); font-size:.92rem; color:var(--ink-body); margin:0 0 8px; }
.bumply-check__maillabel input { display:block; width:100%; margin:6px 0 0; padding:11px 13px; border:1px solid var(--rule-strong); border-radius:9px; font-family:var(--font-body); font-size:1rem; }
.bumply-check__mail button { margin:2px 0 0; border:1px solid var(--rule-strong); background:var(--bedtime-blue); color:var(--cotton); border-radius:8px; padding:11px 18px; font-family:var(--font-body); font-weight:600; cursor:pointer; }
.bumply-check__mailfine { font-family:var(--font-body); font-size:.8rem; color:var(--ink-muted); margin:10px 0 0; }
.bumply-check__hp { position:absolute; left:-9999px; }
.bumply-check__actions button { border:1px solid #D9DADC; background:#FFFFFF; border-radius:8px; padding:9px 18px; cursor:pointer; font-size:0.85rem; font-weight:600; color:#46525E; font-family: var(--font-body); }
.bumply-check__actions button:hover { border-color:#DAACBE; color:#131D27; }
@media (max-width:600px){ .bumply-check { padding:22px 20px; } }
@media print {
  .bumply-header,.bumply-footer,.bumply-section-hero,.bumply-check__actions,.bumply-pill,.bumply-check__bar { display:none !important; }
  body[data-print-only] .bumply-check:not([data-key]) { display:none; }
  .bumply-check { border:none; padding:0; margin-bottom:24px; page-break-inside:avoid; }
  .bumply-check label { border-bottom:1px solid #eee; }
}

/* ============================================================
   MOBILE OPTIMIZATION PASS
   ============================================================ */
@media (max-width: 600px) {
  /* Wide comparison tables scroll instead of breaking the layout */
  .bumply-spec-table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
  .wp-block-post-content table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  /* Brand article tables: let the bordered figure own the scroll so the rounded
     card stays intact instead of the table scrolling inside it. */
  .bumply-article-content figure.wp-block-table table { display:table; overflow-x:visible; }
  /* Never let media or pre push the page wide */
  .wp-block-post-content img, .bumply-sec-banner, img { max-width:100%; height:auto; }
  /* Comfortable tap targets and reading size */
  .wp-block-post-content { font-size:1.05rem; }
  .bumply-pill, .bumply-tabs__labels label, .bumply-names__filters button { padding-top:10px; padding-bottom:10px; }
  /* Tighten oversized hero padding on small screens */
  .bumply-section-hero { padding-left:0; padding-right:0; }
  /* Collapsible details summaries get a bigger touch area */
  .bumply-faq summary, .bumply-learn > summary, .bumply-spec > summary { padding-top:6px; padding-bottom:6px; }
  /* Top-pick recap stacks */
  .bumply-top-pick__grid { grid-template-columns:1fr; }
}
/* Guard against any element forcing horizontal scroll */
.wp-block-post-content { overflow-wrap:break-word; word-wrap:break-word; }

.bumply-hub-card--accent { background:#FDF5F8; border-color:#EDAEC6; }
.bumply-hub-card--accent .eyebrow { margin-bottom:8px; display:block; }

/* ============================================================
   BABY NAME LIST v2 - inspiration + meanings + name gifts
   ============================================================ */
.bumply-names__main { flex:1; display:flex; flex-direction:column; }
.bumply-names__meaning { font-size:0.82rem; color:#7C8792; line-height:1.3; margin-top:1px; }

/* Name search box */
.bumply-insp__search { display:flex; align-items:center; gap:10px; max-width:460px; margin:0 auto 22px; background:#FFFFFF; border:1px solid #D9DADC; border-radius:999px; padding:4px 8px 4px 18px; transition:border-color .15s ease, box-shadow .15s ease; }
.bumply-insp__search:focus-within { border-color:#B55376; box-shadow:0 0 0 4px rgba(200,137,122,0.14); }
.bumply-insp__search svg { width:20px; height:20px; color:#7C8792; flex:none; }
.bumply-insp__search input { flex:1; min-width:0; border:0; background:transparent; outline:none; font-family: var(--font-body); font-size:1rem; color:#131D27; padding:12px 12px 12px 0; }
.bumply-insp__search input::placeholder { color:#7C8792; }
.bumply-insp__search input::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.bumply-insp__empty { grid-column:1/-1; text-align:center; color:#636A71; font-size:1rem; line-height:1.6; margin:0; padding:34px 16px; }
.bumply-insp__filters { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 18px; }
.bumply-insp__filters button { border:1px solid #D9DADC; background:#FFFFFF; border-radius:999px; padding:10px 22px; cursor:pointer; font-size:0.92rem; font-weight:600; color:#46525E; font-family: var(--font-body); transition:all .15s ease; }
.bumply-insp__filters button.is-active { background:#B55376; border-color:#B55376; color:#FFFFFF; }
/* Meaning view toggle (with / without meanings) */
.bumply-insp__view { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 22px; }
.bumply-insp__view button { border:1px solid #DEEAF7; background:#FFFFFF; border-radius:999px; padding:10px 24px; cursor:pointer; font-size:0.92rem; font-weight:600; color:#5C6E7F; font-family: var(--font-body); transition:all .15s ease; }
.bumply-insp__view button.is-active { background:#8FBEE8; border-color:#8FBEE8; color:#FFFFFF; }
.bn-nomeaning .bumply-insp__meaning, .bn-nomeaning .bumply-names__meaning { display:none; }
.bumply-insp__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.bumply-insp__card { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:86px; text-align:left; background:#FFFFFF; border:1px solid #E4E5E7; border-radius:12px; padding:16px 58px 16px 20px; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; font-family: var(--font-body); }
.bumply-insp__card:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(44,36,25,0.09); border-color:#DAACBE; }
.bumply-insp__card.is-added { border-color:#B55376; background:#FDF5F8; }
.bumply-insp__name { display:block; font-family: var(--font-heading); font-size:1.35rem; font-weight:600; color:#131D27; line-height:1.2; }
.bumply-insp__meaning { display:block; font-size:0.85rem; color:#636A71; margin:3px 0 0; line-height:1.35; }
/* Add affordance: subtle circular control in the card corner (the whole card is the tap target) */
.bumply-insp__add { position:absolute; top:50%; right:14px; transform:translateY(-50%); width:34px; height:34px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:#F2F2F3; color:#B55376; font-size:1.2rem; font-weight:600; line-height:1; transition:background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease; }
.bumply-insp__add::before { content:'+'; }
.bumply-insp__card:hover .bumply-insp__add { background:#B55376; color:#FFFFFF; transform:translateY(-50%) scale(1.07); box-shadow:0 6px 14px -6px rgba(200,137,122,0.8); }
.bumply-insp__card.is-added .bumply-insp__add { background:#B55376; color:#FFFFFF; }
.bumply-insp__card.is-added .bumply-insp__add::before { content:'✓'; font-size:0.98rem; }

.bumply-namegift { background:#F0F1F2; border:1px solid #DCDEE0; border-radius:16px; padding:30px 32px; text-align:center; }
.bumply-namegift__eyebrow { font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#B55376; margin:0 0 4px; }
.bumply-namegift__title { font-family: var(--font-heading); font-size:1.8rem; color:#131D27; margin:0 0 8px; }
.bumply-namegift__sub { font-size:0.97rem; color:#46525E; line-height:1.6; max-width:560px; margin:0 auto 18px; }
.bumply-namegift__chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.bumply-namegift__chip { display:inline-block; background:#B55376; color:#FFFFFF !important; text-decoration:none; font-weight:600; font-size:0.9rem; padding:10px 18px; border-radius:999px; transition:background .2s ease; }
.bumply-namegift__chip:hover { background:#C0758F; }
.bumply-namegift__disc { font-size:0.78rem; color:#7C8792; margin:16px 0 0; }
.bumply-namegift__disc a { color:#8FBEE8; }
@media (max-width:600px){
  .bumply-insp__grid { grid-template-columns:1fr 1fr; }
  .bumply-namegift { padding:22px 18px; }
}

/* ============================================================
   FEATURE CTA - prominent clickable promo (e.g. Fertility Diet)
   ============================================================ */
.bumply-feature-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  background: linear-gradient(135deg,#FDF5F8,#ECEDEE);
  border: 1px solid #EAB9CC; border-radius: 16px; padding: 28px 32px; margin: 8px 0 16px;
  text-decoration: none; transition: transform .18s ease, box-shadow .18s ease;
}
.bumply-feature-cta:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(200,137,122,0.18); }
.bumply-feature-cta__text { flex: 1; min-width: 260px; }
.bumply-feature-cta__eyebrow { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #B55376; margin-bottom: 6px; }
.bumply-feature-cta__title { display: block; font-family: var(--font-heading); font-size: 1.9rem; font-weight: 600; color: #131D27; line-height: 1.1; margin-bottom: 8px; }
.bumply-feature-cta__desc { display: block; font-size: 0.97rem; color: #46525E; line-height: 1.6; }
.bumply-feature-cta .bumply-btn { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 600px) { .bumply-feature-cta { padding: 22px; } }

.bumply-insp__filters--style { margin-top: -4px; }
.bumply-insp__filters--style button { font-size: 0.86rem; padding: 9px 18px; }

/* ============================================================
   Balanced 4-column informational tables (fertility diet,
   nutrition, comparison). First column is a short category, so
   keep it narrow and split the rest evenly. Desktop only; on
   mobile the table scrolls (see mobile pass above).
   ============================================================ */
@media (min-width: 601px) {
  .bumply-spec-table:has(th:nth-child(4)) { table-layout: fixed; width: 100%; }
  .bumply-spec-table:has(th:nth-child(4)) th:nth-child(1),
  .bumply-spec-table:has(th:nth-child(4)) td:nth-child(1) { width: 22%; }
  .bumply-spec-table:has(th:nth-child(4)) th:nth-child(2),
  .bumply-spec-table:has(th:nth-child(4)) td:nth-child(2) { width: 26%; }
  .bumply-spec-table:has(th:nth-child(4)) th:nth-child(3),
  .bumply-spec-table:has(th:nth-child(4)) td:nth-child(3) { width: 26%; }
  .bumply-spec-table:has(th:nth-child(4)) th:nth-child(4),
  .bumply-spec-table:has(th:nth-child(4)) td:nth-child(4) { width: 26%; }
  .bumply-spec-table:has(th:nth-child(4)) th,
  .bumply-spec-table:has(th:nth-child(4)) td {
    vertical-align: top;
    padding-left: 16px;
    padding-right: 16px;
    /* never split a word like "SUPPLEMENT" or "multivitamin" across lines */
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }
}

.bumply-names__addlabel { font-size:0.85rem; color:#636A71; margin:6px 0 12px; }
.bumply-names--list { background:#FFFFFF; }
.bumply-insp__more { text-align:center; margin:20px 0 0; }
.bumply-insp__morebtn { display:inline-block; background:#FFFFFF; border:1px solid #CED0D3; color:#131D27; font-family: var(--font-body); font-weight:600; font-size:0.92rem; letter-spacing:0.02em; padding:12px 26px; border-radius:999px; cursor:pointer; transition:background .15s ease, border-color .15s ease, transform .15s ease; }
.bumply-insp__morebtn:hover { background:#FBEFF3; border-color:#B55376; color:#C0758F; transform:translateY(-1px); }
.bumply-insp__morebtn[hidden] { display:none; }
.bumply-insp__jump { text-align:center; margin:22px 0 0; }
.bumply-insp__jump a { color:#8FBEE8; font-size:0.95rem; font-weight:600; text-decoration:none; }
.bumply-insp__jump a:hover { text-decoration:underline; }

/* Email-my-list provider menu */
.bumply-emailwrap { position: relative; display: inline-block; }
.bumply-emailmenu { position: absolute; top: calc(100% + 6px); left: 0; background: #FFFFFF; border: 1px solid #E4E5E7; border-radius: 10px; box-shadow: 0 12px 28px rgba(44,36,25,0.14); padding: 6px; z-index: 30; min-width: 170px; display: flex; flex-direction: column; }
/* The class sets display:flex, which would override the hidden attribute and
   keep the menu permanently open; this keeps hidden working (default + toggle). */
.bumply-emailmenu[hidden] { display: none; }
.bumply-emailmenu a { padding: 9px 14px; border-radius: 6px; font-size: 0.9rem; color: #131D27; text-decoration: none; font-weight: 600; font-family: var(--font-body); cursor: pointer; }
.bumply-emailmenu a:hover { background: #FBEFF3; color: #C0758F; }

/* FAQ section (functions.php section 25) + FAQPage schema */
.bumply-faq {
  max-width: 760px;
  margin: 48px auto 8px;
  padding: 0 var(--space-6);
}
.bumply-faq > h2 { margin-bottom: 18px; }
.bumply-faq__item {
  border-top: 1px solid #E2E3E4;
  padding: 18px 0;
}
.bumply-faq__item:last-child { border-bottom: 1px solid #E2E3E4; }
.bumply-faq__q {
  margin: 0 0 8px;
  font-size: 1.12rem;
  line-height: 1.4;
  color: #131D27;
}
.bumply-faq__a p {
  margin: 0;
  color: #38424D;
  line-height: 1.7;
}

/* In-article lead magnet (functions.php section 26) */
.bumply-leadmag {
  max-width: 760px;
  margin: 36px auto;
  padding: 26px 28px;
  background: linear-gradient(135deg, #131D27 0%, #1B2836 100%);
  border: 1px solid #D2829E;
  border-radius: 14px;
  text-align: center;
  color: #FAFAFA;
}
.bumply-leadmag__eyebrow {
  margin: 0 0 6px;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #CF86A2;
  font-weight: 700;
}
.bumply-leadmag__title {
  margin: 0 0 8px;
  font-family: var(--font-heading);
  font-size: 1.5rem;
  line-height: 1.2;
  color: #FAFAFA;
}
.bumply-leadmag__desc {
  margin: 0 auto 18px;
  max-width: 520px;
  font-size: 0.98rem;
  line-height: 1.6;
  color: rgba(250, 248, 244, 0.8);
}
.bumply-leadmag__form {
  display: flex;
  gap: 10px;
  max-width: 480px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: center;
}
.bumply-leadmag__form input[type="email"] {
  flex: 1 1 240px;
  min-width: 0;
  padding: 13px 15px;
  border-radius: 8px;
  border: 1px solid rgba(250, 248, 244, 0.3);
  background: rgba(250, 248, 244, 0.08);
  color: #FAFAFA;
  font-size: 0.98rem;
}
.bumply-leadmag__form input[type="email"]::placeholder { color: rgba(250, 248, 244, 0.55); }
.bumply-leadmag__form button {
  flex: 0 0 auto;
  background: #D2829E;
  color: #121B25;
  border: none;
  border-radius: 8px;
  padding: 13px 24px;
  font-weight: 700;
  cursor: pointer;
}
.bumply-leadmag__form button:hover { background: #CF86A2; }
.bumply-leadmag__fine {
  margin: 12px 0 0;
  font-size: 0.78rem;
  color: rgba(250, 248, 244, 0.55);
}

/* Slim, curated footer (replaces the old fat 4-column nav) */
.bumply-footer__signup {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(250, 248, 244, 0.08);
}
.bumply-footer__signup-text {
  color: rgba(250, 248, 244, 0.82);
  font-size: 1rem;
  line-height: 1.55;
  margin: 0 0 14px;
}
.bumply-footer__signup-text strong { color: #FAFAFA; }

.bumply-footer__main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px 48px;
  flex-wrap: wrap;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(250, 248, 244, 0.08);
}
.bumply-footer__brand { max-width: 380px; }
.bumply-footer__logo {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  color: #FAFAFA;
  text-decoration: none;
}
.bumply-footer__tagline {
  color: rgba(250, 248, 244, 0.6);
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 10px 0 14px;
}
.bumply-footer__socials { display: flex; gap: 20px; }
.bumply-footer__socials a {
  color: rgba(250, 248, 244, 0.7);
  text-decoration: none;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.bumply-footer__links {
  display: flex;
  gap: 14px 26px;
  flex-wrap: wrap;
  align-items: center;
}
.bumply-footer__links a {
  color: rgba(250, 248, 244, 0.72);
  text-decoration: none;
  font-size: 0.98rem;
}
.bumply-footer__links a:hover,
.bumply-footer__socials a:hover { color: #FAFAFA; }

.bumply-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 24px;
  padding-top: 22px;
}
.bumply-footer__copyright {
  margin: 0;
  color: rgba(250, 248, 244, 0.45);
  font-size: 0.82rem;
}
.bumply-footer__legal { display: flex; gap: 20px; flex-wrap: wrap; }
.bumply-footer__legal a {
  color: rgba(250, 248, 244, 0.55);
  text-decoration: none;
  font-size: 0.82rem;
}
.bumply-footer__legal a:hover { color: #FAFAFA; }

@media (max-width: 600px) {
  .bumply-footer__main { flex-direction: column; gap: 24px; }
  .bumply-footer__bottom { justify-content: center; text-align: center; }
}

/* =============================================================================
   MOBILE READING GUTTERS
   Hand-authored block-theme templates do not carry WordPress's
   .has-global-padding class, so the theme.json root padding never reaches
   them and constrained content (the 760px/1180px reading columns) sat flush
   against the screen edges on small screens. WordPress does add
   .is-layout-constrained to constrained groups at render time, so we add the
   side gutters here: the nested reset prevents double padding and the
   alignfull rule lets full-width children still span edge to edge.
   ============================================================================= */
@media (max-width: 781px) {
  .is-layout-constrained {
    padding-left: clamp(20px, 5vw, 28px);
    padding-right: clamp(20px, 5vw, 28px);
  }
  .is-layout-constrained .is-layout-constrained {
    padding-left: 0;
    padding-right: 0;
  }
  .is-layout-constrained > .alignfull {
    margin-left: calc(-1 * clamp(20px, 5vw, 28px));
    margin-right: calc(-1 * clamp(20px, 5vw, 28px));
  }
}

/* ============================================================
   Trying to Conceive: colorful, organized card system
   Brand-color tile treatment (accent bar + colored eyebrow,
   rotating rose/sage/blue/gold/clay/lilac), hover lift, and
   clearer section separation. Applies via the global stylesheet.
   ============================================================ */

/* Centered section headers get a small gradient divider for separation */
.bumply-section-header--center { display: flex; flex-direction: column; align-items: center; }
.bumply-section-header--center::after {
  content: ''; display: block; width: 54px; height: 3px; border-radius: 3px;
  margin: 14px auto 2px; background: linear-gradient(90deg, #B55376, #8FBEE8);
}

/* Stats strip and "is it time" numbers: warm accent */
.bumply-ttc-stats__number { color: #BB748D; }
.bumply-help-when__big { color: #BB748D; }

/* Roadmap: rose gradient number badges */
.bumply-roadmap__num {
  background: linear-gradient(160deg, #CE7F9B, #BA6583) !important;
  color: #fff !important; border: 0 !important;
  box-shadow: 0 6px 14px -6px rgba(176, 111, 94, 0.7);
}
.bumply-roadmap__step--muted .bumply-roadmap__num {
  background: linear-gradient(160deg, #C8A9B5, #768A9E) !important;
  box-shadow: none;
}

/* Cycle + ready cards: rounded, accent bar, hover lift */
.bumply-cycle-card, .bumply-ready-card {
  position: relative; overflow: hidden; border-radius: 14px; padding-top: 26px;
  box-shadow: 0 1px 2px rgba(43, 36, 28, 0.03);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.bumply-cycle-card::before, .bumply-ready-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
}
.bumply-cycle-card:hover, .bumply-ready-card:hover {
  transform: translateY(-3px); border-color: #D3D5D8;
  box-shadow: 0 18px 34px -22px rgba(43, 36, 28, 0.45);
}
.bumply-cycle-card__label, .bumply-ready-card__tag { font-weight: 700; }

/* Palette rotation: rose, sage, blue, gold, clay, lilac */
.bumply-cycle-card:nth-child(6n+1)::before { background: linear-gradient(90deg, #D29AAF, #B55376); }
.bumply-cycle-card:nth-child(6n+1) .bumply-cycle-card__label { color: #BB748D; }
.bumply-cycle-card:nth-child(6n+2)::before { background: linear-gradient(90deg, #ADC4D8, #88A6C0); }
.bumply-cycle-card:nth-child(6n+2) .bumply-cycle-card__label { color: #6E90AD; }
.bumply-cycle-card:nth-child(6n+3)::before { background: linear-gradient(90deg, #B7D6F2, #8FBEE8); }
.bumply-cycle-card:nth-child(6n+3) .bumply-cycle-card__label { color: #70A4D2; }
.bumply-cycle-card:nth-child(6n+4)::before { background: linear-gradient(90deg, #D593AC, #D2819E); }
.bumply-cycle-card:nth-child(6n+4) .bumply-cycle-card__label { color: #BD4B73; }
.bumply-cycle-card:nth-child(6n+5)::before { background: linear-gradient(90deg, #D7A5B8, #C66F8E); }
.bumply-cycle-card:nth-child(6n+5) .bumply-cycle-card__label { color: #BF728D; }
.bumply-cycle-card:nth-child(6n+6)::before { background: linear-gradient(90deg, #CCDCEB, #8092A5); }
.bumply-cycle-card:nth-child(6n+6) .bumply-cycle-card__label { color: #637383; }

.bumply-ready-card:nth-child(6n+1)::before { background: linear-gradient(90deg, #D29AAF, #B55376); }
.bumply-ready-card:nth-child(6n+1) .bumply-ready-card__tag { color: #BB748D; }
.bumply-ready-card:nth-child(6n+2)::before { background: linear-gradient(90deg, #ADC4D8, #88A6C0); }
.bumply-ready-card:nth-child(6n+3)::before { background: linear-gradient(90deg, #B7D6F2, #8FBEE8); }
.bumply-ready-card:nth-child(6n+4)::before { background: linear-gradient(90deg, #D593AC, #D2819E); }
.bumply-ready-card:nth-child(6n+5)::before { background: linear-gradient(90deg, #D7A5B8, #C66F8E); }
.bumply-ready-card:nth-child(6n+6)::before { background: linear-gradient(90deg, #CCDCEB, #8092A5); }

/* Help cards: colored top bar + role, hover lift */
.bumply-help-card {
  position: relative; overflow: hidden; border-radius: 14px; padding-top: 24px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.bumply-help-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #B7D6F2, #8FBEE8);
}
.bumply-help-card--accent::before { background: linear-gradient(90deg, #D29AAF, #B55376); }
.bumply-help-card:hover { transform: translateY(-3px); box-shadow: 0 18px 34px -22px rgba(43, 36, 28, 0.45); }
.bumply-help-card__role { color: #70A4D2; }
.bumply-help-card--accent .bumply-help-card__role { color: #BB748D; }

/* Path picker: warm label on hover */
.bumply-pathstart__card:hover .bumply-pathstart__label { color: #BB748D; }

/* ============================================================
   Readability + alignment pass (Trying to Conceive + Baby Names)
   Larger, darker body copy and consistent left alignment so the
   pages stop feeling cramped and ragged.
   ============================================================ */

/* Bigger, more legible body copy on the info cards and intros */
.bumply-cycle-card__body,
.bumply-plain,
.bumply-ready-card__body,
.bumply-help-card__body { font-size: 1rem; line-height: 1.72; color: #343E49; }
.bumply-roadmap__desc { font-size: 1rem; line-height: 1.7; color: #343E49; }
.bumply-help-when__sm { font-size: 0.95rem; color: #343E49; }
.bumply-clinic__note { font-size: 0.92rem; }
.bumply-learn p { font-size: 0.98rem; line-height: 1.72; }
.bumply-sec-intro { font-size: 1.08rem; color: #38434F; max-width: 700px; }

/* Get Help section: align the whole section cleanly to the left */
#get-help { text-align: left; }
#get-help .bumply-section-header--center { align-items: flex-start; text-align: left; }
#get-help .bumply-section-header--center::after { margin-left: 0; margin-right: 0; }
#get-help .bumply-sec-intro { text-align: left; margin-left: 0; margin-right: 0; max-width: 780px; }
#get-help p[style] { font-size: 1rem !important; line-height: 1.72 !important; text-align: left; max-width: 780px; }

/* Baby name ideas: larger, more readable card and label text */
.bumply-insp__meaning { font-size: 0.95rem; color: #4B5661; margin: 3px 0 0; line-height: 1.45; }
.bumply-names__surname label,
.bumply-names__add label { font-size: 0.82rem; color: #636A71; }
.bumply-names__addlabel { font-size: 0.96rem; color: #4B5661; }

/* ============================================================
   Get Help (Trying to Conceive): bigger text + breathing room
   Scoped + forced so it wins decisively over the small defaults.
   ============================================================ */
#get-help .bumply-help-subhead { margin-top: 52px; font-size: 1.65rem; }
#get-help .bumply-help-when { padding: 26px 30px; margin-bottom: 40px; }
#get-help .bumply-help-when__title { font-size: 1.35rem; }
#get-help .bumply-help-when__big { font-size: 2.05rem; }
#get-help .bumply-help-when__sm { font-size: 1rem !important; color: #343E49; }
#get-help .bumply-help-grid { gap: 22px; }
#get-help .bumply-help-card { padding: 28px; }
#get-help .bumply-help-card__role { font-size: 1.35rem; }
#get-help .bumply-help-card__body { color: #343E49 !important; }
#get-help .bumply-help-note { padding: 18px 22px; margin-top: 18px; }
#get-help .bumply-clinic { max-width: 560px; margin-top: 4px; }
#get-help .bumply-clinic__note { font-size: 0.95rem; }

/* ============================================================
   TTC: cycle cards as calculator-style gradient tiles + bigger copy
   ============================================================ */
.bumply-cycle-card { position: relative; overflow: hidden; border-radius: 14px; padding: 22px 24px; }
.bumply-cycle-card::before { display: none !important; }
.bumply-cycle-card__head {
  margin: -22px -24px 18px; height: 78px; position: relative;
  display: flex; align-items: center; justify-content: center;
}
.bumply-cycle-card__head::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(120% 95% at 82% 0%, rgba(255,255,255,.24), transparent 58%);
}
.bumply-cycle-card__icon {
  position: relative; z-index: 1; width: 50px; height: 50px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.24); color: #fff; box-shadow: 0 6px 14px -6px rgba(0,0,0,.3);
}
.bumply-cycle-card__icon svg { width: 25px; height: 25px; }
.bumply-cycle-card:nth-child(6n+1) .bumply-cycle-card__head { background: linear-gradient(135deg,#D29AAF,#B55376); }
.bumply-cycle-card:nth-child(6n+2) .bumply-cycle-card__head { background: linear-gradient(135deg,#ADC4D8,#88A6C0); }
.bumply-cycle-card:nth-child(6n+3) .bumply-cycle-card__head { background: linear-gradient(135deg,#B7D6F2,#8FBEE8); }
.bumply-cycle-card:nth-child(6n+4) .bumply-cycle-card__head { background: linear-gradient(135deg,#D593AC,#D2819E); }
.bumply-cycle-card:nth-child(6n+5) .bumply-cycle-card__head { background: linear-gradient(135deg,#D7A5B8,#C66F8E); }
.bumply-cycle-card:nth-child(6n+6) .bumply-cycle-card__head { background: linear-gradient(135deg,#CCDCEB,#8092A5); }

/* Bigger, human-readable type across the TTC cards and FAQ */
.bumply-cycle-card__label { font-size: 0.78rem !important; }
.bumply-cycle-card__title { font-size: 1.5rem !important; margin-bottom: 10px !important; }
.bumply-cycle-card__body, .bumply-plain { font-size: 1.06rem !important; line-height: 1.6 !important; color: #343E49 !important; }
.bumply-learn > summary { font-size: 1rem; }
.bumply-ready-card__title { font-size: 1.5rem !important; }
.bumply-ready-card__body { font-size: 1.06rem !important; line-height: 1.62 !important; color: #343E49 !important; }
.bumply-faq summary { font-size: 1.12rem; }
.bumply-faq__answer { font-size: 1.06rem; color: #343E49; line-height: 1.7; }

/* Cycle basics: image banner with the title overlaid (saves vertical space) */
.bumply-cycle-hero {
  position: relative; border-radius: 16px; overflow: hidden; margin-bottom: 30px;
  min-height: 300px; display: flex; align-items: center; justify-content: center;
  text-align: center; background-size: cover; background-position: center;
}
.bumply-cycle-hero::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(44,36,25,0.42) 0%, rgba(44,36,25,0.52) 100%);
}
.bumply-cycle-hero__inner { position: relative; z-index: 1; max-width: 720px; padding: 52px 28px; }
.bumply-cycle-hero__title {
  font-family: var(--font-heading); font-weight: 400;
  font-size: clamp(2.1rem, 4vw, 3rem); line-height: 1.1; color: #FAFAFA; margin: 0 0 14px;
  text-shadow: 0 2px 18px rgba(0,0,0,0.55);
}
.bumply-cycle-hero__sub {
  font-size: 1.08rem; line-height: 1.7; color: rgba(250,248,244,0.92);
  margin: 0 auto; max-width: 620px; text-shadow: 0 1px 10px rgba(0,0,0,0.5);
}
@media (max-width: 640px) { .bumply-cycle-hero { min-height: 240px; } .bumply-cycle-hero__inner { padding: 40px 22px; } }

/* ============================================================
   Trying to Conceive: ONE authoritative readable type size.
   Forced (!important) to win over the small defaults and any
   duplicate rules, so nothing is left tiny.
   ============================================================ */
.bumply-callout, .bumply-callout p { font-size: 1.08rem !important; line-height: 1.72 !important; }
.bumply-sec-intro { font-size: 1.1rem !important; line-height: 1.7 !important; }
.bumply-plain, .bumply-cycle-card__body { font-size: 1.06rem !important; line-height: 1.62 !important; }
.bumply-ready-card__body { font-size: 1.06rem !important; line-height: 1.62 !important; }
.bumply-roadmap__desc { font-size: 1.06rem !important; line-height: 1.7 !important; }
.bumply-help-card__body { font-size: 1.06rem !important; line-height: 1.65 !important; }
.bumply-help-note { font-size: 1.06rem !important; line-height: 1.72 !important; }
.bumply-help-when__sm { font-size: 1rem !important; }
.bumply-pathstart__sub { font-size: 1rem !important; line-height: 1.55 !important; }
.bumply-tabs__panel li { font-size: 1.06rem !important; line-height: 1.6 !important; }
.bumply-faq summary { font-size: 1.14rem !important; }
.bumply-faq__answer, .bumply-faq__answer p { font-size: 1.08rem !important; line-height: 1.72 !important; }
.bumply-learn p { font-size: 1.02rem !important; line-height: 1.72 !important; }

/* ============================================================
   TTC: ready + help cards become gradient-header icon tiles,
   matching the cycle cards and the calculator tiles.
   ============================================================ */
.bumply-ready-card, .bumply-ready-card--feature, .bumply-help-card {
  position: relative; overflow: hidden; border-radius: 14px; padding: 22px 24px;
}
.bumply-ready-card::before, .bumply-help-card::before { display: none !important; }
.bumply-ready-card__head, .bumply-help-card__head {
  margin: -22px -24px 18px; height: 78px; position: relative;
  display: flex; align-items: center; justify-content: center;
}
.bumply-ready-card__head::after, .bumply-help-card__head::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(120% 95% at 82% 0%, rgba(255,255,255,0.24), transparent 58%);
}
.bumply-ready-card__icon, .bumply-help-card__icon {
  position: relative; z-index: 1; width: 50px; height: 50px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.24); color: #fff; box-shadow: 0 6px 14px -6px rgba(0,0,0,0.3);
}
.bumply-ready-card__icon svg, .bumply-help-card__icon svg { width: 25px; height: 25px; }
/* Modern 2025 palette: muted mocha/taupe browns + serene denim baby blue
   + soft sage and honeyed neutrals (desaturated, on brand). */
.bumply-ready-card:nth-child(6n+1) .bumply-ready-card__head { background: linear-gradient(135deg,#BC7C93,#B4738A); }
.bumply-ready-card:nth-child(6n+2) .bumply-ready-card__head { background: linear-gradient(135deg,#A1BCD3,#7D9EBB); }
.bumply-ready-card:nth-child(6n+3) .bumply-ready-card__head { background: linear-gradient(135deg,#B5D0E9,#81B0DA); }
.bumply-ready-card:nth-child(6n+4) .bumply-ready-card__head { background: linear-gradient(135deg,#C692A6,#BB748D); }
.bumply-ready-card:nth-child(6n+5) .bumply-ready-card__head { background: linear-gradient(135deg,#8294A7,#AC7B8C); }
.bumply-ready-card:nth-child(6n+6) .bumply-ready-card__head { background: linear-gradient(135deg,#C0CFDD,#95AFC7); }
.bumply-help-card .bumply-help-card__head { background: linear-gradient(135deg,#B5D0E9,#81B0DA); }
.bumply-help-card--accent .bumply-help-card__head { background: linear-gradient(135deg,#BC7C93,#B4738A); }

/* ============================================================
   Get Help: present it as a clear, numbered 5-step path
   ============================================================ */
.bumply-help-promise {
  font-family: var(--font-heading); font-style: italic;
  font-size: 1.25rem; color: #52677D; margin: 4px 0 8px; max-width: 820px;
}
/* The 5 steps as a connected vertical journey: a continuous "string"
   runs down a left rail, with a prominent numbered bead on every step. */
#get-help .bumply-help-journey { position: relative; margin-top: 26px; }
.bumply-step { display: flex; align-items: stretch; gap: 26px; position: relative; }
.bumply-step__rail {
  flex: 0 0 60px; width: 60px; position: relative;
  display: flex; justify-content: center;
}
/* the connecting string: runs from just under this bead down past the
   bottom of the step, into the next bead (which sits on top of it) */
.bumply-step__rail::after {
  content: ""; position: absolute; left: 50%; transform: translateX(-50%);
  top: 54px; bottom: -38px; width: 4px; z-index: 0;
  background: repeating-linear-gradient(180deg, #B55376 0 9px, transparent 9px 18px);
}
.bumply-step--last .bumply-step__rail::after { display: none; }
.bumply-step__content { flex: 1 1 auto; min-width: 0; padding-bottom: 36px; }
.bumply-step__content > .bumply-help-subhead:first-child { margin-top: 0; }

.bumply-help-num {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  position: relative; z-index: 2; align-self: flex-start;
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(150deg, #D998B1, #B86381); color: #fff;
  font-family: var(--font-body); font-size: 1.55rem; font-weight: 700; line-height: 1;
  box-shadow: 0 12px 24px -10px rgba(176,111,94,0.75),
              0 0 0 7px #F0F1F2,
              0 0 0 9px rgba(192,128,111,0.28);
}
#get-help .bumply-help-subhead { display: block; align-items: initial; margin-top: 0; }
#get-help .bumply-help-journey .bumply-help-when { margin-top: 14px; margin-bottom: 0; }

@media (max-width: 600px) {
  .bumply-step { gap: 16px; }
  .bumply-step__rail { flex-basis: 46px; width: 46px; }
  .bumply-help-num { width: 46px; height: 46px; font-size: 1.3rem;
    box-shadow: 0 10px 20px -10px rgba(176,111,94,0.75),
                0 0 0 5px #F0F1F2, 0 0 0 7px rgba(192,128,111,0.28); }
  .bumply-step__rail::after { top: 46px; }
}

/* Align the intro and promise with the cards. They are constrained-layout
   children centered at contentSize, so we match that width (not a narrow
   column, and never margin-left:0 which shoved them off the left edge). */
#get-help .bumply-sec-intro,
#get-help .bumply-help-promise {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1180px !important;
  text-align: left;
}

/* ============================================================
   Get Help refresh: let the copy breathe across the full width,
   and trade the heavy gradient header bars for a cleaner, modern
   card (white panel, soft tinted icon chip, restrained accent).
   ============================================================ */
/* Every step's lead paragraph spans the whole column, not a narrow band.
   (inline max-width on the step paragraphs needs !important) */
#get-help .bumply-step__content > p { max-width: none !important; }

/* Modern card: clean white panel with a small tinted icon chip,
   not a saturated full-width header band. */
#get-help .bumply-help-card {
  background: #FFFFFF;
  border: 1px solid #E8E9EA;
  border-radius: 18px;
  box-shadow: 0 14px 36px -26px rgba(43, 36, 28, 0.5);
  padding: 28px 30px;
}
#get-help .bumply-help-card--accent {
  border-color: #E2E3E5;
  background: linear-gradient(180deg, #FFFFFF 0%, #FCFCFC 100%);
}
#get-help .bumply-help-card__head {
  margin: 0 0 18px; height: auto; display: block;
  background: none !important;
}
#get-help .bumply-help-card__head::after { display: none !important; }
#get-help .bumply-help-card__icon {
  width: 54px; height: 54px; border-radius: 16px;
  background: #F0F5FB; color: #70A4D2; box-shadow: none;
}
#get-help .bumply-help-card--accent .bumply-help-card__icon {
  background: #F3F4F5; color: #B55376;
}
#get-help .bumply-help-card__icon svg { width: 26px; height: 26px; }

/* OB-GYN/RE labels read in their accent colors, kept softer */
#get-help .bumply-help-card__role { color: #5998D1; }
#get-help .bumply-help-card--accent .bumply-help-card__role { color: #B86381; }

/* The "why an RE" note: lighter card, full width */
#get-help .bumply-help-note {
  background: #FFFFFF; border: 1px solid #E8E9EA; border-radius: 16px;
  max-width: none;
}

/* "Things worth ruling out" as a real, tickable checklist with large,
   easy-to-read type (roughly double the old chip size). */
#get-help .bumply-checklist {
  list-style: none; margin: 6px 0 0; padding: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px;
}
#get-help .bumply-checklist li { margin: 0; display: block; }
#get-help .bumply-checklist label {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  width: 100%; box-sizing: border-box;
  background: #FFFFFF; border: 1px solid #DFE0E2; border-radius: 11px;
  padding: 9px 15px; box-shadow: 0 4px 12px -11px rgba(43,36,28,0.45);
  transition: border-color .15s ease, box-shadow .15s ease;
}
#get-help .bumply-checklist label:hover { border-color: #8198AF; box-shadow: 0 8px 18px -14px rgba(43,36,28,0.5); }
#get-help .bumply-checklist input[type="checkbox"] {
  appearance: none; -webkit-appearance: none; flex: none;
  width: 20px; height: 20px; border-radius: 6px;
  border: 2px solid #8FA0B1; background: #F9F9F9; cursor: pointer;
  display: inline-grid; place-content: center; transition: all .15s ease;
}
#get-help .bumply-checklist input[type="checkbox"]::before {
  content: ""; width: 11px; height: 11px; transform: scale(0);
  transition: transform .15s ease; transform-origin: center;
  background: #FFFFFF;
  clip-path: polygon(14% 47%, 0 61%, 40% 100%, 100% 22%, 86% 9%, 38% 71%);
}
#get-help .bumply-checklist input[type="checkbox"]:checked {
  background: linear-gradient(150deg,#B36883,#B07087); border-color: #B07087;
}
#get-help .bumply-checklist input[type="checkbox"]:checked::before { transform: scale(1); }
#get-help .bumply-checklist span {
  line-height: 1.4; color: #203347; font-weight: 500;
}
#get-help .bumply-checklist input[type="checkbox"]:checked + span {
  color: #606E7D; text-decoration: line-through; text-decoration-color: rgba(164,119,92,0.6);
}
@media (max-width: 640px) {
  #get-help .bumply-checklist { grid-template-columns: 1fr; }
}
#get-help .bumply-clinic { max-width: 640px; }
#get-help .bumply-clinic__input {
  border-radius: 12px; border: 1px solid #DADBDD; background: #FFFFFF;
}
#get-help .bumply-clinic__btn { border-radius: 12px; }

/* ============================================================
   2026 refresh: retire the solid color header bands. Every card
   becomes a clean white panel with a small soft-tinted icon chip
   and a colored eyebrow, so the color reads as a tasteful accent
   rather than a dated banner. Applies to the cycle cards, the
   "before you try" cards and the partner cards alike.
   ============================================================ */
.bumply-ready-card, .bumply-cycle-card {
  background: #FFFFFF;
  border: 1px solid #E8E9EA;
  border-radius: 20px;
  box-shadow: 0 18px 44px -30px rgba(43, 36, 28, 0.55);
  padding: 30px 30px 28px;
}
.bumply-ready-card__head, .bumply-cycle-card__head {
  margin: 0 0 16px !important; height: auto !important; display: block !important;
  background: none !important;
}
.bumply-ready-card__head::after, .bumply-cycle-card__head::after { display: none !important; }
.bumply-ready-card__icon, .bumply-cycle-card__icon {
  width: 54px !important; height: 54px !important; border-radius: 16px !important;
  box-shadow: none !important;
}
.bumply-ready-card__icon svg, .bumply-cycle-card__icon svg { width: 26px; height: 26px; }

/* soft tinted chip + colored line icon, per card, in the muted brand set */
.bumply-ready-card:nth-child(6n+1) .bumply-ready-card__icon,
.bumply-cycle-card:nth-child(6n+1) .bumply-cycle-card__icon { background: #EBEBEC !important; color: #BB7890 !important; }
.bumply-ready-card:nth-child(6n+2) .bumply-ready-card__icon,
.bumply-cycle-card:nth-child(6n+2) .bumply-cycle-card__icon { background: #E6EBF1 !important; color: #6C97BD !important; }
.bumply-ready-card:nth-child(6n+3) .bumply-ready-card__icon,
.bumply-cycle-card:nth-child(6n+3) .bumply-cycle-card__icon { background: #EDF4FB !important; color: #81B0DA !important; }
.bumply-ready-card:nth-child(6n+4) .bumply-ready-card__icon,
.bumply-cycle-card:nth-child(6n+4) .bumply-cycle-card__icon { background: #E7E8E9 !important; color: #B56682 !important; }
.bumply-ready-card:nth-child(6n+5) .bumply-ready-card__icon,
.bumply-cycle-card:nth-child(6n+5) .bumply-cycle-card__icon { background: #EBEBEC !important; color: #A9798A !important; }
.bumply-ready-card:nth-child(6n+6) .bumply-ready-card__icon,
.bumply-cycle-card:nth-child(6n+6) .bumply-cycle-card__icon { background: #EFF4F9 !important; color: #94AFC7 !important; }

/* ============================================================
   Number beads + roadmap line + final CTA layout (structural only;
   the type scale lives in the single page-wide block at the end).
   ============================================================ */

/* Number beads: the roadmap (top) now matches the Get Help journey
   beads (middle) exactly: same size, gradient, halo and font. */
.bumply-roadmap__num {
  width: 56px !important; height: 56px !important;
  font-family: var(--font-body) !important; font-size: 1.55rem !important;
  font-weight: 700 !important; color: #fff !important;
  background: linear-gradient(150deg, #D998B1, #B86381) !important;
  box-shadow: 0 12px 24px -10px rgba(176,111,94,0.75),
              0 0 0 7px #F0F1F2,
              0 0 0 9px rgba(192,128,111,0.28) !important;
}
.bumply-roadmap__step--muted .bumply-roadmap__num {
  background: linear-gradient(150deg, #C8A9B5, #768A9E) !important;
}
/* re-centre the connecting string under the larger 56px beads, and
   make it the same dotted thread as the Get Help journey */
.bumply-roadmap::before {
  left: 26px; width: 4px; top: 30px; bottom: 30px;
  background: repeating-linear-gradient(180deg, #B55376 0 9px, transparent 9px 18px);
}
.bumply-roadmap__step { gap: 24px; align-items: flex-start; }
.bumply-roadmap__content { padding-top: 12px; }

/* Final CTA: a clean, even button grid (sub text size set page-wide below) */
.bumply-ttc-cta__sub { max-width: 640px; }
.bumply-ttc-cta__actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  max-width: 680px; margin: 0 auto;
}
.bumply-ttc-cta__actions .bumply-btn {
  width: 100%; justify-content: center; text-align: center;
  font-size: 0.92rem; padding: 15px 18px;
}
@media (max-width: 560px) {
  .bumply-ttc-cta__actions { grid-template-columns: 1fr; }
}

/* ============================================================
   THE ONE TYPE SCALE for the whole Trying to Conceive page.
   Scoped to body.ttc-page, so it is genuinely page-wide and the
   single source of truth. Everything below resolves to three
   buckets and nothing else:

     TITLE (cards, steps, FAQ questions) ... 1.5rem
     BODY  (all reading copy) ............... 1.15rem
     small (eyebrows, kickers, labels) ...... left as-is

   The big serif section headers and the hero/CTA display titles
   keep their own larger sizes on purpose.
   ============================================================ */

/* TITLE bucket (card titles are <p> here, so they are named explicitly;
   bare <h3> headings on the page are titles too) */
.ttc-page :is(
  .bumply-ready-card__title, .bumply-cycle-card__title, .bumply-roadmap__title,
  .bumply-help-subhead, .bumply-feature-cta__title, .bumply-pathstart__label,
  .bumply-help-card__role, .bumply-hub-card h3, .bumply-faq summary, h3
) {
  font-size: 1.5rem !important; line-height: 1.3 !important;
}

/* BODY bucket: every piece of reading copy on the page, one size.
   Includes the bare styled <p> inside the Get Help steps and the
   urgent box so nothing is left on an inline size. */
.ttc-page :is(
  .bumply-sec-intro, .bumply-callout, .bumply-plain, .bumply-help-promise,
  .bumply-ready-card__body, .bumply-cycle-card__body, .bumply-help-card__body,
  .bumply-roadmap__desc, .bumply-faq__answer, .bumply-faq__answer p,
  .bumply-feature-cta__desc, .bumply-pathstart__sub, .bumply-cycle-hero__sub,
  .bumply-hub-card p, .bumply-help-note, .bumply-script-box, .bumply-help-when__sm,
  .bumply-checklist span, .bumply-clinic__note, .bumply-tabs__panel li,
  .bumply-ttc-stats__label, .bumply-ttc-cta__sub,
  .bumply-step__content p, .bumply-doctor-urgent p,
  .bumply-ai-mentor p, .bumply-ai-feature, .bumply-ai-limits
) {
  font-size: 1.15rem !important; line-height: 1.6 !important;
}

/* ============================================================
   TRYING TO CONCEIVE: REBUILD DESIGN SYSTEM
   Tokens + a sticky in-page nav + cohesive card/section polish,
   all scoped to .ttc-page so the rest of the site is untouched.
   ============================================================ */
.ttc-page {
  --ttc-maxw: 1180px;
  --ttc-radius: 18px;
  --ttc-shadow: 0 18px 44px -30px rgba(43, 36, 28, 0.55);
  --ttc-shadow-hover: 0 26px 50px -28px rgba(43, 36, 28, 0.5);
  --ttc-border: 1px solid #E8E9EA;
}

/* --- Sticky in-page jump nav (docks just under the 72px site header) --- */
.ttc-jumpnav {
  position: sticky; top: 72px; z-index: 90;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid #E8E9EA;
}
.ttc-jumpnav__inner {
  max-width: var(--ttc-maxw); margin: 0 auto;
  display: flex; flex-wrap: wrap; justify-content: center;
  align-items: center; gap: 8px; padding: 12px 16px;
}
.ttc-jumpnav__link {
  flex: 0 0 auto; white-space: nowrap; text-decoration: none;
  font-family: var(--font-body); font-size: 0.9rem; font-weight: 500;
  letter-spacing: 0.01em; color: #46525E;
  background: #FFFFFF; border: 1px solid #DEDFE1; border-radius: 999px;
  padding: 8px 17px; line-height: 1;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.ttc-jumpnav__link:hover { background: #F2F2F3; color: #131D27; border-color: #D4B6C2; }
.ttc-jumpnav__link.is-active {
  background: #131D27; color: #FAFAFA; border-color: #131D27;
}

/* anchored sections clear the sticky header + nav when you jump to them */
.ttc-page :is(#start-here, #roadmap, #body-ready, #cycle, #why-not,
  #get-help, #partner, #emotional, #ai-mentor, #guides, #faq) {
  scroll-margin-top: 124px;
}

/* --- Stat strip: quiet vertical dividers between the three --- */
.ttc-page .bumply-ttc-stats { padding: 30px 24px; }
.ttc-page .bumply-ttc-stats__item { position: relative; }
.ttc-page .bumply-ttc-stats__item + .bumply-ttc-stats__item::before {
  content: ""; position: absolute; left: 0; top: 14%; height: 72%;
  width: 1px; background: #E3E4E6;
}

/* --- Consistent hover lift on every interactive card --- */
.ttc-page :is(.bumply-ready-card, .bumply-cycle-card, .bumply-hub-card,
  .bumply-pathstart__card, .bumply-help-card) {
  transition: transform .18s ease, box-shadow .18s ease;
}
.ttc-page :is(.bumply-ready-card, .bumply-cycle-card, .bumply-hub-card,
  .bumply-pathstart__card):hover {
  transform: translateY(-4px); box-shadow: var(--ttc-shadow-hover);
}

/* --- Pathstart "where are you" cards: unify shell with the rest --- */
.ttc-page .bumply-pathstart__card {
  border: var(--ttc-border); border-radius: var(--ttc-radius); overflow: hidden;
  box-shadow: var(--ttc-shadow); background: #fff;
}

/* --- Accordions (cycle "tell me more", why-not, FAQ): tidy +/- affordance --- */
.ttc-page :is(.bumply-faq summary, .bumply-learn summary) { cursor: pointer; }
.ttc-page .bumply-faq details[open] summary { color: #B4738A; }

/* --- Guides hub-cards: adopt the page's icon-chip card system so the tiles
       match every other card (same shell, chip, type scale) --- */
.ttc-page .bumply-hub-grid { gap: 24px; }
.ttc-page .bumply-hub-card {
  border: 1px solid #E8E9EA; border-radius: 20px;
  padding: 30px 30px 26px; background: #FFFFFF;
  box-shadow: var(--ttc-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ttc-page .bumply-hub-card:hover { transform: translateY(-4px); box-shadow: var(--ttc-shadow-hover); border-color: #DBBBC7; }
.ttc-page .bumply-hub-card__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 54px; height: 54px; border-radius: 16px; margin-bottom: 16px;
}
.ttc-page .bumply-hub-card__icon svg { width: 26px; height: 26px; }
.ttc-page .bumply-hub-card .eyebrow { display: block; margin-bottom: 6px; }
.ttc-page .bumply-hub-grid .bumply-hub-card h3 { font-size: 1.3rem !important; line-height: 1.28 !important; margin: 2px 0 8px; }
.ttc-page .bumply-hub-card p { margin-bottom: 18px; }
.ttc-page .bumply-hub-card .bumply-card__read-more {
  margin-top: auto; padding-top: 16px; border-top: 1px solid #ECECED;
  display: inline-flex; align-items: center; gap: 6px;
  color: #BB748D; font-weight: 600;
  transition: gap .16s ease, color .16s ease;
}
.ttc-page .bumply-hub-card:hover .bumply-card__read-more { gap: 11px; color: #3A5D81; }
/* rotating soft chip colors, identical palette to the ready/cycle cards */
.ttc-page .bumply-hub-card:nth-child(6n+1) .bumply-hub-card__icon { background: #EBEBEC; color: #BB7890; }
.ttc-page .bumply-hub-card:nth-child(6n+2) .bumply-hub-card__icon { background: #E6EBF1; color: #6C97BD; }
.ttc-page .bumply-hub-card:nth-child(6n+3) .bumply-hub-card__icon { background: #EDF4FB; color: #81B0DA; }
.ttc-page .bumply-hub-card:nth-child(6n+4) .bumply-hub-card__icon { background: #E7E8E9; color: #B56682; }
.ttc-page .bumply-hub-card:nth-child(6n+5) .bumply-hub-card__icon { background: #EBEBEC; color: #A9798A; }
.ttc-page .bumply-hub-card:nth-child(6n+6) .bumply-hub-card__icon { background: #EFF4F9; color: #94AFC7; }

/* --- Mobile: jump nav docks at the smaller header, cards breathe --- */
@media (max-width: 781px) {
  .ttc-jumpnav { top: 0; }
  .ttc-page :is(#start-here, #roadmap, #body-ready, #cycle, #why-not,
    #get-help, #partner, #emotional, #ai-mentor, #guides, #faq) {
    scroll-margin-top: 60px;
  }
}

/* ============================================================
   TTC CENTERED CARD GRIDS
   Center the four "browse and choose" card grids (start-here,
   before-you-try, cycle, guides) and their content, chips included.
   The Get Help megasection stays left-aligned on purpose: it is a
   dense, form-like block where centered body text reads poorly.
   ============================================================ */
.ttc-page .bumply-pathstart__body { text-align: center; align-items: center; }
.ttc-page :is(.bumply-ready-card, .bumply-cycle-card, .bumply-hub-card) { text-align: center; }
.ttc-page :is(.bumply-ready-card__head, .bumply-cycle-card__head) { text-align: center; }
.ttc-page :is(.bumply-ready-card .bumply-btn) { display: inline-block; }
/* keep expanded "Tell me more" copy left-aligned for easy reading */
.ttc-page .bumply-learn { text-align: left; }

/* ===========================================================================
   Tile/card visual balance (scoped). Pregnancy "Very early signs" cards,
   Beauty and Skincare image rows, and postpartum haircut idea cards.
   New classes only; global .bumply-topic-card (used by the homepage) is left
   unchanged on purpose.
   =========================================================================== */
.bumply-signs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bumply-signs-card{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;text-decoration:none;transition:all var(--transition-base)}
.bumply-signs-card:hover{border-color:var(--color-rose);box-shadow:0 4px 16px rgba(200,137,122,0.12);transform:translateY(-2px)}
.bumply-signs-card__img{aspect-ratio:16/10;overflow:hidden}
.bumply-signs-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.bumply-signs-card__body{display:flex;flex-direction:column;flex:1;padding:24px 24px 28px;text-align:center}
.bumply-signs-card__body .eyebrow{display:block;margin-bottom:8px}
.bumply-signs-card__title{font-family: var(--font-heading);font-size:1.375rem;color:var(--color-umber);margin:0 0 10px;line-height:1.25}
.bumply-signs-card__desc{color:#7C8792;font-size:1rem;line-height:1.65;flex:1;margin:0 0 22px}
.bumply-signs-card__cta{align-self:center;margin-top:auto;font-family: var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-rose)}
@media(max-width:768px){.bumply-signs-grid{grid-template-columns:1fr}}

.bumply-haircut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:8px 0}
.bumply-haircut-card{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}
.bumply-haircut-card__media{aspect-ratio:4/3;background:linear-gradient(135deg,#F2F2F3,#E8E9EA)}
.bumply-haircut-card__media:empty{display:none}
.bumply-haircut-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.bumply-haircut-card__body{padding:18px 20px 22px}
.bumply-haircut-card__name{font-family: var(--font-heading);font-size:1.25rem;color:var(--color-umber);margin:0 0 8px}
.bumply-haircut-card__note{color:#56616D;font-size:.95rem;line-height:1.6;margin:0}
@media(max-width:900px){.bumply-haircut-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.bumply-haircut-grid{grid-template-columns:1fr}}

/* Pregnancy Symptoms lower tiles: bottom-align the "Read" CTA so it stays
   consistent across cards regardless of title length. Scoped to this grid;
   the global .sc-card (used by the homepage and 36 other pages) is untouched. */
.bumply-symptom-grid .sc-card__body{text-align:center}
.bumply-symptom-grid .sc-card__cta{align-self:center;margin-top:auto}

/* =============================================================================
   HOMEPAGE "START BY STAGE" TILE SYSTEM (bumply-sbs) - promoted to global
   -----------------------------------------------------------------------------
   These rules were previously inlined only inside templates/front-page.html.
   Promoting them here (verbatim, unchanged) lets category HUB pages reuse the
   exact same tile component and visual behavior as the homepage (same 3/2/1
   grid, card heights by breakpoint, image, title, CTA, and hover). The homepage
   still inlines an identical copy, so its rendering is unchanged; no other page
   uses these classes.
   ============================================================================= */
.bumply-sbs{max-width:1320px;margin:0 auto}
.bumply-sbs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:0;padding:0}
.bumply-sbs__card{position:relative;display:block;overflow:hidden;border-radius:18px;text-decoration:none;background:#1E2A36;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:transform .3s ease,box-shadow .3s ease;min-height:340px}
.bumply-sbs__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.bumply-sbs__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,10,0) 32%,rgba(20,15,10,.74) 100%);z-index:1}
.bumply-sbs__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 22px;display:flex;flex-direction:column;gap:6px}
.bumply-sbs__title{font-family: var(--font-heading);color:#FAFAFA;font-weight:600;line-height:1.14;margin:0;font-size:1.8rem;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.bumply-sbs__cta{font-family: var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#E1ADC1;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}
.bumply-sbs__card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.42)}
.bumply-sbs__card:hover .bumply-sbs__img{transform:scale(1.03);filter:brightness(1.05)}
.bumply-sbs__card:hover .bumply-sbs__cta,.bumply-sbs__card:focus-visible .bumply-sbs__cta{opacity:1;transform:translateY(0)}
.bumply-sbs__card:focus-visible{outline:3px solid #B7D7F4;outline-offset:3px}
@media(max-width:1024px){
  .bumply-sbs__grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .bumply-sbs__card{min-height:300px}
}
@media(max-width:600px){
  .bumply-sbs__grid{grid-template-columns:1fr}
  .bumply-sbs__card{min-height:260px}
  .bumply-sbs__title{font-size:1.6rem}
  .bumply-sbs__cta{opacity:1;transform:none}
}

/* -----------------------------------------------------------------------------
   bumply-sbs INSIDE POST CONTENT (Maternity Closet hub)
   -----------------------------------------------------------------------------
   The single-post template constrains post content to a 760px column, and
   WordPress's constrained-layout CSS forces `margin-left/right:auto !important`
   on its direct children, which silently defeats any inline full-bleed
   (width:100vw + negative margins). The article typography rules
   (`article .wp-block-post-content h3/img/a`) also out-specify the bumply-sbs
   classes. These scoped rules win those exact battles so the hub band renders
   identically to the homepage. They apply ONLY to .bumply-fullbleed /
   .bumply-sbs elements inside post content; no other page or element matches. */
article .wp-block-post-content > .bumply-fullbleed{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
article .wp-block-post-content h3.bumply-sbs__title{
  font-family: var(--font-heading);
  font-size:1.8rem;
  font-weight:600;
  line-height:1.14;
  color:#FAFAFA;
  margin:0;
}
article .wp-block-post-content img.bumply-sbs__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
  border-radius:0;
  object-fit:cover;
}
article .wp-block-post-content a.bumply-sbs__card{
  text-decoration:none;
}
article .wp-block-post-content .bumply-sbs__cta{
  color:#E1ADC1;
}
@media(max-width:600px){
  article .wp-block-post-content h3.bumply-sbs__title{font-size:1.6rem}
}

/* Birth plan lead-capture page: hide the global footer newsletter signup so the
   page's own three birth-plan forms are the only email ask. Class is added to the
   body on the birth-plan-template page via body_class in functions.php. */
.bp-no-footer-signup .bumply-footer__signup{display:none}

/* =============================================================================
   Baby shower cluster: page structure + components for the six cluster posts.
   The single-post template constrains the body to one 760px column; on these
   posts (body.bumply-cluster, set in functions.php) the post content becomes a
   real three-column grid on wide screens: a sticky outline rail in the left
   gutter and the article centred at its natural width on the page's true
   centre line. Below 1200px it returns to one column with the outline as a
   compact two-column card. All selectors are scoped past the theme's generic
   content-link rule (article .wp-block-post-content a).
   ========================================================================== */
article .wp-block-post-content .bumply-byline{font-size:.9rem;color:#28323C;margin:0 0 .2rem}
article .wp-block-post-content .bumply-byline span{opacity:.5;margin:0 .3rem}
article .wp-block-post-content .bumply-disclosure-line{font-size:.82rem;color:#646B72;margin:0 0 1.2rem}
article .wp-block-post-content .bumply-disclosure-line a{color:#BF4570;font-weight:600;text-decoration:none}
article .wp-block-post-content .bumply-takeaway{background:#F6F6F6;border-left:3px solid #B55376;border-radius:0 8px 8px 0;
  padding:.65rem 1rem;margin:.6rem 0 1.1rem;color:#191F25;font-size:.98rem;line-height:1.5}
article .wp-block-post-content .bumply-takeaway strong{color:#426D99}
article .wp-block-post-content .bumply-figure{margin:1.3rem 0}
article .wp-block-post-content .bumply-figure img{width:100%;height:auto;border-radius:12px;display:block}
article .wp-block-post-content .bumply-figure figcaption{font-size:.8rem;color:#646B72;margin-top:.4rem;text-align:center}
/* Save to Pinterest: reusable hover button on tagged figures (pilot: /birth-positions/).
   Compound selector so it outranks generic content-link rules. Rose accent, Jost, subtle. */
.bumply-figure{position:relative}
.bumply-figure .bumply-pin-save{position:absolute;top:.6rem;right:.6rem;z-index:2;display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;font-family:var(--font-body);font-size:.8rem;font-weight:500;line-height:1;letter-spacing:.02em;color:#fff;background:#B55376;border-radius:999px;text-decoration:none;box-shadow:0 2px 8px rgba(42,35,31,.18);opacity:0;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,background-color .18s ease;pointer-events:none}
.bumply-figure .bumply-pin-save::before{content:"\1F4CC";font-size:.85em}
.bumply-figure:hover .bumply-pin-save,.bumply-figure:focus-within .bumply-pin-save{opacity:1;transform:translateY(0);pointer-events:auto}
.bumply-figure .bumply-pin-save:hover,.bumply-figure .bumply-pin-save:focus{background:#426D99;color:#fff}
.bumply-figure .bumply-pin-save:focus-visible{outline:2px solid #426D99;outline-offset:2px}
@media (hover:none){.bumply-figure .bumply-pin-save{opacity:1;transform:translateY(0);pointer-events:auto}}
article .wp-block-post-content .bumply-table{overflow-x:auto;margin:1rem 0}
article .wp-block-post-content .bumply-table table{border-collapse:collapse;width:100%;font-size:.92rem}
article .wp-block-post-content .bumply-table th,article .wp-block-post-content .bumply-table td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid #E6E7E8}

/* Outline: base card look (mobile / narrow), two columns of entries */
article .wp-block-post-content .bumply-toc{background:#FAFAFA;border:1px solid #E6E7E8;border-radius:14px;padding:.9rem 1rem;margin:0 0 1.5rem;
  box-shadow:0 10px 34px -18px rgba(90,55,40,.18);columns:2;column-gap:1.6rem}
article .wp-block-post-content .bumply-toc-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:#426D99;font-weight:700;margin:0 0 .45rem;column-span:all}
article .wp-block-post-content .bumply-toc a{display:flex;align-items:baseline;gap:.5rem;color:#4C5660;text-decoration:none;font-size:inherit;
  line-height:1.3;padding:.26rem .55rem;border-radius:8px;break-inside:avoid}
article .wp-block-post-content .bumply-toc a .k{font-family:ui-monospace,Menlo,monospace;font-size:.7em;color:#B55376;min-width:1.3em;text-align:right;text-decoration:none}
article .wp-block-post-content .bumply-toc a:hover{background:#F6F6F6;color:#191F25;text-decoration:none}
article .wp-block-post-content .bumply-toc a.active{background:#F6F6F6;color:#426D99;font-weight:600}
article .wp-block-post-content .bumply-toc a.active .k{color:#426D99}
@media (max-width:640px){article .wp-block-post-content .bumply-toc{columns:1}}

/* Wide screens: the ARTICLE stays centred on the page's true centre line at
   its natural 760px measure, and the rail hangs in the otherwise-empty left
   gutter. A symmetric 1fr | 760px | 1fr grid centres column 2 by
   construction (the old 250px | 1fr pair-centring pushed the prose ~150px
   right of centre, which is what read as "squeezed"). justify-self:end parks
   the rail against the article's edge instead of the screen edge, and
   minmax(0,...) on every track plus min() on the rail width make horizontal
   overflow impossible. Below 1200px the gutter is too narrow for body-size
   entries (Ana's TOC font rule), so the rail collapses to the inline card.
   The theme's constrained-layout child caps use :where() (zero specificity),
   so these plain overrides win without !important. */
@media (min-width:1200px){
  body.bumply-cluster article .wp-block-post-content.bumply-article-content{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,760px) minmax(0,1fr);
    column-gap:2rem;
    /* The article group's constrained layout emits a 760px child cap on this
       container; the old rule's max-width:1120px happened to override it, so
       dropping the cap entirely must be explicit or the gutter tracks
       collapse to zero and the rail vanishes (QA catch, q19). width:100%
       makes any emitted auto margins compute to zero even if !important. */
    max-width:none;width:100%}
  body.bumply-cluster article .wp-block-post-content.bumply-article-content > *{
    grid-column:2;max-width:none;width:100%}
  body.bumply-cluster article .wp-block-post-content.bumply-article-content > .bumply-toc{
    grid-column:1;grid-row:1/span 200;justify-self:end;width:min(250px,100%);
    position:sticky;top:2rem;align-self:start;
    columns:1;height:max-content;max-height:calc(100vh - 4rem);overflow-y:auto;margin:0}
}

/* Affiliate buy-button (reusable CTA for review-page product links) */
.bumply-buybtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #B55376;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  padding: 14px 30px;
  min-height: 48px;
  border-radius: 8px;
  border: none;
  transition: background 0.2s ease, transform 0.1s ease;
}
.bumply-buybtn:hover { background: #AE617C; color: #FFFFFF; }
.bumply-buybtn:focus-visible { outline: 3px solid rgba(200,137,122,0.45); outline-offset: 2px; }
.bumply-buybtn:active { transform: translateY(1px); }
.bumply-buybtn__wrap { margin: 4px 0 20px; }
/* Win over the content-area link rules (.wp-block-post-content a is var(--blue-ink)
   + underline) that would otherwise tint the button text blue and underline it. */
.wp-block-post-content a.bumply-buybtn,
.bumply-article-content a.bumply-buybtn,
article .wp-block-post-content a.bumply-buybtn {
  color: #FFFFFF;
  text-decoration: none;
}
.wp-block-post-content a.bumply-buybtn:hover,
.bumply-article-content a.bumply-buybtn:hover,
article .wp-block-post-content a.bumply-buybtn:hover {
  color: #FFFFFF;
  text-decoration: none;
}
@media (max-width: 600px) {
  .bumply-buybtn { display: flex; width: 100%; }
}

/* ==========================================================================
   LATE OVERRIDES - must stay at the end of the file to beat earlier rules
   ========================================================================== */
/* Footer brand: swap the plain text wordmark for the reversed lockup.
   Done in CSS because parts/footer.html is a Site Editor database override and
   the repo file is ignored on the live site. */
.bumply-footer__logo{
  display:block;width:200px;height:59px;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgd2lkdGg9IjQ1Ny40IiBoZWlnaHQ9IjEzNS40IiB2aWV3Qm94PSIwIDAgNDU3LjQgMTM1LjQiPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcF8xIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDEzNS40KSIgZD0iTTAgMTM1LjRINDU3LjRWMEgwWiIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnPjwvZz48Zz48ZyBjbGlwLXBhdGg9InVybCgjY2xpcF8xKSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMzE0LjEsMTA5LjkpIiBkPSJNMCAwQy4wNCA0LjYgMy41IDcuMSA3LjggOCAxMC4xIDguNCAxMi44IDguNSAxNS4xIDguMyAxNy40IDguMiAxOC45IDYuNiAxOS4xIDQuM0wxOS4xIDQuMUMyMS43LTkuOS0uNjEtMTUuNyAwIDBNMzcuMy02LjlDMzYuMi02LjEgMzQtNy43IDMyLjUtNi44IDMxLjgtNi41IDMxLjQtNS44IDMxLTUuMSAyOS45LTIuNSAyOS45IC4yNSAyOS41IDIuOSAyOC4zIDEwIDI4LjUgMTcuMiAyNS45IDI0IDIxLjYgMzMuOCA4LjYgMzQtLjEyIDMwLTQuMyAyNy45LTkuMSAyMy43LTggMTguNS03LjUgMTUuNy00LjEgMTQuNi0xLjkgMTYuNCAuNSAxOC4zIC4xNiAyMS45IDIuMSAyNC4yIDYuMSAyOS41IDE1LjQgMjcuNiAxNi43IDIwLjggMTcuNCAxOC4yIDE4LjQgMTQgMTUuMSAxMy4xIDMuOSAxMS43LTEwLjYgMTAuMi0xMC43LTIuMkwtMTAuNy0yLjRDLTEwLjktMTguNSAxMS40LTE4LjggMjAuNC04LjIgMjIuMS03LjcgMjIuNi0xMC41IDIzLjUtMTEuNSAyNi4zLTE1LjggMzMtMTUuOSAzNi40LTEyLjEgMzcuNi0xMC44IDM5LTguMiAzNy4zLTYuOSIgZmlsbD0iI2Y0ZjRmNCIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDE3Mi4yLDEyOS4xKSIgZD0iTTAgMEMtMTAuOC0uMDU5LTIyLjEgNi4zLTIyLjUgMTcuMS0yMi44IDIzLjctMTguOCAyOS44LTEzLjEgMzIuOS0xMC45IDM0LTEwIDM0LjktMTEuOSAzNi43LTE3LjQgNDEuNC0xNS45IDQ5LjktMTAuMSA1My43LTIuNSA1OS4yIDEzLjYgNTcuNCAxNS4yIDQ3LjUgMTUuNCA0My41IDExLjYgNDIuMiA5LjIgNDUuMSA4IDQ2LjQgNy4zIDQ3LjkgNS45IDQ5LjEgMyA1MS42LTIuNCA1MS40LTQuOSA0OC4zLTcuMyA0NS41LTYuNSA0MC44LTMuNCAzOC44LTEuOCAzNy41IDIuNCAzNy4zIDIgMzQuNiAxLjYgMzIuNy0uOTk0IDMyLTIuNiAzMS4yLTQuNCAzMC40LTYuMSAyOS40LTcuNSAyOC0xMy4xIDIyLjYtMTIuNCAxMi44LTYuNCA4LjUgMS40IDIuOCAxMy4zIDcuMiAxNSAxNi43IDE1LjYgMTkuNSAxNi4yIDI0LjUgMTMuNSAyNS41IDExLjcgMjYuMyA5LjkgMjUuMiA4LjggMjMuOCA4LjIgMjMuMSA3LjcgMjIuNSA3IDIyLjIgNSAyMS41IDQuMiAyNCA0LjUgMjUuNyA2LjEgMzYuNCAxNC45IDMyLjggMjIuOCAzMy41IDI0LjkgMzMuOCAyNS45IDM2LjEgMjcuNSAzNy4xIDMwLjEgMzguMyAzMC43IDM0LjUgMzAuMiAzMi41IDI5LjcgMzAuNSAyOC4zIDI4LjggMjYuNSAyNy44IDI1LjUgMjcuMiAyNC40IDI2LjcgMjMuOSAyNS42IDIzLjQgMjQuNiAyMy42IDIzLjMgMjMuNiAyMi4xIDI0LjQgOS4xIDEzLjMtLjUyOSAuMTgzLS4wMDJaIiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMjE4LjMsNjIuMykiIGQ9Ik0wIDBDLTQuOCAzLTUuMSA0LjctNS42IDEwLjEtNi4yIDE1LjMtNi44IDIyLTcuNiAyNy40LTguOSAzNC44LTEyLjggNDAuNi0xOS40IDQxLjctMjMuNyA0Mi41LTI4LjQgNDEuNC0zMS44IDM4LjYtMzMgMzcuNS0zNCAzNi4xLTM1IDM0LjgtMzUuOCAzMy42LTM3IDMzLjQtMzggMzQuNy00My40IDQ0LjMtNTcuMSA0NC4xLTYzLjMgMzUuMi02NCAzNC4zLTY0LjkgMzMuNC02NS4zIDM0LjktNjUuOCAzNi41LTY1LjYgMzguNS02Ni42IDM5LjktNjkuMSA0My03Ni44IDM5LjUtODAuMSAzOC40LTgxLjYgMzcuOC04My41IDM2LTgxLjUgMzQuOS03OS45IDM0LTc3LjcgMzMuOS03Ni45IDMyLjQtNzYuNCAzMS41LTc2LjIgMzAuMS03Ni4yIDI5LjItNzYgMjIuNy03Ni4xIDE0LjYtNzYuMSA5LjEtNzYuMiA2LjYtNzYuMSAzLjgtNzggMi4xLTc5LjEgMS4xLTgxIC4yNS04MS43LS45OS04My43LTUuMi03My44LTQuMS03MS40LTQuMy02OC4yLTQtNjEuNi01LjMtNTkuNi0yLjQtNTkuMy0xLjctNTkuNy0uODQtNjAuNS0uMTdMLTYwLjYtLjA1Qy02NC43IDIuNS02NS43IDMuNy02NS42IDguNi02NS41IDEzLjMtNjUuOSAxOC4xLTY1LjMgMjIuNy02NC45IDI3LTYyLjMgMzItNTguNyAzMy43LTUzLjQgMzYuMy00Ny43IDMyLjUtNDYuOSAyNi44LTQ2LjEgMjAuNC00Ni40IDEzLjctNDYuNSA3LjQtNDYuNiA1LjgtNDYuNyA0LjItNDcuNSAyLjktNDguNSAxLTUyLjQtLjQ1LTUxLTIuOS00OC4yLTUuMy00MS00LTM3LTQuMy0zNC44LTQuNC0yOS41LTMuOS0zMS4yLS43Ni0zMi40IC45My0zNC42IDEuOC0zNS4yIDMuOS0zNi41IDcuMi0zNS43IDEwLjktMzUuOSAxNC41LTM2LjIgMjItMzUuNiAzMy42LTI2LjkgMzQuNC0xOS42IDM1LjEtMTcuNiAyNi43LTE3LjIgMjEtMTYuOSAxNy42LTE2LjUgMTMuNy0xNi4xIDEwLjMtMTUuOSA3LjktMTUuMiA1LjItMTYuNSAzLTE3LjMgMS41LTE5LjIgLjY3LTIwLjMtLjU3LTIzLjQtNC44LTEzLjgtNC4zLTExLjUtNC40LTguMi00LjItNS4yLTQuNS0yLTQuMSAuODEtMy44IDIuOS0yLjIgMCAwIiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMjU4LjksNDcpIiBkPSJNMCAwQy4xMS02LTIuNi0xMy4zLTktMTQuOC0yMS42LTE4LTI4LjMgLjI5LTI1LjcgMTEuNy0yNCAyMC4xLTE0LjggMjQuOC03LjkgMTkuNC0yLjMgMTUtLjIxIDcgMCAuMTZaTTguNSAxMy45QzIuMiAyNy44LTE4LjEgMzAuOC0yOS4yIDIxLTM0LjEgMTctMzcuMSAxMC41LTM3LjEgMy43VjMuNUMtMzUuNS0zNC43IDIzLjYtMjMgOC41IDEzLjkiIGZpbGw9IiNmNGY0ZjQiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwzMDYuMiw1NS44KSIgZD0iTTAgMEMtMy43LTIuOS04LjktNS45LTEzLjItMi43LTE3LjEgLjQ3LTE2LjYgNi4xLTE2LjYgMTAuNi0xNi42IDE0LjYtMTYuNiAxOC45LTE2LjYgMjIuNy0xNi43IDI2LjMtMTYuNyAyOS42LTEyLjUgMjkuNy04LjggMzAtNS4yIDI5LjItMS44IDMwLjIgLjY1IDMxIC44MSAzMy45LTEuNyAzNC40LTUuNyAzNS4yLTEwLjEgMzQuMS0xNC4yIDM1LTE2LjggMzUuOS0xNi4yIDM5LjMtMTYuMyA0MS41LTE2IDQ1LjktMTguMyA0OC4yLTIyLjQgNDUuNy0yNS4yIDQzLjgtMjcuMiA0MS4yLTI5LjQgMzguMy0zMC42IDM2LjctMzIuMiAzNS0zMi42IDMzLTMzIDMwLjEtMjkuNCAzMC0yOCAyOC40LTI3LjMgMjcuNi0yNy4yIDI2LjUtMjcuMiAyNS41LTI3IDE4LjktMjcuMyA4LjktMjcuMSAzTC0yNy4xIDIuOUMtMjcuMS0xLjktMjUtNy4zLTIwLjYtOS43LTEzLTEzLjQtMi4yLTExLjIgMS43LTMuNCAyLjctMS42IDIuNyAxLjQgMCAwIiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMzY3LjUsNjIuOSkiIGQ9Ik0wIDBDLTEuNiAxLjYtNCAyLjMtNSA0LjMtOS4xIDE3LjMtNC44IDM5LjItMjAuMyA0Mi4yLTI2LjcgNDMuNi0zMy41IDQxLjEtMzcuNSAzNS45LTM4LjEgMzUuMi0zOS41IDMzLjctMzkuOCAzNS40LTM5LjkgMzYtMzkuOSAzNi42LTM5LjkgMzcuMS00MC4xIDQzLTM5LjYgNTMtNDAuMSA1OS45LTQwLjkgNjMuOS00NS43IDYzLjEtNDguNyA2Mi4xLTUxLjIgNjEuMi01NC42IDYwLjYtNTYuNSA1OC45LTU4LjYgNTUuOS01My40IDU2LjUtNTEuOCA1NC42LTUxLjQgNTQuMi01MS4xIDUzLjgtNTAuOSA1My4yLTQ5LjggNDAuOS01MC45IDIzLTUwLjUgOS43LTUwLjYgNy44LTUwLjUgNS44LTUxLjQgNC4xLTUyLjMgMi4zLTU0LjQgMS42LTU1LjggLjI2LTU3LS44MS01Ni43LTIuNC01NS4xLTMtNTEuMy00LjMtNDcuNi0zLjQtNDMuNi0zLjctNDEuMi0zLjktMzAuNC00LjEtMzQuNyAuNDZMLTM0LjggLjU3Qy0zOS43IDMuNC00MC4xIDUuMS0zOS45IDEwLjUtMzkuOCAxNi43LTQwLjcgMjMuMS0zOCAyOC44LTM1LjQgMzQuNy0yNyAzNy41LTIyLjEgMzIuOC0xNy41IDI3LjQtMTguMyAyMC4yLTE3LjIgMTMuMi0xNy4xIDkuOS0xNS42IDYuMS0xNy42IDMuMS0xOC42IDEuOC0yMC40IDEuMS0yMS40LS4yNS0yMy4yLTMuNS0xNy40LTMuNy0xNS41LTMuNy0xMi0zLjYtOC4xLTMuOS00LjYtMy43LTIuNi0zLjYgMi40LTIuOSAwIDAiIGZpbGw9IiNmNGY0ZjQiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwzODEuNSwzMi44KSIgZD0iTTAgMEMzLjYgMTEuNyAyMCA5LjEgMjAuMS0yLjJMMjAuMS0yLjRDMTkuOS01LjEgMTYuNi01LjQgMTQuMi01LjggMTIuMi02LjIgMTAuMS02LjUgNy45LTYuOCAuNS04LjItMi4zLTkuMSAwIDBNMjkuOC0yMS40QzI4LjQtMjAuMSAyNi43LTIyLjIgMjUuNi0yMyAyMC44LTI3LjUgMTEuMy0yOS4xIDUuNy0yNC41IDIuNy0yMi0uODYtMTcuNCAxLjEtMTMuNiAyLjItMTIuMSA1LTEyLjEgNi45LTExLjcgMTEuNS0xMS4xIDE3LjMtMTAuMiAyMC43LTkuOCAyMy41LTkuMyAyNy40LTkgMjkuMS02LjQgMjkuOS01LjIgMzAuMS0zLjYgMjkuOS0yLjEgMjYuMyAyMC45LTEyIDE0LjYtMTEuNC05LjhWLTEwQy0xMi42LTI5LjQgOC45LTQxLjQgMjQuNy0zMCAyNy4xLTI4LjQgMzEuMi0yNC4zIDI5LjgtMjEuNCIgZmlsbD0iI2Y0ZjRmNCIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDQ1NS44LDI0LjkpIiBkPSJNMCAwQy00LjMgNy4yLTE1LjQgNS0xOS42LTEuMS0yMy44LTcuNS0yMS42IC42OC0yMy42IDIuNi0yNi44IDUuNC0zMi4yIDIuNC0zNS45IDEuNC0zNy41IDEtNDEuMy0uODMtMzguOC0yLjUtMzYtMy43LTMzLjYtMy40LTMzLjMtNy4yLTMzLTE1LTMzLjEtMjQuNi0zMy4yLTMxLjItMzMuMy0zNC0zNC43LTM1LjUtMzcuMS0zNi44LTM3LjgtMzcuMi0zOC4xLTM3LjUtMzguNy0zOC4xLTQwLjQtNDAtMzcuNy00MS4zLTM2LTQxLjUtMzAuNy00MS45LTI1LjUtNDEuOS0yMC4zLTQxLjYtMTgtNDEuNS0xNC40LTM5LjktMTcuMi0zNy41TC0xNy40LTM3LjRDLTIyLjYtMzQuNy0yMi43LTMyLjktMjIuNi0yNy4zLTIyLjQtMjIuMi0yMy4xLTE3LTIxLjctMTItMjAuMS01LjYtMTQuMy0uNDUtOS4zLTQuNy03LjEtNy42LTkuNy0xMi45LTQuMi0xMy4yIDIuMy0xMy4xIDIuNy00LjIgMCAwIiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMjk5LjIsMTE5LjUpIiBkPSJNMCAwQy00LjggMy01LjEgNC43LTUuNiAxMC4xLTYuMiAxNS4zLTYuOCAyMi03LjYgMjcuNC05LjEgMzcuNC0xNi40IDQzLjktMjUuOSA0MS41LTI4IDQxLTMwIDQwLTMxLjcgMzguNi0zMyAzNy41LTMzLjkgMzYuMS0zNC45IDM0LjgtMzUuNyAzMy42LTM2LjkgMzMuNC0zNy45IDM0LjgtNDMgNDQtNTYuMiA0NC4yLTYyLjYgMzUuOS02NC43IDMzLjEtNjUuMiAzMy44LTY1LjUgMzYuOS02NS43IDQwLjUtNjggNDEuNy03MS4yIDQxLTczLjMgNDAuNi03Ny42IDM5LjUtODAuMiAzOC4yLTgxLjcgMzcuNS04My40IDM2LjEtODEuNSAzNS03OC42IDMzLjYtNzYuMyAzMy44LTc2IDI5LjktNzUuOCAyMy44LTc2IDE3LjItNzUuOSAxMS4yLTc2LjEgOC4zLTc1LjQgNC4zLTc3LjggMi4xLTc4LjkgMS4xLTgwLjggLjI2LTgxLjUtLjk5LTgzLjUtNS4yLTczLjYtNC4xLTcxLjMtNC4zLTY4LjEtNC02MS40LTUuMy01OS41LTIuNC01OS4xLTEuNy01OS41LS44My02MC4zLS4xN0wtNjAuNS0uMDVDLTY1LjQgMi45LTY1LjUgNC41LTY1LjQgOS45LTY1LjQgMTQuOC02NS44IDE5LjUtNjUgMjQuMi02NC4yIDI4LjEtNjEuOCAzMi4yLTU4LjYgMzMuNy01My4yIDM2LjMtNDcuNiAzMi41LTQ2LjggMjYuOC00NS45IDIwLjQtNDYuMyAxMy43LTQ2LjQgNy40LTQ2LjUgNS44LTQ2LjYgNC4yLTQ3LjQgMi45LTQ4LjMgMS01Mi4zLS40NS01MC44LTIuOS00OC01LjMtNDAuOS00LTM2LjktNC4zLTM0LjgtNC40LTI5LjUtMy45LTMxLjItLjc2LTMyLjMgLjk0LTM0LjUgMS44LTM1LjEgMy45LTM2LjQgNy4yLTM1LjYgMTAuOS0zNS44IDE0LjUtMzYuMiAyMi0zNS41IDMzLjYtMjYuOSAzNC40LTE5LjUgMzUuMS0xNy42IDI2LjctMTcuMiAyMS0xNi45IDE3LjYtMTYuNCAxMy43LTE2LjEgMTAuMy0xNS45IDcuOS0xNS4yIDUuMi0xNi40IDMtMTcuMiAxLjUtMTkuMiAuNjctMjAuMi0uNTctMjMuMy00LjgtMTMuOC00LjMtMTEuNS00LjQtOC4yLTQuMi01LjItNC41LTItNC4xIC44MS0zLjcgMi44LTIuMiAwIDAiIGZpbGw9IiNmNGY0ZjQiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwzNzguNiwxMjIuMikiIGQ9Ik0wIDBDLTEtMS41LTMuNC0xLjUtNS4xLTEuNi05LjktMS43LTE0LjgtMS44LTE5LjYtMS42LTIwLjYtMS41LTIxLjctMS4zLTIyLjYtLjkwMS0yNSAuMjE5LTIzLjcgMi4zLTIxLjkgMy4yLTE3LjQgNS0xNy40IDguNC0xNy41IDEyLjgtMTcuNSAxNS41LTE3LjUgMTcuNi0xNy41IDIwLjUtMTcuNiAyMi43LTE3LjIgMjUuNS0xOC40IDI3LjEtMTkuNSAyOC43LTIyLjEgMjguMy0yMy44IDI5LjQtMjUuNyAzMC45LTIyLjcgMzIuNS0yMS4zIDMyLjktMTYuNSAzNC4yLTUuOCAzOS4zLTYuNSAzMC4zLTYuNCAyNS4xLTYuNiAxNS4zLTYuNCA4LjktNi41IDIuOSAuODkyIDMuOSAuMDY1IC4xMjhaIiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMzcyLjIsNzYuMSkiIGQ9Ik0wIDBDLjM3LTYuMS0xMy4yLTkuMy0xNC40LTIuNy0xNS4xIDMuOS0uODE0IDcuMS0uMDE0IC4xNjVaIiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsNDM0LjgsMTE3KSIgZD0iTTAgMEMtMS4zIDEuNC0xLjcgMy40LTEuOSA1LjItMi40IDkuNS0zLjEgMTUuMi0zLjUgMTktMy45IDI0LjUtNS40IDMxLjQtOC45IDM1LjItMTYuMiA0Mi40LTI4LjkgNDAtMzQuMyAzMS42LTM1LjYgMzAuMy0zNS43IDMzLjItMzUuOCAzNC4xLTM1LjggMzYuNC0zNi44IDM4LjUtMzkuMiAzOC42LTQyLjggMzguOC00NiAzNy4zLTQ5LjYgMzYuMS01MSAzNS43LTUzLjkgMzQuMy01Mi40IDMyLjYtNTEuNSAzMS44LTQ5LjcgMzEuOC00OC41IDMxLjEtNDUuOSAyOS44LTQ2LjQgMjYuNS00Ni40IDI0LjEtNDYuMyAxOC42LTQ2LjMgMTIuMS00Ni40IDctNDYuNCA0LjYtNDYuMiAxLjctNDgtLjE4LTQ5LjEtMS40LTUxLTEuOS01Mi0zLjItNTQtNi43LTQ3LjktNi44LTQ1LjctNi44LTQyLjUtNi44LTM4LjgtNi44LTM1LjYtNi44LTM0LjEtNi44LTMyLjYtNi44LTMxLjItNi4zLTI5LjMtNS43LTI4LjgtMy43LTMwLjYtMi42TC0zMC43LTIuNUMtMzQuOS0uMjEtMzUuOSAxLjQtMzUuNyA2LjItMzUuNCAxMi44LTM2LjggMTkuNS0zMy45IDI1LjUtMzEuMSAzMS40LTIzIDM0LjUtMTcuOSAyOS42LTE0LjMgMjUuNy0xNC4zIDE5LjctMTMuNiAxNC44LTEzLjMgMTIuMi0xMyA5LjQtMTIuNyA3LTEyLjUgNS0xMi4xIDIuNy0xMi45IC44Ny0xMy41LTEuNi0xOC44LTIuNC0xNy40LTUuMy0xNS45LTYuOS0xMy02LjctMTAuOS02LjgtOC02LjgtNC41LTYuOC0xLjUtNi44IC40NS02LjcgMy02LjggNC41LTUuNCA2LTIuNyAxLjMtMS43IDAgMCIgZmlsbD0iI2Y0ZjRmNCIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDk0LjEsMTA3LjYpIiBkPSJNMCAwQy0uNjctMS45LTIuOS0zLjItNS4zLTQuMy03LjYtNS40LTEwLjItNi0xMi45LTYtMTMuOS02LTE0LjktNi0xNS45LTUuOC0xNi4xLTUuOC0xNi4zLTUuOC0xNi41LTUuOC0xOC40LTUuOC0yMC4xLTYuNy0yMS44LTcuNS0yMi42LTcuOS0yMy4zLTguMy0yNC4xLTguNi0yNS4zLTktMjYuNi05LjMtMjcuOC05LjUtMjguNC05LjctMjktOS44LTI5LjctOS45LTMxLjktMTAuNC0zNC4yLTEwLjUtMzYuNC0xMC41LTM3LjMtMTAuNi0zOC4yLTEwLjYtMzkuMS0xMC42LTM5LjctMTAuNy00MC4zLTEwLjctNDEtMTAuNy00Ni4yLTEwLjctNTEuNS05LjMtNTYuMS02LjgtNTguMS01LjctNTkuOC01LTYxLjQtNC44LTYyLTQuNi02Mi43LTQuNS02My40LTQuNC02NC45LTQuMS02Ni41LTMuOS02OC0zLjMtNzAuMy0yLjUtNzIuMi0uNzktNzQuMSAuODFMLTc0LjUgMS4yQy03NS45IDIuMy03Ni41IDMuNC03Ni4zIDQuNC03Ni4yIDUuNS03NS4yIDYuNS03My41IDcuMi03Mi45IDcuNS03Mi4zIDcuNi03MS45IDcuOC02OS45IDguNC02OS4zIDguNi02OS44IDExLjgtNzAuMiAxNC40LTcwLjQgMTguMS02Ny43IDIwLjgtNjcgMjEuNS02Ni4yIDIyLTY1LjUgMjIuNS02NC4yIDIzLjQtNjMgMjQuMS02Mi44IDI1LjgtNjIuNyAyNi4yLTYyLjYgMjYuNi02Mi42IDI3LTYyLjUgMjcuNC02Mi40IDI3LjgtNjIuNCAyOC4yLTYyLjEgMjkuMy02MS43IDMwLjMtNjEuMyAzMS40LTYwLjcgMzMuMS02MCAzNC44LTYwIDM2LjctNTkuOSAzOC4yLTYwLjIgMzkuNy02MC41IDQxLjEtNjAuOCA0Mi41LTYxLjEgNDMuOS02MSA0NS4zLTYwLjkgNDcuNS02MC4yIDQ5LjYtNTkuNSA1MS40LTU5LjMgNTItNTkuMSA1Mi41LTU4LjkgNTMuMS01OC4yIDU0LjktNTcuNSA1Ni43LTU2LjUgNTguMy01NS40IDYwLjEtNTQuNCA2Mi4xLTUzLjQgNjQuNi01MS43IDY4LjEtNDguOCA3MS40LTQ0LjcgNzQuOC00MC40IDc4LjktMzYgODAuOS0zMSA4MS0zMC43IDgxLTMwLjQgODEuMS0zMCA4MS4xLTI1LjkgODEuMS0xOS45IDc5LjgtMTYuNyA3Ni4yLTE1LjEgNzQuNC0xNC40IDcyLjMtMTQuNiA2OS45TC0xNC43IDY4LjdDLTE1IDY0LjItMTUuMyA1OS41LTE3LjUgNTUuNC0xOC4xIDU0LjQtMTkgNTMuNS0xOS45IDUyLjYtMjAuNCA1Mi0yMSA1MS40LTIxLjUgNTAuOC0yMy44IDQ4LTIyLjQgNDYuNS0yMC40IDQ0LjMtMTguOCA0Mi41LTE2LjggNDAuMy0xNi43IDM2LjgtMTYuNyAzNi41LTE2LjcgMzYuMS0xNi43IDM1LjctMTYuNiAzNS0xNi42IDM0LjQtMTYuNiAzMy43LTE2LjIgMzEuOS0xNS4zIDMwLjEtMTQuNCAyOC40LTEzLjggMjcuNC0xMyAyNi41LTEyLjMgMjUuNi0xMSAyNC4xLTkuNyAyMi42LTkuMiAyMC43LTkgMTkuOS04LjkgMTktOS4xIDE4LjEtOS4xIDE3LjMtOS40IDE2LjUtOS42IDE1LjctOS45IDE0LjUtMTAuMiAxMy40LTEwLjEgMTIuMy05LjggMTAuNy04LjkgOS04IDcuN0wtOCA3LjZDLTcuMiA2LjYtNS45IDYuMS00LjUgNS43LTIuOSA1LjEtMS4yIDQuNS0uMzEgMi45IC4yMSAxLjkgLjMyIC45MSAwIDBNNC41IDgxLjhDLTQuMSA4OS42LTE3LjQgOTMuNi0zNS4xIDkzLjYtNTIuOSA5My42LTY2LjIgODkuNi03NC43IDgxLjgtODQuNSA3Mi45LTg5LjUgNTcuMi04OS41IDM1LjItODkuNSAxMy4yLTg0LjUtMi41LTc0LjctMTEuNS02Ni4yLTE5LjMtNTIuOS0yMy4yLTM1LjEtMjMuMi0xNy40LTIzLjItNC4xLTE5LjMgNC40LTExLjUgMTQuMi0yLjUgMTkuMiAxMy4yIDE5LjIgMzUuMiAxOS4yIDU3LjIgMTQuMiA3Mi45IDQuNSA4MS44IiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsNDAuNSwxMDIuNCkiIGQ9Ik0wIDAtLjA4LS4wNkMtMS40LS45Ni0zLjEtMS41LTQuOC0xLjUtNi0xLjUtNy42LTEuMi04LjkgLjA0LTExLjEgMi4yLTEyLjMgNS4xLTEyLjQgOC4xLTEyLjYgMTAuOC0xMSAxMy4xLTguMyAxNC4yLTcuMSAxNC44LTUuNyAxNS4yLTQuNSAxNS4yLTMuNCAxNS4yLTIuNCAxNC45LTEuNiAxNC41LS4yMSAxMy42IC45NSAxMiAyIDEwLjUgMi45IDguOSAzIDcgMy4xIDUuMyAzLjMgMy41IDIuMiAxLjcgMCAwIiBmaWxsPSIjZjRmNGY0Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsNjguMiwzOS44KSIgZD0iTTAgMEMxLjggLjI4IDIuMSAxLjUgMi43IDMgMyAzLjUgMy41IDMuNSAzLjkgMy4xIDUuNiAuNiAyLjctMi45LS4wNC0yLjNMLS4xNC0yLjNDLS44NC0yLTEuOC0xLjUtMS45LS42Ni0xLjgtLjEtLjc2LS4xNCAwIDBNMTEuMS00NUM2LjQtMzkuOCA2LjMtMzkuMSA1LjgtMzMuOCA1LjgtMzMuMSA1LjctMzIuNCA1LjYtMzEuNiA1LjQtMjkuOSA0LjYtMjguNCAzLjQtMjcuMiAyLjktMjYuNiAyLjMtMjYuMSAxLjctMjUuNiAuNzEtMjQuOC0uMjgtMjMuOS0uODktMjIuOC0yLjctMTkuNy0yLjgtMTYuNS0xLjItMTQuMy0uMjgtMTMgLjk2LTEyLjEgMi4xLTExLjEgMy4zLTEwLjIgNC41LTkuMyA1LjQtOC4xIDYuNC02LjcgNi44LTQuOSA3LjEtMy4xIDcuMS0yLjkgNy4yLTIuNiA3LjItMi4zTDcuMy0yQzcuNi0uMjEgNy45IDEuNiA3LjYgMy40IDcuMyA1LjggNS4zIDcuMSAyLjggOC41IDEgOS40LTEgOS45LTMuMSA5LjlILTMuM0MtMy42IDkuOS0zLjkgOS45LTQuMSA5LjktOS43IDkuOS0xMi4yIDcuNy0xNi4zIDMuOC0xOSAxLjctMjIuMy0xLjItMjQuMS00LjktMjQuNC01LjQtMjQuNi02LTI0LjktNi41LTI1LjItNy4zLTI1LjUtOC0yNS45LTguOC0yNi4zLTkuNS0yNi43LTEwLjMtMjcuMS0xMS0yNy4zLTExLjItMjcuNC0xMS41LTI3LjYtMTEuNy0yOS4xLTE0LjQtMzAuMS0xNy4zLTMxLTIwLjJMLTMxLjEtMjAuNEMtMzEuNS0yMi4yLTMxLjMtMjMuNi0zMC43LTI0LjQtMzAuNC0yNC44LTMwLTI1LTI5LjUtMjUtMjguNS0yNS0yNy0yMy45LTI2LjItMjEuMy0yNC45LTE3LjMtMjMuNS0xNC4xLTIxLjktMTEuMy0yMC4yLTgtMTguMi00LjktMTUuOC0xLjlMLTE1LjYtMS43Qy0xNC44LS44LTEzLjcgLjUxLTEyLjYgLjUxLTEyLjUgLjUxLTEyLjMgLjQ5LTEyLjIgLjQ0TC0xMi4xIC40My0xMi4xIC4zOUMtMTEuMi0uNTItMTIuNS0yLjEtMTMuNi0zLjQtMTQuMS00LTE0LjUtNC41LTE0LjctNC45LTE1LjQtNi0xNS45LTcuMy0xNi41LTguNS0xNi45LTkuNC0xNy4yLTEwLjMtMTcuNy0xMS4xLTE4LjQtMTIuNS0xOS4xLTEzLjktMTkuNi0xNS40LTE5LjgtMTYuMi0yMC4xLTE3LjEtMjAuNC0xNy45LTIxLjMtMjAuNS0yMi4zLTIzLjItMjEuNi0yNS45LTIxLjQtMjcuMS0yMC42LTI3LjktMTkuOC0yNy45LTE5LjQtMjcuOS0xOS4xLTI3LjctMTguNy0yNy4zLTE3LjEtMjUuNS0xNi41LTIzLjEtMTUuOS0yMC44LTE1LjUtMTkuMi0xNS4xLTE3LjYtMTQuNC0xNi4yLTEzLjktMTUtMTMuNS0xMy44LTEzLjEtMTIuOC0xMi4yLTEwLjQtMTAuNy04LjEtOS4xLTUuOS04LjItNC43LTctMy43LTUuOS0zLTUuNS0yLjgtNS4xLTIuNy00LjgtMi43LTQuNy0yLjctNC43LTIuNy00LjctMi43LTQuNC0yLjctNC4yLTIuOS00LjItMy00LTMuMy00LjEtMy44LTQuMy00LjMtNC42LTQuOS01LTUuNC01LjQtNS45TC01LjQtNS45Qy03LjMtOC40LTguOC0xMS40LTkuOC0xNC44LTEwLjEtMTUuNy0xMC41LTE2LjYtMTAuOC0xNy41LTExLjItMTguMy0xMS41LTE5LjEtMTEuOC0yMC0xMS45LTIwLjYtMTIuMS0yMS4zLTEyLjMtMjEuOS0xMi43LTIzLjUtMTMuMS0yNS4xLTEzLjctMjYuNy0xNC43LTI5LjItMTcuNS0zNC0yMC42LTM0LTIxLjYtMzQtMjIuNi0zMy40LTIzLjYtMzIuMy0yMy45LTMxLjktMjQuMS0zMS40LTI0LjQtMzAuOC0yNC43LTMwLTI1LjEtMjkuMi0yNS43LTI5LjItMjUuOS0yOS4yLTI2LjEtMjkuMy0yNi40LTI5LjUtMjcuMS0zMC0yNy45LTMwLjktMjguNy0zMS42TC0yOS4xLTMyLjFDLTMwLjctMzMuNy0zMS40LTM2LTMyLjItMzguM0wtMzIuNC0zOC45Qy0zMy4xLTQxLTMzLjMtNDIuMi0zMi45LTQzLTMyLjUtNDMuNy0zMS43LTQ0LTMwLjYtNDQuNC0yOC43LTQ1LTI2LjItNDUuOC0yNC00OS4yLTIyLjQtNTEuMy0yMS42LTUzLjMtMjEuNS01NS4zLTIxLjQtNTcuMi0yMS40LTYwLTIzLTYyLjEtMjMuNS02Mi44LTI0LjItNjMuNC0yNS02NC0yNS44LTY0LjYtMjYuNi02NS4yLTI2LjgtNjUuOS0yNy4yLTY2LjgtMjYuMi02Ny41LTI1LjgtNjcuOC0yNC41LTY4LjUtMjIuNC02OS42LTIwLjQtNzAuMi0xOC03MC43LTE1LjMtNzEtMTIuNi03MS4xLTEyLjQtNzEuMS0xMi4yLTcxLjEtMTIuMS03MS4xLTExLjUtNzEuMS0xMC44LTcxLjEtMTAuMi03MS4xLTkuNi03MS4yLTktNzEuMi04LjQtNzEuMi03LjctNzEuMi03LjEtNzEuMi02LjUtNzEuMS01LjYtNzAuOS00LjctNzAuNS0zLjktNzAuMi0zLjItNjkuOS0yLjUtNjkuNi0xLjgtNjkuNCAyLjctNjguNyA2LjEtNjcuNiA4LjgtNjUuOEw4LjgtNjUuOEMxMS44LTYzLjcgMTEuOC01OS40IDEwLjUtNTYuMSAxMC01NC45IDguNy01NCA3LjMtNTQgNi4zLTU0IDUuNS01NC41IDQuOS01NS4yIDQuNi01NS43IDQuNC01Ni4yIDQuMS01Ni43IDMuOS01Ny4xIDMuNy01Ny42IDMuNC01OCAyLjYtNTkuMyAxLjUtNjAuNCAuNC02MS40IDAtNjEuOC0uNDEtNjIuMi0uNzktNjIuNi0uOTgtNjIuNy0xLjItNjIuOS0xLjQtNjMuMi0yLjEtNjMuOS0zLTY0LjgtMy44LTY0LjgtNC4yLTY0LjgtNC40LTY0LjctNC43LTY0LjQtNS4yLTYzLjctNS02Mi40LTQuNS02MS41LTQtNjAuMS0yLjktNTktMS45LTU4LS45LTU3LjEgLjExLTU2LjEgLjY2LTU0LjggMi44LTUwLjEgMi42LTQ1LjIgLjE4LTQxLjMtLjU2LTQwLjEtMS42LTM5LjUtMy0zOS41LTQuNS0zOS41LTYuMy00MC40LTcuNi00MS43TC03LjktNDEuOUMtOC43LTQyLjctOS41LTQzLjUtMTAuNS00NC0xMS4xLTQ0LjUtMTIuNC00NS0xMy40LTQ1LTE0LjEtNDUtMTQuNi00NC44LTE0LjktNDQuNS0xNS00NC4zLTE1LjEtNDQuMS0xNS4xLTQzLjgtMTUtNDMuNS0xNC43LTQzLTE0LjEtNDIuNi0xMi44LTQxLjctMTEuNy00MC43LTEwLjYtMzkuNi0xMC4zLTM5LjQtMTAuMS0zOS4xLTkuOC0zOC44LTguMy0zNy42LTYuNS0zNi4zLTQuNS0zNS43LTQtMzUuNi0zLjUtMzUuNi0zLTM1LjYtLjU5LTM1LjYgMS45LTM2LjYgMy4xLTM4LjIgNC4zLTM5LjkgNS00MiA1LjYtNDMuOUw1LjYtNDRDNS43LTQ0LjQgNS44LTQ0LjggNS45LTQ1LjIgNi4yLTQ2LjcgNi41LTQ4IDcuNy00OC45IDguNy00OS42IDkuNy01MCAxMC42LTUwIDExLjQtNTAgMTItNDkuNiAxMi4zLTQ5IDEyLjYtNDguMSAxMi41LTQ2LjYgMTEuMS00NSIgZmlsbD0iI2Y0ZjRmNCIvPjwvZz48L2c+PC9zdmc+") no-repeat left center;
  background-size:contain;
  font-size:0 !important;line-height:0;color:transparent !important;
  text-indent:-9999px;white-space:nowrap;overflow:hidden;
}
@media (max-width:600px){.bumply-footer__logo{width:168px;height:50px}}

/* The homepage has its own signup band, so suppress the global footer reminder
   there. Every other page keeps it, since it is the only ask on those pages. */
body.home .bumply-footer__signup{display:none}


/* =============================================================================
   27. STROLLER FINDER (/best-strollers/)
   Four-question tool that recommends one of the reviewed strollers and says why.
   Every class is namespaced sf-* and every rule is scoped under .sf-app, so the
   theme cannot reach into it and it cannot reach out. Markup lives in
   content/best-strollers.html; behaviour in assets/js/stroller-finder.js.
   Generated by the build script, see docs; do not hand-edit class names.
   ========================================================================== */
.sf-app{
  --ink:#131D27; --petal:#EDAEC6; --bird:#8FBEE8; --sun:#E8DF72;
  --sky:#B7D6F2; --sage:#4078A8; --slate:#46525E; --rose-soft:#D29AAF;
  /* small text sits on a darker shade of the same rose so it clears 4.5:1 */
  --rose-label:#9C4362;
  --blush:#FDF5F8;
  --grad-rule:linear-gradient(90deg,#B55376,#8FBEE8);
  --grad-rose:linear-gradient(90deg,#D29AAF,#B55376);
  --grad-blue:linear-gradient(90deg,#B7D6F2,#8FBEE8);
  --grad-slate:linear-gradient(90deg,#ADC4D8,#88A6C0);
  --paper:#FAFAFA; --card:#FFFFFF; --line:#E9E3D8; --muted:#55606A; --faint:#667078;
  --accent:#B55376; --caution:#FFFAEC; --caution-line:#EDE1BC;
  /* These two MUST stay pointed at the brand faces. They shipped as local
     Iowan Old Style and system-ui stacks, which silently shadowed Bogart and
     Apercu for every heading and label inside the finder, so the category
     headers rendered in a different typeface from the rest of the site. Ana
     spotted it on the live page. CLAUDE.md had already flagged the finder's
     Cormorant/Jost divergence as something to fix BEFORE it shipped, and it
     shipped anyway. Do not reintroduce a local font stack here. */
  --serif:var(--font-heading);
  --sans:var(--font-body);
}
.sf-app *{box-sizing:border-box;}

/* Contained card, NOT a full-bleed breakout. This shipped briefly as
   width:100vw with margin:0 calc(50% - 50vw), which cut the finder off on the
   live page: 100vw counts the scrollbar gutter, so the element is wider than
   the visible viewport, and the overflow:hidden directly above then clips the
   right edge. Ana caught it. If a full-bleed treatment is wanted later it needs
   100% with a padded wrapper, never 100vw inside an overflow:hidden box. */
.sf-app{position:relative;overflow:hidden;border-radius:1.4rem;margin:0 0 2.6rem;
  scroll-margin-top:1.5rem;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;}

/* The homepage hero's own background, lifted from templates/front-page.html:
   the watermark pattern under petal, blue and sun radial washes. Fixed to the
   viewport so the whole finder sits on it rather than one band at the top. */
.sf-app::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1OTQiIGhlaWdodD0iMzExIiB2aWV3Qm94PSIwIDAgNTk0IDMxMSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgsMjYpIHNjYWxlKC41MikiPjxkZWZzPjxjbGlwUGF0aCBpZD0idHBfY2xpcF8xIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDEzNS40KSIgZD0iTTAgMTM1LjRINDU3LjRWMEgwWiIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnPjwvZz48Zz48ZyBjbGlwLXBhdGg9InVybCgjdHBfY2xpcF8xKSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMzMzLjMsMTA1LjYpIiBkPSJNMCAwQy0uMTcyIDIuMy0xLjcgMy45LTQgNC02LjMgNC4yLTkgNC4xLTExLjMgMy42LTE1LjYgMi44LTE5LjEgLjMxMS0xOS4xLTQuMy0xOS43LTIwIDIuNi0xNC4yIC4wMjYtLjE5OFpNLTI5LjgtNi42Qy0yOS43IDUuOS0xNS4yIDcuNC00LjEgOC44LS42NTcgOS43LTEuNyAxMy45LTIuNCAxNi41LTMuOCAyMy4yLTEzIDI1LjItMTcgMTkuOS0xOSAxNy42LTE4LjYgMTQtMjEgMTIuMS0yMy4yIDEwLjMtMjYuNiAxMS40LTI3LjEgMTQuMi0yOC4yIDE5LjQtMjMuNSAyMy42LTE5LjIgMjUuNi0xMC41IDI5LjcgMi41IDI5LjUgNi44IDE5LjYgOS40IDEyLjkgOS4yIDUuNyAxMC40LTEuNSAxMC44LTQuMSAxMC44LTYuOCAxMS45LTkuNCAxMi4yLTEwLjEgMTIuNy0xMC44IDEzLjQtMTEuMSAxNC45LTEyIDE3LjEtMTAuNSAxOC4yLTExLjIgMTkuOS0xMi41IDE4LjUtMTUuMSAxNy4zLTE2LjQgMTMuOS0yMC4yIDcuMi0yMC4xIDQuMy0xNS44IDMuNS0xNC44IDIuOS0xMiAxLjItMTIuNS03LjctMjMuMS0zMC0yMi44LTI5LjgtNi43WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDE3Mi4yLDEyOS4xKSIgZD0iTTAgMEMtMTAuOC0uMDU5LTIyLjEgNi4zLTIyLjUgMTcuMS0yMi44IDIzLjctMTguOCAyOS44LTEzLjEgMzIuOS0xMC45IDM0LTEwIDM0LjktMTEuOSAzNi43LTE3LjQgNDEuNC0xNS45IDQ5LjktMTAuMSA1My43LTIuNSA1OS4yIDEzLjYgNTcuNCAxNS4yIDQ3LjUgMTUuNCA0My41IDExLjYgNDIuMiA5LjIgNDUuMSA4IDQ2LjQgNy4zIDQ3LjkgNS45IDQ5LjEgMyA1MS42LTIuNCA1MS40LTQuOSA0OC4zLTcuMyA0NS41LTYuNSA0MC44LTMuNCAzOC44LTEuOCAzNy41IDIuNCAzNy4zIDIgMzQuNiAxLjYgMzIuNy0uOTk0IDMyLTIuNiAzMS4yLTQuNCAzMC40LTYuMSAyOS40LTcuNSAyOC0xMy4xIDIyLjYtMTIuNCAxMi44LTYuNCA4LjUgMS40IDIuOCAxMy4zIDcuMiAxNSAxNi43IDE1LjYgMTkuNSAxNi4yIDI0LjUgMTMuNSAyNS41IDExLjcgMjYuMyA5LjkgMjUuMiA4LjggMjMuOCA4LjIgMjMuMSA3LjcgMjIuNSA3IDIyLjIgNSAyMS41IDQuMiAyNCA0LjUgMjUuNyA2LjEgMzYuNCAxNC45IDMyLjggMjIuOCAzMy41IDI0LjkgMzMuOCAyNS45IDM2LjEgMjcuNSAzNy4xIDMwLjEgMzguMyAzMC43IDM0LjUgMzAuMiAzMi41IDI5LjcgMzAuNSAyOC4zIDI4LjggMjYuNSAyNy44IDI1LjUgMjcuMiAyNC40IDI2LjcgMjMuOSAyNS42IDIzLjQgMjQuNiAyMy42IDIzLjMgMjMuNiAyMi4xIDI0LjQgOS4xIDEzLjMtLjUyOSAuMTgzLS4wMDJaIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMTU3LjgsNjIuNCkiIGQ9Ik0wIDBDLjc5OS0uNjY0IDEuMi0xLjUgLjg3LTIuMy0xLjEtNS4yLTcuOC0zLjktMTEtNC4xLTEzLjMtNC0yMy4yLTUuMS0yMS4zLS44MTQtMjAuNSAuNDI0LTE4LjYgMS4zLTE3LjYgMi4zLTE1LjYgMy45LTE1LjcgNi44LTE1LjcgOS4yLTE1LjcgMTQuNy0xNS42IDIyLjktMTUuNyAyOS4zLTE1LjcgMzAuMy0xNS45IDMxLjctMTYuNCAzMi41LTE3LjIgMzQuMS0xOS40IDM0LjItMjEgMzUuMS0yMyAzNi4yLTIxLjEgMzgtMTkuNiAzOC42LTE2LjMgMzkuNy04LjYgNDMuMS02LjEgNDAtNS4xIDM4LjctNS4zIDM2LjYtNC45IDM1LjEtNC40IDMzLjYtMy41IDM0LjUtMi44IDM1LjQgMy4zIDQ0LjIgMTcuMSA0NC41IDIyLjUgMzQuOSAyMy41IDMzLjUgMjQuNyAzMy44IDI1LjUgMzUgMjYuNSAzNi4zIDI3LjQgMzcuNyAyOC43IDM4LjcgMzIuMSA0MS42IDM2LjcgNDIuNiA0MSA0MS45IDQ3LjcgNDAuOCA1MS41IDM0LjkgNTIuOCAyNy42IDUzLjcgMjIuMSA1NC4yIDE1LjQgNTQuOSAxMC4zIDU1LjQgNC44IDU1LjYgMy4yIDYwLjUgLjE3IDYzLjMtMi4xIDYxLjMtMy42IDU4LjQtMy45IDU1LjItNC4zIDUyLjItNCA0OC45LTQuMiA0Ni43LTQuMSAzNy4xLTQuNiA0MC4yLS4zOTYgNDEuMyAuODQxIDQzLjIgMS42IDQ0IDMuMiA0NS4yIDUuMyA0NC41IDguMSA0NC4zIDEwLjUgNDQgMTMuOSA0My42IDE3LjcgNDMuMiAyMS4yIDQyLjggMjYuOSA0MC45IDM1LjMgMzMuNSAzNC42IDI0LjggMzMuOCAyNC4yIDIyLjIgMjQuNiAxNC43IDI0LjggMTEuMSAyNCA3LjQgMjUuMiA0IDI1LjkgMiAyOC4xIDEuMSAyOS4yLS41ODggMzAuOS0zLjcgMjUuNi00LjIgMjMuNS00LjEgMTkuNS0zLjkgMTIuMy01LjIgOS41LTIuNyA4LjEtLjI3NSAxMiAxLjIgMTIuOSAzIDEzLjcgNC40IDEzLjkgNiAxNCA3LjUgMTQgMTMuOSAxNC40IDIwLjYgMTMuNiAyNyAxMi44IDMyLjcgNy4xIDM2LjUgMS43IDMzLjgtMS44IDMyLjItNC40IDI3LjItNC45IDIyLjktNS40IDE4LjMtNS4xIDEzLjUtNS4xIDguNy01LjMgMy45LTQuMiAyLjctLjE0MSAuMTE4WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDI1OC45LDQ2LjgpIiBkPSJNMCAwQy0uMjEzIDYuOC0yLjMgMTQuOC03LjkgMTkuMi0xNC44IDI0LjctMjQgMTkuOS0yNS43IDExLjUtMjguMyAuMTI1LTIxLjYtMTguMi05LTE1LTIuNi0xMy40IC4xMTEtNi4yIC4wMDItLjE3Wk0tMzcuMSAzLjVDLTM3LjEgMTAuMy0zNC4xIDE2LjgtMjkuMiAyMC45LTE4IDMwLjYgMi4yIDI3LjcgOC41IDEzLjcgMjMuNi0yMy4yLTM1LjUtMzQuOC0zNy4xIDMuM1oiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwyNzkuMSw1Mi44KSIgZD0iTTAgMEMtLjE1OCA1LjkgLjA5NiAxNS45LS4wNjEgMjIuNS0uMDg3IDIzLjUtLjE5MyAyNC42LS44OCAyNS40LTIuMiAyNi45LTUuOSAyNy4xLTUuNCAyOS45LTUuMSAzMi0zLjUgMzMuNi0yLjMgMzUuMy0uMTA0IDM4LjIgMS45IDQwLjggNC44IDQyLjcgOC44IDQ1LjIgMTEuMSA0Mi45IDEwLjggMzguNSAxMC45IDM2LjMgMTAuNCAzMi44IDEyLjkgMzIgMTcgMzEgMjEuNCAzMi4yIDI1LjQgMzEuNCAyNy45IDMwLjggMjcuOCAyOCAyNS40IDI3LjEgMjIgMjYuMiAxOC4zIDI3IDE0LjcgMjYuNiAxMC40IDI2LjYgMTAuNCAyMy4zIDEwLjUgMTkuNyAxMC41IDE1LjggMTAuNSAxMS42IDEwLjUgNy41IDEwLjUgMy4xIDEwLjEtMi42IDEzLjktNS43IDE4LjMtOSAyMy41LTUuOSAyNy4xLTMgMjkuOC0xLjYgMjkuOC00LjYgMjguOC02LjQgMjQuOS0xNC4zIDE0LjEtMTYuNCA2LjUtMTIuOCAyLjItMTAuNCAuMDQtNC45IC4wMDUtLjE1NloiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwzMzIuOCw2Mi40KSIgZD0iTTAgMEM0LjMtNC42LTYuNS00LjQtOC45LTQuMi0xMi45LTMuOS0xNi42LTQuOC0yMC40LTMuNC0yMi0yLjgtMjIuMy0xLjMtMjEuMS0uMi0xOS43IDEuMS0xNy42IDEuOC0xNi43IDMuNy0xNS44IDUuNC0xNS45IDcuNC0xNS45IDkuMi0xNi4yIDIyLjYtMTUuMSA0MC41LTE2LjMgNTIuOC0xNi40IDUzLjMtMTYuNyA1My44LTE3LjEgNTQuMi0xOC43IDU2LjEtMjMuOSA1NS41LTIxLjggNTguNS0xOS45IDYwLjItMTYuNSA2MC43LTE0IDYxLjYtMTEgNjIuNy02LjIgNjMuNC01LjQgNTkuNC01IDUyLjUtNS40IDQyLjYtNS4yIDM2LjctNS4yIDM2LjEtNS4yIDM1LjUtNS4xIDM1LTQuOCAzMy4yLTMuNCAzNC43LTIuOCAzNS40IDEuMiA0MC43IDggNDMuMiAxNC40IDQxLjggMjkuOSAzOC44IDI1LjYgMTYuOCAyOS43IDMuOCAzMC43IDEuOCAzMy4xIDEuMSAzNC43LS40NTUgMzcuMS0zLjMgMzItNC4xIDMwLjEtNC4xIDI2LjYtNC40IDIyLjctNCAxOS4yLTQuMiAxNy4zLTQuMSAxMS41LTQgMTMuMy0uNzEyIDE0LjMgLjY4MiAxNi4xIDEuMyAxNy4xIDIuNiAxOS4xIDUuNiAxNy42IDkuNCAxNy40IDEyLjcgMTYuNCAxOS44IDE3LjIgMjcgMTIuNiAzMi4zIDcuNyAzNy0uNzMxIDM0LjMtMy4zIDI4LjMtNiAyMi42LTUuMSAxNi4yLTUuMiAxMC01LjQgNC42LTUgMi45LS4xNDEgLjExNVoiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSw0MDEuNywzNC45KSIgZD0iTTAgMEMtLjE2OCAxMS4zLTE2LjUgMTMuOS0yMC4xIDIuMi0yMi41LTYuOS0xOS42LTYtMTIuMi00LjYtMTAtNC4zLTcuOS00LTUuOS0zLjYtMy42LTMuMi0uMjc5LTMtLjAxNS0uMTgyWk0tMzEuNi03LjZDLTMyLjIgMTYuOCA2LjIgMjMuMSA5LjggLjEzMSAxMC0xLjQgOS44LTMgOS00LjIgNy4yLTYuOCAzLjQtNy4xIC41OC03LjYtMi44LTguMS04LjctOC45LTEzLjItOS41LTE1LjItOS45LTE4LTkuOS0xOS4xLTExLjQtMjEtMTUuMi0xNy40LTE5LjgtMTQuNC0yMi4zLTguOC0yNi45IC42MjYtMjUuMyA1LjUtMjAuOCA2LjUtMjAgOC4zLTE4IDkuNi0xOS4yIDExLjEtMjIuMSA2LjktMjYuMiA0LjYtMjcuOC0xMS4zLTM5LjItMzIuNy0yNy4yLTMxLjYtNy44WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDQzOC42LDYyLjQpIiBkPSJNMCAwQzIuOC0yLjQtLjc1My00LTMtNC04LjMtNC4zLTEzLjUtNC40LTE4LjctMy45LTIwLjUtMy44LTIzLjItMi41LTIxLjQtLjU3LTIwLjggLjA2LTIwLjUgLjI3NC0xOS45IC43MDUtMTcuNSAyLTE2LjEgMy41LTE2IDYuMy0xNS44IDEzLTE1LjggMjIuNi0xNiAzMC40LTE2LjMgMzQuMS0xOC44IDMzLjktMjEuNSAzNS0yNC4xIDM2LjctMjAuMyAzOC41LTE4LjcgMzguOS0xNSA0MC05LjUgNDIuOS02LjQgNDAuMi00LjQgMzguMi02LjUgMzAtMi40IDM2LjQgMS44IDQyLjUgMTMgNDQuOCAxNy4yIDM3LjUgMTkuOSAzMy4zIDE5LjYgMjQuNCAxMy4xIDI0LjMgNy41IDI0LjYgMTAuMiAyOS45IDcuOSAzMi44IDIuOSAzNy4xLTIuOCAzMS45LTQuNCAyNS42LTUuOCAyMC42LTUuMSAxNS4zLTUuMyAxMC4yLTUuNSA0LjctNS4zIDIuOC0uMTQxIC4xMTJaIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMjM4LjksMTE5LjcpIiBkPSJNMCAwQy43OTYtLjY2NCAxLjItMS41IC44NjgtMi4zLTEuMS01LjItNy44LTMuOS0xMC45LTQuMS0xMy4zLTQtMjMuMS01LjEtMjEuMi0uODE4LTIwLjUgLjQyNi0xOC41IDEuMy0xNy41IDIuMy0xNSA0LjUtMTUuOCA4LjUtMTUuNiAxMS40LTE1LjcgMTcuNC0xNS41IDI0LTE1LjcgMzAuMS0xNiAzNC0xOC4yIDMzLjgtMjEuMiAzNS4yLTIzLjEgMzYuMi0yMS40IDM3LjctMTkuOSAzOC40LTE3LjMgMzkuNy0xMyA0MC43LTEwLjkgNDEuMi03LjcgNDEuOC01LjQgNDAuNy01LjIgMzcuMS00LjkgMzQtNC40IDMzLjItMi4zIDM2IDQuMSA0NC40IDE3LjMgNDQuMSAyMi40IDM0LjkgMjMuNCAzMy41IDI0LjYgMzMuOCAyNS40IDM1IDI2LjQgMzYuMyAyNy40IDM3LjcgMjguNyAzOC43IDMwLjMgNDAuMSAzMi4zIDQxLjEgMzQuNCA0MS43IDQzLjkgNDQuMSA1MS4yIDM3LjYgNTIuNyAyNy42IDUzLjYgMjIuMSA1NC4xIDE1LjQgNTQuNyAxMC4zIDU1LjIgNC44IDU1LjUgMy4yIDYwLjMgLjE3IDYzLjItMi4xIDYxLjEtMy42IDU4LjMtMy45IDU1LjEtNC4zIDUyLjEtNCA0OC44LTQuMiA0Ni42LTQuMSAzNy4xLTQuNiA0MC4xLS4zOTggNDEuMiAuODQzIDQzLjEgMS42IDQzLjkgMy4yIDQ1LjEgNS4zIDQ0LjQgOC4xIDQ0LjIgMTAuNSA0My45IDEzLjkgNDMuNSAxNy43IDQzLjEgMjEuMiA0Mi43IDI2LjkgNDAuOCAzNS4zIDMzLjUgMzQuNiAyNC44IDMzLjggMjQuMiAyMi4yIDI0LjUgMTQuNyAyNC43IDExLjEgMjQgNy40IDI1LjIgNCAyNS44IDIgMjggMS4xIDI5LjEtLjU4OCAzMC45LTMuNyAyNS42LTQuMyAyMy40LTQuMSAxOS40LTMuOCAxMi4zLTUuMiA5LjUtMi43IDguMS0uMjc5IDEyIDEuMiAxMi45IDMgMTMuNyA0LjQgMTMuOSA2IDEzLjkgNy41IDE0IDEzLjkgMTQuNCAyMC42IDEzLjUgMjcgMTIuNyAzMi43IDcuMSAzNi41IDEuNyAzMy44LTEuNCAzMi40LTMuOSAyOC4zLTQuNiAyNC4zLTUuNSAxOS43LTUuMSAxNS01LjEgMTAuMS01LjIgNC43LTUuMSAzLjEtLjE0IC4xMThaIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMzc4LjYsMTIyLjIpIiBkPSJNMCAwQy0xLTEuNS0zLjQtMS41LTUuMS0xLjYtOS45LTEuNy0xNC44LTEuOC0xOS42LTEuNi0yMC42LTEuNS0yMS43LTEuMy0yMi42LS45MDEtMjUgLjIxOS0yMy43IDIuMy0yMS45IDMuMi0xNy40IDUtMTcuNCA4LjQtMTcuNSAxMi44LTE3LjUgMTUuNS0xNy41IDE3LjYtMTcuNSAyMC41LTE3LjYgMjIuNy0xNy4yIDI1LjUtMTguNCAyNy4xLTE5LjUgMjguNy0yMi4xIDI4LjMtMjMuOCAyOS40LTI1LjcgMzAuOS0yMi43IDMyLjUtMjEuMyAzMi45LTE2LjUgMzQuMi01LjggMzkuMy02LjUgMzAuMy02LjQgMjUuMS02LjYgMTUuMy02LjQgOC45LTYuNSAyLjkgLjg5MiAzLjkgLjA2NSAuMTI4WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDM3Mi4yLDc2LjEpIiBkPSJNMCAwQy4zNy02LjEtMTMuMi05LjMtMTQuNC0yLjctMTUuMSAzLjktLjgxNCA3LjEtLjAxNCAuMTY1WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDQwNC4zLDExOS41KSIgZD0iTTAgMEMxLjctMS4yIDEuMi0zLjEtLjYyNC0zLjctMi00LjItMy42LTQuMi01LjEtNC4yLTguMy00LjMtMTEuOS00LjItMTUuMi00LjMtMTcuMy00LjItMjMuNC00LjItMjEuNC0uNjQ3LTIwLjUgLjYxOC0xOC41IDEuMi0xNy41IDIuNC0xNS42IDQuMy0xNS44IDcuMS0xNS44IDkuNS0xNS44IDE0LjctMTUuOCAyMS4yLTE1LjggMjYuNi0xNS45IDI5LTE1LjQgMzIuMy0xNy45IDMzLjctMTkuMSAzNC40LTIxIDM0LjQtMjEuOSAzNS4yLTIzLjMgMzYuOS0yMC41IDM4LjMtMTkuMSAzOC43LTE1LjUgMzkuOC0xMi4yIDQxLjMtOC42IDQxLjItNi4yIDQxLjEtNS4zIDM5LTUuMiAzNi43LTUuMiAzNS44LTUuMSAzMi45LTMuNyAzNC4yIDEuNyA0Mi42IDE0LjMgNDUgMjEuNiAzNy44IDI1LjEgMzQgMjYuNiAyNyAyNyAyMS42IDI3LjUgMTcuNyAyOC4yIDEyLjEgMjguNiA3LjggMjguOSA2IDI5LjIgNCAzMC41IDIuNiAzMS45IC45MDQgMzYuNS0uMTA2IDM1LjEtMi45IDMzLjYtNC4zIDMxLTQuMiAyOS4xLTQuMyAyNi00LjMgMjIuNi00LjIgMTkuNi00LjMgMTcuNS00LjIgMTQuNi00LjMgMTMuMS0yLjcgMTEuOCAuMTgzIDE3IC45OTUgMTcuNyAzLjQgMTguNSA1LjMgMTggNy42IDE3LjggOS41IDE3LjYgMTIgMTcuMiAxNC44IDE2LjkgMTcuNCAxNi4zIDIyLjMgMTYuMiAyOC4zIDEyLjYgMzIuMiA3LjYgMzctLjU0OCAzNC0zLjMgMjguMS02LjMgMjIuMS00LjkgMTUuMy01LjIgOC44LTUuNCA0LTQuNCAyLjQtLjE0NSAuMTA4WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDExNy45LDcyLjQpIiBkPSJNMCAwQzAtMjMuMy01LjUtNDAuMi0xNi4zLTUwLTI1LjctNTguNi00MC4xLTYzLTU5LTYzLTc3LjgtNjMtOTIuMi01OC42LTEwMS42LTUwLTExMi40LTQwLjItMTE3LjktMjMuMy0xMTcuOSAwLTExNy45IDIzLjMtMTEyLjQgNDAuMi0xMDEuNiA1MC05Mi4yIDU4LjYtNzcuOCA2My01OSA2My00MC4xIDYzLTI1LjcgNTguNi0xNi4zIDUwLTUuNSA0MC4yIDAgMjMuMyAwIDAiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMTMuMyw3Mi40KSIgZD0iTTAgMEMwLTIyLTUtMzcuNy0xNC44LTQ2LjYtMjMuNC01NC41LTM2LjctNTguNC01NC40LTU4LjQtNzIuMS01OC40LTg1LjQtNTQuNS05NC00Ni42LTEwMy44LTM3LjctMTA4LjgtMjItMTA4LjggMC0xMDguOCAyMi0xMDMuOCAzNy43LTk0IDQ2LjYtODUuNCA1NC41LTcyLjEgNTguNC01NC40IDU4LjQtMzYuNyA1OC40LTIzLjQgNTQuNS0xNC44IDQ2LjYtNSAzNy43IDAgMjIgMCAwIiBmaWxsPSIjRURFNkQ2Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsOTQuMSwxMDcuNikiIGQ9Ik0wIDBDLS42Ny0xLjktMi45LTMuMi01LjMtNC4zLTcuNi01LjQtMTAuMi02LTEyLjktNi0xMy45LTYtMTQuOS01LjktMTUuOS01LjgtMTYuMS01LjgtMTYuMy01LjgtMTYuNS01LjgtMTguNC01LjgtMjAuMS02LjctMjEuOC03LjUtMjIuNi03LjktMjMuMy04LjMtMjQuMS04LjYtMjUuMy05LTI2LjYtOS4zLTI3LjgtOS41LTI4LjQtOS42LTI5LTkuOC0yOS43LTkuOS0zMS45LTEwLjQtMzQuMi0xMC41LTM2LjQtMTAuNS0zNy4zLTEwLjYtMzguMi0xMC42LTM5LjEtMTAuNi0zOS43LTEwLjctNDAuMy0xMC43LTQxLTEwLjctNDYuMi0xMC43LTUxLjUtOS4zLTU2LjEtNi44LTU4LjEtNS43LTU5LjgtNS02MS40LTQuNy02Mi00LjYtNjIuNy00LjUtNjMuNC00LjQtNjQuOS00LjEtNjYuNS0zLjgtNjgtMy4zLTcwLjMtMi40LTcyLjItLjc4LTc0LjEgLjgyTC03NC41IDEuMkMtNzUuOSAyLjMtNzYuNSAzLjQtNzYuMyA0LjQtNzYuMiA1LjUtNzUuMiA2LjUtNzMuNSA3LjItNzIuOSA3LjUtNzIuMyA3LjYtNzEuOSA3LjgtNjkuOSA4LjQtNjkuMyA4LjYtNjkuOCAxMS44LTcwLjIgMTQuNC03MC40IDE4LjItNjcuNyAyMC44LTY3IDIxLjUtNjYuMiAyMi02NS41IDIyLjUtNjQuMiAyMy40LTYzIDI0LjEtNjIuOCAyNS44LTYyLjcgMjYuMi02Mi42IDI2LjYtNjIuNiAyNy4xLTYyLjUgMjcuNC02Mi40IDI3LjgtNjIuNCAyOC4yLTYyLjEgMjkuMy02MS43IDMwLjQtNjEuMyAzMS40LTYwLjcgMzMuMS02MCAzNC44LTYwIDM2LjctNTkuOSAzOC4yLTYwLjIgMzkuNy02MC41IDQxLjItNjAuOCA0Mi41LTYxLjEgNDMuOS02MSA0NS40LTYwLjkgNDcuNS02MC4yIDQ5LjYtNTkuNSA1MS40LTU5LjMgNTItNTkuMSA1Mi41LTU4LjkgNTMuMS01OC4yIDU0LjktNTcuNSA1Ni43LTU2LjUgNTguMy01NS40IDYwLjEtNTQuNCA2Mi4xLTUzLjQgNjQuNi01MS43IDY4LjEtNDguOCA3MS40LTQ0LjcgNzQuOC00MC40IDc4LjktMzYgODAuOS0zMSA4MS0zMC43IDgxLjEtMzAuNCA4MS4xLTMwIDgxLjEtMjUuOSA4MS4xLTE5LjkgNzkuOC0xNi43IDc2LjItMTUuMSA3NC40LTE0LjQgNzIuMy0xNC42IDY5LjlMLTE0LjcgNjguN0MtMTUgNjQuMi0xNS4zIDU5LjUtMTcuNSA1NS40LTE4LjEgNTQuNC0xOSA1My41LTE5LjkgNTIuNi0yMC40IDUyLTIxIDUxLjQtMjEuNSA1MC44LTIzLjggNDguMS0yMi40IDQ2LjUtMjAuNCA0NC4zLTE4LjggNDIuNS0xNi44IDQwLjMtMTYuNyAzNi44LTE2LjcgMzYuNS0xNi43IDM2LjEtMTYuNyAzNS43LTE2LjYgMzUtMTYuNiAzNC40LTE2LjYgMzMuNy0xNi4yIDMxLjktMTUuMyAzMC4xLTE0LjQgMjguNC0xMy44IDI3LjQtMTMgMjYuNS0xMi4zIDI1LjYtMTEgMjQuMS05LjcgMjIuNi05LjIgMjAuNy05IDE5LjktOC45IDE5LTkuMSAxOC4xLTkuMSAxNy4zLTkuNCAxNi41LTkuNiAxNS43LTkuOSAxNC41LTEwLjIgMTMuNC0xMC4xIDEyLjMtOS44IDEwLjctOC45IDktOCA3LjdMLTggNy42Qy03LjIgNi42LTUuOSA2LjEtNC41IDUuNy0yLjkgNS4xLTEuMiA0LjUtLjMxIDIuOSAuMjEgMS45IC4zMiAuOTIgMCAwIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsNDAuNSwxMDIuNCkiIGQ9Ik0wIDAtLjA4LS4wNkMtMS40LS45Ni0zLjEtMS41LTQuOC0xLjUtNi0xLjUtNy42LTEuMi04LjkgLjA0LTExLjEgMi4yLTEyLjMgNS4xLTEyLjQgOC4xLTEyLjYgMTAuOC0xMSAxMy4xLTguMyAxNC4yLTcuMSAxNC44LTUuNyAxNS4yLTQuNSAxNS4yLTMuNCAxNS4yLTIuNCAxNC45LTEuNiAxNC41LS4yMSAxMy42IC45NSAxMiAyIDEwLjUgMi45IDguOSAzIDcgMy4xIDUuMyAzLjMgMy41IDIuMiAxLjcgMCAwIiBmaWxsPSIjRjdGM0VBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsNjguMiwzOS44KSIgZD0iTTAgMEMxLjggLjI4IDIuMSAxLjUgMi43IDMgMyAzLjUgMy41IDMuNSAzLjkgMy4xIDUuNiAuNiAyLjctMi45LS4wNC0yLjNMLS4xNC0yLjNDLS44NC0yLTEuOC0xLjUtMS45LS42Ni0xLjgtLjEtLjc2LS4xNCAwIDBNMTEuMS00NUM2LjQtMzkuOCA2LjMtMzkuMSA1LjgtMzMuOCA1LjgtMzMuMSA1LjctMzIuNCA1LjYtMzEuNiA1LjQtMjkuOSA0LjYtMjguNCAzLjQtMjcuMiAyLjktMjYuNiAyLjMtMjYuMSAxLjctMjUuNiAuNzEtMjQuOC0uMjgtMjMuOS0uODktMjIuOC0yLjctMTkuNy0yLjgtMTYuNS0xLjItMTQuMy0uMjgtMTMgLjk2LTEyLjEgMi4xLTExLjEgMy4zLTEwLjIgNC41LTkuMyA1LjQtOC4xIDYuNC02LjcgNi44LTQuOSA3LjEtMy4xIDcuMS0yLjkgNy4yLTIuNiA3LjItMi4zTDcuMy0yQzcuNi0uMjEgNy45IDEuNiA3LjYgMy40IDcuMyA1LjggNS4zIDcuMSAyLjggOC41IDEgOS40LTEgOS45LTMuMSA5LjlILTMuM0MtMy42IDkuOS0zLjkgOS45LTQuMSA5LjktOS43IDkuOS0xMi4yIDcuNy0xNi4zIDMuOC0xOSAxLjctMjIuMy0xLjItMjQuMS00LjktMjQuNC01LjQtMjQuNi02LTI0LjktNi41LTI1LjItNy4zLTI1LjUtOC0yNS45LTguOC0yNi4zLTkuNS0yNi43LTEwLjMtMjcuMS0xMS0yNy4zLTExLjItMjcuNC0xMS41LTI3LjYtMTEuNy0yOS4xLTE0LjQtMzAuMS0xNy4zLTMxLTIwLjJMLTMxLjEtMjAuNEMtMzEuNS0yMi4yLTMxLjMtMjMuNi0zMC43LTI0LjQtMzAuNC0yNC44LTMwLTI1LTI5LjUtMjUtMjguNS0yNS0yNy0yMy45LTI2LjItMjEuMy0yNC45LTE3LjMtMjMuNS0xNC4xLTIxLjktMTEuMy0yMC4yLTgtMTguMi00LjktMTUuOC0xLjlMLTE1LjYtMS43Qy0xNC44LS44LTEzLjcgLjUxLTEyLjYgLjUxLTEyLjUgLjUxLTEyLjMgLjQ5LTEyLjIgLjQ0TC0xMi4xIC40My0xMi4xIC4zOUMtMTEuMi0uNTItMTIuNS0yLjEtMTMuNi0zLjQtMTQuMS00LTE0LjUtNC41LTE0LjctNC45LTE1LjQtNi0xNS45LTcuMy0xNi41LTguNS0xNi45LTkuNC0xNy4yLTEwLjMtMTcuNy0xMS4xLTE4LjQtMTIuNS0xOS4xLTEzLjktMTkuNi0xNS40LTE5LjgtMTYuMi0yMC4xLTE3LjEtMjAuNC0xNy45LTIxLjMtMjAuNS0yMi4zLTIzLjItMjEuNi0yNS45LTIxLjQtMjcuMS0yMC42LTI3LjktMTkuOC0yNy45LTE5LjQtMjcuOS0xOS4xLTI3LjctMTguNy0yNy4zLTE3LjEtMjUuNS0xNi41LTIzLjEtMTUuOS0yMC44LTE1LjUtMTkuMi0xNS4xLTE3LjYtMTQuNC0xNi4yLTEzLjktMTUtMTMuNS0xMy44LTEzLjEtMTIuOC0xMi4yLTEwLjQtMTAuNy04LjEtOS4xLTUuOS04LjItNC43LTctMy43LTUuOS0zLTUuNS0yLjgtNS4xLTIuNy00LjgtMi43LTQuNy0yLjctNC43LTIuNy00LjctMi43LTQuNC0yLjctNC4yLTIuOS00LjItMy00LTMuMy00LjEtMy44LTQuMy00LjMtNC42LTQuOS01LTUuNC01LjQtNS45TC01LjQtNS45Qy03LjMtOC40LTguOC0xMS40LTkuOC0xNC44LTEwLjEtMTUuNy0xMC41LTE2LjYtMTAuOC0xNy41LTExLjItMTguMy0xMS41LTE5LjEtMTEuOC0yMC0xMS45LTIwLjYtMTIuMS0yMS4zLTEyLjMtMjEuOS0xMi43LTIzLjUtMTMuMS0yNS4xLTEzLjctMjYuNy0xNC43LTI5LjItMTcuNS0zNC0yMC42LTM0LTIxLjYtMzQtMjIuNi0zMy40LTIzLjYtMzIuMy0yMy45LTMxLjktMjQuMS0zMS40LTI0LjQtMzAuOC0yNC43LTMwLTI1LjEtMjkuMi0yNS43LTI5LjItMjUuOS0yOS4yLTI2LjEtMjkuMy0yNi40LTI5LjUtMjcuMS0zMC0yNy45LTMwLjktMjguNy0zMS42TC0yOS4xLTMyLjFDLTMwLjctMzMuNy0zMS40LTM2LTMyLjItMzguM0wtMzIuNC0zOC45Qy0zMy4xLTQxLTMzLjMtNDIuMi0zMi45LTQzLTMyLjUtNDMuNy0zMS43LTQ0LTMwLjYtNDQuNC0yOC43LTQ1LTI2LjItNDUuOC0yNC00OS4yLTIyLjQtNTEuMy0yMS42LTUzLjMtMjEuNS01NS4zLTIxLjQtNTcuMi0yMS40LTYwLTIzLTYyLjEtMjMuNS02Mi44LTI0LjItNjMuNC0yNS02NC0yNS44LTY0LjYtMjYuNi02NS4yLTI2LjgtNjUuOS0yNy4yLTY2LjgtMjYuMi02Ny41LTI1LjgtNjcuOC0yNC41LTY4LjUtMjIuNC02OS42LTIwLjQtNzAuMi0xOC03MC44LTE1LjMtNzEtMTIuNi03MS4xLTEyLjQtNzEuMS0xMi4yLTcxLjEtMTIuMS03MS4xLTExLjUtNzEuMS0xMC44LTcxLjEtMTAuMi03MS4xLTkuNi03MS4yLTktNzEuMi04LjQtNzEuMi03LjctNzEuMi03LjEtNzEuMi02LjUtNzEuMS01LjYtNzAuOS00LjctNzAuNS0zLjktNzAuMi0zLjItNjkuOS0yLjUtNjkuNi0xLjgtNjkuNCAyLjctNjguNyA2LjEtNjcuNiA4LjgtNjUuOEw4LjgtNjUuOEMxMS44LTYzLjcgMTEuOC01OS40IDEwLjUtNTYuMSAxMC01NC45IDguNy01NCA3LjMtNTQgNi4zLTU0IDUuNS01NC41IDQuOS01NS4yIDQuNi01NS43IDQuNC01Ni4yIDQuMS01Ni43IDMuOS01Ny4xIDMuNy01Ny42IDMuNC01OCAyLjYtNTkuMyAxLjUtNjAuNCAuNC02MS40IDAtNjEuOC0uNDEtNjIuMi0uNzktNjIuNi0uOTgtNjIuNy0xLjItNjIuOS0xLjQtNjMuMi0yLjEtNjMuOS0zLTY0LjgtMy44LTY0LjgtNC4yLTY0LjgtNC40LTY0LjctNC43LTY0LjQtNS4yLTYzLjctNS02Mi40LTQuNS02MS41LTQtNjAuMS0yLjktNTktMS45LTU4LS45LTU3LjEgLjExLTU2LjEgLjY2LTU0LjggMi44LTUwLjEgMi42LTQ1LjIgLjE4LTQxLjMtLjU2LTQwLjEtMS42LTM5LjUtMy0zOS41LTQuNS0zOS41LTYuMy00MC40LTcuNi00MS43TC03LjktNDEuOUMtOC43LTQyLjctOS41LTQzLjUtMTAuNS00NC0xMS4xLTQ0LjUtMTIuNC00NS0xMy40LTQ1LTE0LjEtNDUtMTQuNi00NC44LTE0LjktNDQuNS0xNS00NC4zLTE1LjEtNDQuMS0xNS4xLTQzLjgtMTUtNDMuNS0xNC43LTQzLTE0LjEtNDIuNi0xMi44LTQxLjgtMTEuNy00MC43LTEwLjYtMzkuNi0xMC4zLTM5LjQtMTAuMS0zOS4xLTkuOC0zOC44LTguMy0zNy42LTYuNS0zNi4zLTQuNS0zNS43LTQtMzUuNi0zLjUtMzUuNi0zLTM1LjYtLjU5LTM1LjYgMS45LTM2LjYgMy4xLTM4LjIgNC4zLTM5LjkgNS00MiA1LjYtNDMuOUw1LjYtNDRDNS43LTQ0LjQgNS44LTQ0LjggNS45LTQ1LjIgNi4yLTQ2LjcgNi41LTQ4IDcuNy00OC45IDguNy00OS42IDkuNy01MCAxMC42LTUwIDExLjQtNTAgMTItNDkuNiAxMi4zLTQ5IDEyLjYtNDguMSAxMi41LTQ2LjYgMTEuMS00NSIgZmlsbD0iI0U0REJDNiIvPjwvZz48L2c+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwOSwxNjIpIHNjYWxlKC41MikiPjxkZWZzPjxjbGlwUGF0aCBpZD0idHBfY2xpcF8xIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDEzNS40KSIgZD0iTTAgMTM1LjRINDU3LjRWMEgwWiIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnPjwvZz48Zz48ZyBjbGlwLXBhdGg9InVybCgjdHBfY2xpcF8xKSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMzMzLjMsMTA1LjYpIiBkPSJNMCAwQy0uMTcyIDIuMy0xLjcgMy45LTQgNC02LjMgNC4yLTkgNC4xLTExLjMgMy42LTE1LjYgMi44LTE5LjEgLjMxMS0xOS4xLTQuMy0xOS43LTIwIDIuNi0xNC4yIC4wMjYtLjE5OFpNLTI5LjgtNi42Qy0yOS43IDUuOS0xNS4yIDcuNC00LjEgOC44LS42NTcgOS43LTEuNyAxMy45LTIuNCAxNi41LTMuOCAyMy4yLTEzIDI1LjItMTcgMTkuOS0xOSAxNy42LTE4LjYgMTQtMjEgMTIuMS0yMy4yIDEwLjMtMjYuNiAxMS40LTI3LjEgMTQuMi0yOC4yIDE5LjQtMjMuNSAyMy42LTE5LjIgMjUuNi0xMC41IDI5LjcgMi41IDI5LjUgNi44IDE5LjYgOS40IDEyLjkgOS4yIDUuNyAxMC40LTEuNSAxMC44LTQuMSAxMC44LTYuOCAxMS45LTkuNCAxMi4yLTEwLjEgMTIuNy0xMC44IDEzLjQtMTEuMSAxNC45LTEyIDE3LjEtMTAuNSAxOC4yLTExLjIgMTkuOS0xMi41IDE4LjUtMTUuMSAxNy4zLTE2LjQgMTMuOS0yMC4yIDcuMi0yMC4xIDQuMy0xNS44IDMuNS0xNC44IDIuOS0xMiAxLjItMTIuNS03LjctMjMuMS0zMC0yMi44LTI5LjgtNi43WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDE3Mi4yLDEyOS4xKSIgZD0iTTAgMEMtMTAuOC0uMDU5LTIyLjEgNi4zLTIyLjUgMTcuMS0yMi44IDIzLjctMTguOCAyOS44LTEzLjEgMzIuOS0xMC45IDM0LTEwIDM0LjktMTEuOSAzNi43LTE3LjQgNDEuNC0xNS45IDQ5LjktMTAuMSA1My43LTIuNSA1OS4yIDEzLjYgNTcuNCAxNS4yIDQ3LjUgMTUuNCA0My41IDExLjYgNDIuMiA5LjIgNDUuMSA4IDQ2LjQgNy4zIDQ3LjkgNS45IDQ5LjEgMyA1MS42LTIuNCA1MS40LTQuOSA0OC4zLTcuMyA0NS41LTYuNSA0MC44LTMuNCAzOC44LTEuOCAzNy41IDIuNCAzNy4zIDIgMzQuNiAxLjYgMzIuNy0uOTk0IDMyLTIuNiAzMS4yLTQuNCAzMC40LTYuMSAyOS40LTcuNSAyOC0xMy4xIDIyLjYtMTIuNCAxMi44LTYuNCA4LjUgMS40IDIuOCAxMy4zIDcuMiAxNSAxNi43IDE1LjYgMTkuNSAxNi4yIDI0LjUgMTMuNSAyNS41IDExLjcgMjYuMyA5LjkgMjUuMiA4LjggMjMuOCA4LjIgMjMuMSA3LjcgMjIuNSA3IDIyLjIgNSAyMS41IDQuMiAyNCA0LjUgMjUuNyA2LjEgMzYuNCAxNC45IDMyLjggMjIuOCAzMy41IDI0LjkgMzMuOCAyNS45IDM2LjEgMjcuNSAzNy4xIDMwLjEgMzguMyAzMC43IDM0LjUgMzAuMiAzMi41IDI5LjcgMzAuNSAyOC4zIDI4LjggMjYuNSAyNy44IDI1LjUgMjcuMiAyNC40IDI2LjcgMjMuOSAyNS42IDIzLjQgMjQuNiAyMy42IDIzLjMgMjMuNiAyMi4xIDI0LjQgOS4xIDEzLjMtLjUyOSAuMTgzLS4wMDJaIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMTU3LjgsNjIuNCkiIGQ9Ik0wIDBDLjc5OS0uNjY0IDEuMi0xLjUgLjg3LTIuMy0xLjEtNS4yLTcuOC0zLjktMTEtNC4xLTEzLjMtNC0yMy4yLTUuMS0yMS4zLS44MTQtMjAuNSAuNDI0LTE4LjYgMS4zLTE3LjYgMi4zLTE1LjYgMy45LTE1LjcgNi44LTE1LjcgOS4yLTE1LjcgMTQuNy0xNS42IDIyLjktMTUuNyAyOS4zLTE1LjcgMzAuMy0xNS45IDMxLjctMTYuNCAzMi41LTE3LjIgMzQuMS0xOS40IDM0LjItMjEgMzUuMS0yMyAzNi4yLTIxLjEgMzgtMTkuNiAzOC42LTE2LjMgMzkuNy04LjYgNDMuMS02LjEgNDAtNS4xIDM4LjctNS4zIDM2LjYtNC45IDM1LjEtNC40IDMzLjYtMy41IDM0LjUtMi44IDM1LjQgMy4zIDQ0LjIgMTcuMSA0NC41IDIyLjUgMzQuOSAyMy41IDMzLjUgMjQuNyAzMy44IDI1LjUgMzUgMjYuNSAzNi4zIDI3LjQgMzcuNyAyOC43IDM4LjcgMzIuMSA0MS42IDM2LjcgNDIuNiA0MSA0MS45IDQ3LjcgNDAuOCA1MS41IDM0LjkgNTIuOCAyNy42IDUzLjcgMjIuMSA1NC4yIDE1LjQgNTQuOSAxMC4zIDU1LjQgNC44IDU1LjYgMy4yIDYwLjUgLjE3IDYzLjMtMi4xIDYxLjMtMy42IDU4LjQtMy45IDU1LjItNC4zIDUyLjItNCA0OC45LTQuMiA0Ni43LTQuMSAzNy4xLTQuNiA0MC4yLS4zOTYgNDEuMyAuODQxIDQzLjIgMS42IDQ0IDMuMiA0NS4yIDUuMyA0NC41IDguMSA0NC4zIDEwLjUgNDQgMTMuOSA0My42IDE3LjcgNDMuMiAyMS4yIDQyLjggMjYuOSA0MC45IDM1LjMgMzMuNSAzNC42IDI0LjggMzMuOCAyNC4yIDIyLjIgMjQuNiAxNC43IDI0LjggMTEuMSAyNCA3LjQgMjUuMiA0IDI1LjkgMiAyOC4xIDEuMSAyOS4yLS41ODggMzAuOS0zLjcgMjUuNi00LjIgMjMuNS00LjEgMTkuNS0zLjkgMTIuMy01LjIgOS41LTIuNyA4LjEtLjI3NSAxMiAxLjIgMTIuOSAzIDEzLjcgNC40IDEzLjkgNiAxNCA3LjUgMTQgMTMuOSAxNC40IDIwLjYgMTMuNiAyNyAxMi44IDMyLjcgNy4xIDM2LjUgMS43IDMzLjgtMS44IDMyLjItNC40IDI3LjItNC45IDIyLjktNS40IDE4LjMtNS4xIDEzLjUtNS4xIDguNy01LjMgMy45LTQuMiAyLjctLjE0MSAuMTE4WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDI1OC45LDQ2LjgpIiBkPSJNMCAwQy0uMjEzIDYuOC0yLjMgMTQuOC03LjkgMTkuMi0xNC44IDI0LjctMjQgMTkuOS0yNS43IDExLjUtMjguMyAuMTI1LTIxLjYtMTguMi05LTE1LTIuNi0xMy40IC4xMTEtNi4yIC4wMDItLjE3Wk0tMzcuMSAzLjVDLTM3LjEgMTAuMy0zNC4xIDE2LjgtMjkuMiAyMC45LTE4IDMwLjYgMi4yIDI3LjcgOC41IDEzLjcgMjMuNi0yMy4yLTM1LjUtMzQuOC0zNy4xIDMuM1oiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwyNzkuMSw1Mi44KSIgZD0iTTAgMEMtLjE1OCA1LjkgLjA5NiAxNS45LS4wNjEgMjIuNS0uMDg3IDIzLjUtLjE5MyAyNC42LS44OCAyNS40LTIuMiAyNi45LTUuOSAyNy4xLTUuNCAyOS45LTUuMSAzMi0zLjUgMzMuNi0yLjMgMzUuMy0uMTA0IDM4LjIgMS45IDQwLjggNC44IDQyLjcgOC44IDQ1LjIgMTEuMSA0Mi45IDEwLjggMzguNSAxMC45IDM2LjMgMTAuNCAzMi44IDEyLjkgMzIgMTcgMzEgMjEuNCAzMi4yIDI1LjQgMzEuNCAyNy45IDMwLjggMjcuOCAyOCAyNS40IDI3LjEgMjIgMjYuMiAxOC4zIDI3IDE0LjcgMjYuNiAxMC40IDI2LjYgMTAuNCAyMy4zIDEwLjUgMTkuNyAxMC41IDE1LjggMTAuNSAxMS42IDEwLjUgNy41IDEwLjUgMy4xIDEwLjEtMi42IDEzLjktNS43IDE4LjMtOSAyMy41LTUuOSAyNy4xLTMgMjkuOC0xLjYgMjkuOC00LjYgMjguOC02LjQgMjQuOS0xNC4zIDE0LjEtMTYuNCA2LjUtMTIuOCAyLjItMTAuNCAuMDQtNC45IC4wMDUtLjE1NloiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwzMzIuOCw2Mi40KSIgZD0iTTAgMEM0LjMtNC42LTYuNS00LjQtOC45LTQuMi0xMi45LTMuOS0xNi42LTQuOC0yMC40LTMuNC0yMi0yLjgtMjIuMy0xLjMtMjEuMS0uMi0xOS43IDEuMS0xNy42IDEuOC0xNi43IDMuNy0xNS44IDUuNC0xNS45IDcuNC0xNS45IDkuMi0xNi4yIDIyLjYtMTUuMSA0MC41LTE2LjMgNTIuOC0xNi40IDUzLjMtMTYuNyA1My44LTE3LjEgNTQuMi0xOC43IDU2LjEtMjMuOSA1NS41LTIxLjggNTguNS0xOS45IDYwLjItMTYuNSA2MC43LTE0IDYxLjYtMTEgNjIuNy02LjIgNjMuNC01LjQgNTkuNC01IDUyLjUtNS40IDQyLjYtNS4yIDM2LjctNS4yIDM2LjEtNS4yIDM1LjUtNS4xIDM1LTQuOCAzMy4yLTMuNCAzNC43LTIuOCAzNS40IDEuMiA0MC43IDggNDMuMiAxNC40IDQxLjggMjkuOSAzOC44IDI1LjYgMTYuOCAyOS43IDMuOCAzMC43IDEuOCAzMy4xIDEuMSAzNC43LS40NTUgMzcuMS0zLjMgMzItNC4xIDMwLjEtNC4xIDI2LjYtNC40IDIyLjctNCAxOS4yLTQuMiAxNy4zLTQuMSAxMS41LTQgMTMuMy0uNzEyIDE0LjMgLjY4MiAxNi4xIDEuMyAxNy4xIDIuNiAxOS4xIDUuNiAxNy42IDkuNCAxNy40IDEyLjcgMTYuNCAxOS44IDE3LjIgMjcgMTIuNiAzMi4zIDcuNyAzNy0uNzMxIDM0LjMtMy4zIDI4LjMtNiAyMi42LTUuMSAxNi4yLTUuMiAxMC01LjQgNC42LTUgMi45LS4xNDEgLjExNVoiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSw0MDEuNywzNC45KSIgZD0iTTAgMEMtLjE2OCAxMS4zLTE2LjUgMTMuOS0yMC4xIDIuMi0yMi41LTYuOS0xOS42LTYtMTIuMi00LjYtMTAtNC4zLTcuOS00LTUuOS0zLjYtMy42LTMuMi0uMjc5LTMtLjAxNS0uMTgyWk0tMzEuNi03LjZDLTMyLjIgMTYuOCA2LjIgMjMuMSA5LjggLjEzMSAxMC0xLjQgOS44LTMgOS00LjIgNy4yLTYuOCAzLjQtNy4xIC41OC03LjYtMi44LTguMS04LjctOC45LTEzLjItOS41LTE1LjItOS45LTE4LTkuOS0xOS4xLTExLjQtMjEtMTUuMi0xNy40LTE5LjgtMTQuNC0yMi4zLTguOC0yNi45IC42MjYtMjUuMyA1LjUtMjAuOCA2LjUtMjAgOC4zLTE4IDkuNi0xOS4yIDExLjEtMjIuMSA2LjktMjYuMiA0LjYtMjcuOC0xMS4zLTM5LjItMzIuNy0yNy4yLTMxLjYtNy44WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDQzOC42LDYyLjQpIiBkPSJNMCAwQzIuOC0yLjQtLjc1My00LTMtNC04LjMtNC4zLTEzLjUtNC40LTE4LjctMy45LTIwLjUtMy44LTIzLjItMi41LTIxLjQtLjU3LTIwLjggLjA2LTIwLjUgLjI3NC0xOS45IC43MDUtMTcuNSAyLTE2LjEgMy41LTE2IDYuMy0xNS44IDEzLTE1LjggMjIuNi0xNiAzMC40LTE2LjMgMzQuMS0xOC44IDMzLjktMjEuNSAzNS0yNC4xIDM2LjctMjAuMyAzOC41LTE4LjcgMzguOS0xNSA0MC05LjUgNDIuOS02LjQgNDAuMi00LjQgMzguMi02LjUgMzAtMi40IDM2LjQgMS44IDQyLjUgMTMgNDQuOCAxNy4yIDM3LjUgMTkuOSAzMy4zIDE5LjYgMjQuNCAxMy4xIDI0LjMgNy41IDI0LjYgMTAuMiAyOS45IDcuOSAzMi44IDIuOSAzNy4xLTIuOCAzMS45LTQuNCAyNS42LTUuOCAyMC42LTUuMSAxNS4zLTUuMyAxMC4yLTUuNSA0LjctNS4zIDIuOC0uMTQxIC4xMTJaIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMjM4LjksMTE5LjcpIiBkPSJNMCAwQy43OTYtLjY2NCAxLjItMS41IC44NjgtMi4zLTEuMS01LjItNy44LTMuOS0xMC45LTQuMS0xMy4zLTQtMjMuMS01LjEtMjEuMi0uODE4LTIwLjUgLjQyNi0xOC41IDEuMy0xNy41IDIuMy0xNSA0LjUtMTUuOCA4LjUtMTUuNiAxMS40LTE1LjcgMTcuNC0xNS41IDI0LTE1LjcgMzAuMS0xNiAzNC0xOC4yIDMzLjgtMjEuMiAzNS4yLTIzLjEgMzYuMi0yMS40IDM3LjctMTkuOSAzOC40LTE3LjMgMzkuNy0xMyA0MC43LTEwLjkgNDEuMi03LjcgNDEuOC01LjQgNDAuNy01LjIgMzcuMS00LjkgMzQtNC40IDMzLjItMi4zIDM2IDQuMSA0NC40IDE3LjMgNDQuMSAyMi40IDM0LjkgMjMuNCAzMy41IDI0LjYgMzMuOCAyNS40IDM1IDI2LjQgMzYuMyAyNy40IDM3LjcgMjguNyAzOC43IDMwLjMgNDAuMSAzMi4zIDQxLjEgMzQuNCA0MS43IDQzLjkgNDQuMSA1MS4yIDM3LjYgNTIuNyAyNy42IDUzLjYgMjIuMSA1NC4xIDE1LjQgNTQuNyAxMC4zIDU1LjIgNC44IDU1LjUgMy4yIDYwLjMgLjE3IDYzLjItMi4xIDYxLjEtMy42IDU4LjMtMy45IDU1LjEtNC4zIDUyLjEtNCA0OC44LTQuMiA0Ni42LTQuMSAzNy4xLTQuNiA0MC4xLS4zOTggNDEuMiAuODQzIDQzLjEgMS42IDQzLjkgMy4yIDQ1LjEgNS4zIDQ0LjQgOC4xIDQ0LjIgMTAuNSA0My45IDEzLjkgNDMuNSAxNy43IDQzLjEgMjEuMiA0Mi43IDI2LjkgNDAuOCAzNS4zIDMzLjUgMzQuNiAyNC44IDMzLjggMjQuMiAyMi4yIDI0LjUgMTQuNyAyNC43IDExLjEgMjQgNy40IDI1LjIgNCAyNS44IDIgMjggMS4xIDI5LjEtLjU4OCAzMC45LTMuNyAyNS42LTQuMyAyMy40LTQuMSAxOS40LTMuOCAxMi4zLTUuMiA5LjUtMi43IDguMS0uMjc5IDEyIDEuMiAxMi45IDMgMTMuNyA0LjQgMTMuOSA2IDEzLjkgNy41IDE0IDEzLjkgMTQuNCAyMC42IDEzLjUgMjcgMTIuNyAzMi43IDcuMSAzNi41IDEuNyAzMy44LTEuNCAzMi40LTMuOSAyOC4zLTQuNiAyNC4zLTUuNSAxOS43LTUuMSAxNS01LjEgMTAuMS01LjIgNC43LTUuMSAzLjEtLjE0IC4xMThaIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMzc4LjYsMTIyLjIpIiBkPSJNMCAwQy0xLTEuNS0zLjQtMS41LTUuMS0xLjYtOS45LTEuNy0xNC44LTEuOC0xOS42LTEuNi0yMC42LTEuNS0yMS43LTEuMy0yMi42LS45MDEtMjUgLjIxOS0yMy43IDIuMy0yMS45IDMuMi0xNy40IDUtMTcuNCA4LjQtMTcuNSAxMi44LTE3LjUgMTUuNS0xNy41IDE3LjYtMTcuNSAyMC41LTE3LjYgMjIuNy0xNy4yIDI1LjUtMTguNCAyNy4xLTE5LjUgMjguNy0yMi4xIDI4LjMtMjMuOCAyOS40LTI1LjcgMzAuOS0yMi43IDMyLjUtMjEuMyAzMi45LTE2LjUgMzQuMi01LjggMzkuMy02LjUgMzAuMy02LjQgMjUuMS02LjYgMTUuMy02LjQgOC45LTYuNSAyLjkgLjg5MiAzLjkgLjA2NSAuMTI4WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDM3Mi4yLDc2LjEpIiBkPSJNMCAwQy4zNy02LjEtMTMuMi05LjMtMTQuNC0yLjctMTUuMSAzLjktLjgxNCA3LjEtLjAxNCAuMTY1WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDQwNC4zLDExOS41KSIgZD0iTTAgMEMxLjctMS4yIDEuMi0zLjEtLjYyNC0zLjctMi00LjItMy42LTQuMi01LjEtNC4yLTguMy00LjMtMTEuOS00LjItMTUuMi00LjMtMTcuMy00LjItMjMuNC00LjItMjEuNC0uNjQ3LTIwLjUgLjYxOC0xOC41IDEuMi0xNy41IDIuNC0xNS42IDQuMy0xNS44IDcuMS0xNS44IDkuNS0xNS44IDE0LjctMTUuOCAyMS4yLTE1LjggMjYuNi0xNS45IDI5LTE1LjQgMzIuMy0xNy45IDMzLjctMTkuMSAzNC40LTIxIDM0LjQtMjEuOSAzNS4yLTIzLjMgMzYuOS0yMC41IDM4LjMtMTkuMSAzOC43LTE1LjUgMzkuOC0xMi4yIDQxLjMtOC42IDQxLjItNi4yIDQxLjEtNS4zIDM5LTUuMiAzNi43LTUuMiAzNS44LTUuMSAzMi45LTMuNyAzNC4yIDEuNyA0Mi42IDE0LjMgNDUgMjEuNiAzNy44IDI1LjEgMzQgMjYuNiAyNyAyNyAyMS42IDI3LjUgMTcuNyAyOC4yIDEyLjEgMjguNiA3LjggMjguOSA2IDI5LjIgNCAzMC41IDIuNiAzMS45IC45MDQgMzYuNS0uMTA2IDM1LjEtMi45IDMzLjYtNC4zIDMxLTQuMiAyOS4xLTQuMyAyNi00LjMgMjIuNi00LjIgMTkuNi00LjMgMTcuNS00LjIgMTQuNi00LjMgMTMuMS0yLjcgMTEuOCAuMTgzIDE3IC45OTUgMTcuNyAzLjQgMTguNSA1LjMgMTggNy42IDE3LjggOS41IDE3LjYgMTIgMTcuMiAxNC44IDE2LjkgMTcuNCAxNi4zIDIyLjMgMTYuMiAyOC4zIDEyLjYgMzIuMiA3LjYgMzctLjU0OCAzNC0zLjMgMjguMS02LjMgMjIuMS00LjkgMTUuMy01LjIgOC44LTUuNCA0LTQuNCAyLjQtLjE0NSAuMTA4WiIgZmlsbD0iI0Q5Q0ZCQSIvPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDExNy45LDcyLjQpIiBkPSJNMCAwQzAtMjMuMy01LjUtNDAuMi0xNi4zLTUwLTI1LjctNTguNi00MC4xLTYzLTU5LTYzLTc3LjgtNjMtOTIuMi01OC42LTEwMS42LTUwLTExMi40LTQwLjItMTE3LjktMjMuMy0xMTcuOSAwLTExNy45IDIzLjMtMTEyLjQgNDAuMi0xMDEuNiA1MC05Mi4yIDU4LjYtNzcuOCA2My01OSA2My00MC4xIDYzLTI1LjcgNTguNi0xNi4zIDUwLTUuNSA0MC4yIDAgMjMuMyAwIDAiIGZpbGw9IiNEOUNGQkEiLz48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMTMuMyw3Mi40KSIgZD0iTTAgMEMwLTIyLTUtMzcuNy0xNC44LTQ2LjYtMjMuNC01NC41LTM2LjctNTguNC01NC40LTU4LjQtNzIuMS01OC40LTg1LjQtNTQuNS05NC00Ni42LTEwMy44LTM3LjctMTA4LjgtMjItMTA4LjggMC0xMDguOCAyMi0xMDMuOCAzNy43LTk0IDQ2LjYtODUuNCA1NC41LTcyLjEgNTguNC01NC40IDU4LjQtMzYuNyA1OC40LTIzLjQgNTQuNS0xNC44IDQ2LjYtNSAzNy43IDAgMjIgMCAwIiBmaWxsPSIjRURFNkQ2Ii8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsOTQuMSwxMDcuNikiIGQ9Ik0wIDBDLS42Ny0xLjktMi45LTMuMi01LjMtNC4zLTcuNi01LjQtMTAuMi02LTEyLjktNi0xMy45LTYtMTQuOS01LjktMTUuOS01LjgtMTYuMS01LjgtMTYuMy01LjgtMTYuNS01LjgtMTguNC01LjgtMjAuMS02LjctMjEuOC03LjUtMjIuNi03LjktMjMuMy04LjMtMjQuMS04LjYtMjUuMy05LTI2LjYtOS4zLTI3LjgtOS41LTI4LjQtOS42LTI5LTkuOC0yOS43LTkuOS0zMS45LTEwLjQtMzQuMi0xMC41LTM2LjQtMTAuNS0zNy4zLTEwLjYtMzguMi0xMC42LTM5LjEtMTAuNi0zOS43LTEwLjctNDAuMy0xMC43LTQxLTEwLjctNDYuMi0xMC43LTUxLjUtOS4zLTU2LjEtNi44LTU4LjEtNS43LTU5LjgtNS02MS40LTQuNy02Mi00LjYtNjIuNy00LjUtNjMuNC00LjQtNjQuOS00LjEtNjYuNS0zLjgtNjgtMy4zLTcwLjMtMi40LTcyLjItLjc4LTc0LjEgLjgyTC03NC41IDEuMkMtNzUuOSAyLjMtNzYuNSAzLjQtNzYuMyA0LjQtNzYuMiA1LjUtNzUuMiA2LjUtNzMuNSA3LjItNzIuOSA3LjUtNzIuMyA3LjYtNzEuOSA3LjgtNjkuOSA4LjQtNjkuMyA4LjYtNjkuOCAxMS44LTcwLjIgMTQuNC03MC40IDE4LjItNjcuNyAyMC44LTY3IDIxLjUtNjYuMiAyMi02NS41IDIyLjUtNjQuMiAyMy40LTYzIDI0LjEtNjIuOCAyNS44LTYyLjcgMjYuMi02Mi42IDI2LjYtNjIuNiAyNy4xLTYyLjUgMjcuNC02Mi40IDI3LjgtNjIuNCAyOC4yLTYyLjEgMjkuMy02MS43IDMwLjQtNjEuMyAzMS40LTYwLjcgMzMuMS02MCAzNC44LTYwIDM2LjctNTkuOSAzOC4yLTYwLjIgMzkuNy02MC41IDQxLjItNjAuOCA0Mi41LTYxLjEgNDMuOS02MSA0NS40LTYwLjkgNDcuNS02MC4yIDQ5LjYtNTkuNSA1MS40LTU5LjMgNTItNTkuMSA1Mi41LTU4LjkgNTMuMS01OC4yIDU0LjktNTcuNSA1Ni43LTU2LjUgNTguMy01NS40IDYwLjEtNTQuNCA2Mi4xLTUzLjQgNjQuNi01MS43IDY4LjEtNDguOCA3MS40LTQ0LjcgNzQuOC00MC40IDc4LjktMzYgODAuOS0zMSA4MS0zMC43IDgxLjEtMzAuNCA4MS4xLTMwIDgxLjEtMjUuOSA4MS4xLTE5LjkgNzkuOC0xNi43IDc2LjItMTUuMSA3NC40LTE0LjQgNzIuMy0xNC42IDY5LjlMLTE0LjcgNjguN0MtMTUgNjQuMi0xNS4zIDU5LjUtMTcuNSA1NS40LTE4LjEgNTQuNC0xOSA1My41LTE5LjkgNTIuNi0yMC40IDUyLTIxIDUxLjQtMjEuNSA1MC44LTIzLjggNDguMS0yMi40IDQ2LjUtMjAuNCA0NC4zLTE4LjggNDIuNS0xNi44IDQwLjMtMTYuNyAzNi44LTE2LjcgMzYuNS0xNi43IDM2LjEtMTYuNyAzNS43LTE2LjYgMzUtMTYuNiAzNC40LTE2LjYgMzMuNy0xNi4yIDMxLjktMTUuMyAzMC4xLTE0LjQgMjguNC0xMy44IDI3LjQtMTMgMjYuNS0xMi4zIDI1LjYtMTEgMjQuMS05LjcgMjIuNi05LjIgMjAuNy05IDE5LjktOC45IDE5LTkuMSAxOC4xLTkuMSAxNy4zLTkuNCAxNi41LTkuNiAxNS43LTkuOSAxNC41LTEwLjIgMTMuNC0xMC4xIDEyLjMtOS44IDEwLjctOC45IDktOCA3LjdMLTggNy42Qy03LjIgNi42LTUuOSA2LjEtNC41IDUuNy0yLjkgNS4xLTEuMiA0LjUtLjMxIDIuOSAuMjEgMS45IC4zMiAuOTIgMCAwIiBmaWxsPSIjRDlDRkJBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsNDAuNSwxMDIuNCkiIGQ9Ik0wIDAtLjA4LS4wNkMtMS40LS45Ni0zLjEtMS41LTQuOC0xLjUtNi0xLjUtNy42LTEuMi04LjkgLjA0LTExLjEgMi4yLTEyLjMgNS4xLTEyLjQgOC4xLTEyLjYgMTAuOC0xMSAxMy4xLTguMyAxNC4yLTcuMSAxNC44LTUuNyAxNS4yLTQuNSAxNS4yLTMuNCAxNS4yLTIuNCAxNC45LTEuNiAxNC41LS4yMSAxMy42IC45NSAxMiAyIDEwLjUgMi45IDguOSAzIDcgMy4xIDUuMyAzLjMgMy41IDIuMiAxLjcgMCAwIiBmaWxsPSIjRjdGM0VBIi8+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsNjguMiwzOS44KSIgZD0iTTAgMEMxLjggLjI4IDIuMSAxLjUgMi43IDMgMyAzLjUgMy41IDMuNSAzLjkgMy4xIDUuNiAuNiAyLjctMi45LS4wNC0yLjNMLS4xNC0yLjNDLS44NC0yLTEuOC0xLjUtMS45LS42Ni0xLjgtLjEtLjc2LS4xNCAwIDBNMTEuMS00NUM2LjQtMzkuOCA2LjMtMzkuMSA1LjgtMzMuOCA1LjgtMzMuMSA1LjctMzIuNCA1LjYtMzEuNiA1LjQtMjkuOSA0LjYtMjguNCAzLjQtMjcuMiAyLjktMjYuNiAyLjMtMjYuMSAxLjctMjUuNiAuNzEtMjQuOC0uMjgtMjMuOS0uODktMjIuOC0yLjctMTkuNy0yLjgtMTYuNS0xLjItMTQuMy0uMjgtMTMgLjk2LTEyLjEgMi4xLTExLjEgMy4zLTEwLjIgNC41LTkuMyA1LjQtOC4xIDYuNC02LjcgNi44LTQuOSA3LjEtMy4xIDcuMS0yLjkgNy4yLTIuNiA3LjItMi4zTDcuMy0yQzcuNi0uMjEgNy45IDEuNiA3LjYgMy40IDcuMyA1LjggNS4zIDcuMSAyLjggOC41IDEgOS40LTEgOS45LTMuMSA5LjlILTMuM0MtMy42IDkuOS0zLjkgOS45LTQuMSA5LjktOS43IDkuOS0xMi4yIDcuNy0xNi4zIDMuOC0xOSAxLjctMjIuMy0xLjItMjQuMS00LjktMjQuNC01LjQtMjQuNi02LTI0LjktNi41LTI1LjItNy4zLTI1LjUtOC0yNS45LTguOC0yNi4zLTkuNS0yNi43LTEwLjMtMjcuMS0xMS0yNy4zLTExLjItMjcuNC0xMS41LTI3LjYtMTEuNy0yOS4xLTE0LjQtMzAuMS0xNy4zLTMxLTIwLjJMLTMxLjEtMjAuNEMtMzEuNS0yMi4yLTMxLjMtMjMuNi0zMC43LTI0LjQtMzAuNC0yNC44LTMwLTI1LTI5LjUtMjUtMjguNS0yNS0yNy0yMy45LTI2LjItMjEuMy0yNC45LTE3LjMtMjMuNS0xNC4xLTIxLjktMTEuMy0yMC4yLTgtMTguMi00LjktMTUuOC0xLjlMLTE1LjYtMS43Qy0xNC44LS44LTEzLjcgLjUxLTEyLjYgLjUxLTEyLjUgLjUxLTEyLjMgLjQ5LTEyLjIgLjQ0TC0xMi4xIC40My0xMi4xIC4zOUMtMTEuMi0uNTItMTIuNS0yLjEtMTMuNi0zLjQtMTQuMS00LTE0LjUtNC41LTE0LjctNC45LTE1LjQtNi0xNS45LTcuMy0xNi41LTguNS0xNi45LTkuNC0xNy4yLTEwLjMtMTcuNy0xMS4xLTE4LjQtMTIuNS0xOS4xLTEzLjktMTkuNi0xNS40LTE5LjgtMTYuMi0yMC4xLTE3LjEtMjAuNC0xNy45LTIxLjMtMjAuNS0yMi4zLTIzLjItMjEuNi0yNS45LTIxLjQtMjcuMS0yMC42LTI3LjktMTkuOC0yNy45LTE5LjQtMjcuOS0xOS4xLTI3LjctMTguNy0yNy4zLTE3LjEtMjUuNS0xNi41LTIzLjEtMTUuOS0yMC44LTE1LjUtMTkuMi0xNS4xLTE3LjYtMTQuNC0xNi4yLTEzLjktMTUtMTMuNS0xMy44LTEzLjEtMTIuOC0xMi4yLTEwLjQtMTAuNy04LjEtOS4xLTUuOS04LjItNC43LTctMy43LTUuOS0zLTUuNS0yLjgtNS4xLTIuNy00LjgtMi43LTQuNy0yLjctNC43LTIuNy00LjctMi43LTQuNC0yLjctNC4yLTIuOS00LjItMy00LTMuMy00LjEtMy44LTQuMy00LjMtNC42LTQuOS01LTUuNC01LjQtNS45TC01LjQtNS45Qy03LjMtOC40LTguOC0xMS40LTkuOC0xNC44LTEwLjEtMTUuNy0xMC41LTE2LjYtMTAuOC0xNy41LTExLjItMTguMy0xMS41LTE5LjEtMTEuOC0yMC0xMS45LTIwLjYtMTIuMS0yMS4zLTEyLjMtMjEuOS0xMi43LTIzLjUtMTMuMS0yNS4xLTEzLjctMjYuNy0xNC43LTI5LjItMTcuNS0zNC0yMC42LTM0LTIxLjYtMzQtMjIuNi0zMy40LTIzLjYtMzIuMy0yMy45LTMxLjktMjQuMS0zMS40LTI0LjQtMzAuOC0yNC43LTMwLTI1LjEtMjkuMi0yNS43LTI5LjItMjUuOS0yOS4yLTI2LjEtMjkuMy0yNi40LTI5LjUtMjcuMS0zMC0yNy45LTMwLjktMjguNy0zMS42TC0yOS4xLTMyLjFDLTMwLjctMzMuNy0zMS40LTM2LTMyLjItMzguM0wtMzIuNC0zOC45Qy0zMy4xLTQxLTMzLjMtNDIuMi0zMi45LTQzLTMyLjUtNDMuNy0zMS43LTQ0LTMwLjYtNDQuNC0yOC43LTQ1LTI2LjItNDUuOC0yNC00OS4yLTIyLjQtNTEuMy0yMS42LTUzLjMtMjEuNS01NS4zLTIxLjQtNTcuMi0yMS40LTYwLTIzLTYyLjEtMjMuNS02Mi44LTI0LjItNjMuNC0yNS02NC0yNS44LTY0LjYtMjYuNi02NS4yLTI2LjgtNjUuOS0yNy4yLTY2LjgtMjYuMi02Ny41LTI1LjgtNjcuOC0yNC41LTY4LjUtMjIuNC02OS42LTIwLjQtNzAuMi0xOC03MC44LTE1LjMtNzEtMTIuNi03MS4xLTEyLjQtNzEuMS0xMi4yLTcxLjEtMTIuMS03MS4xLTExLjUtNzEuMS0xMC44LTcxLjEtMTAuMi03MS4xLTkuNi03MS4yLTktNzEuMi04LjQtNzEuMi03LjctNzEuMi03LjEtNzEuMi02LjUtNzEuMS01LjYtNzAuOS00LjctNzAuNS0zLjktNzAuMi0zLjItNjkuOS0yLjUtNjkuNi0xLjgtNjkuNCAyLjctNjguNyA2LjEtNjcuNiA4LjgtNjUuOEw4LjgtNjUuOEMxMS44LTYzLjcgMTEuOC01OS40IDEwLjUtNTYuMSAxMC01NC45IDguNy01NCA3LjMtNTQgNi4zLTU0IDUuNS01NC41IDQuOS01NS4yIDQuNi01NS43IDQuNC01Ni4yIDQuMS01Ni43IDMuOS01Ny4xIDMuNy01Ny42IDMuNC01OCAyLjYtNTkuMyAxLjUtNjAuNCAuNC02MS40IDAtNjEuOC0uNDEtNjIuMi0uNzktNjIuNi0uOTgtNjIuNy0xLjItNjIuOS0xLjQtNjMuMi0yLjEtNjMuOS0zLTY0LjgtMy44LTY0LjgtNC4yLTY0LjgtNC40LTY0LjctNC43LTY0LjQtNS4yLTYzLjctNS02Mi40LTQuNS02MS41LTQtNjAuMS0yLjktNTktMS45LTU4LS45LTU3LjEgLjExLTU2LjEgLjY2LTU0LjggMi44LTUwLjEgMi42LTQ1LjIgLjE4LTQxLjMtLjU2LTQwLjEtMS42LTM5LjUtMy0zOS41LTQuNS0zOS41LTYuMy00MC40LTcuNi00MS43TC03LjktNDEuOUMtOC43LTQyLjctOS41LTQzLjUtMTAuNS00NC0xMS4xLTQ0LjUtMTIuNC00NS0xMy40LTQ1LTE0LjEtNDUtMTQuNi00NC44LTE0LjktNDQuNS0xNS00NC4zLTE1LjEtNDQuMS0xNS4xLTQzLjgtMTUtNDMuNS0xNC43LTQzLTE0LjEtNDIuNi0xMi44LTQxLjgtMTEuNy00MC43LTEwLjYtMzkuNi0xMC4zLTM5LjQtMTAuMS0zOS4xLTkuOC0zOC44LTguMy0zNy42LTYuNS0zNi4zLTQuNS0zNS43LTQtMzUuNi0zLjUtMzUuNi0zLTM1LjYtLjU5LTM1LjYgMS45LTM2LjYgMy4xLTM4LjIgNC4zLTM5LjkgNS00MiA1LjYtNDMuOUw1LjYtNDRDNS43LTQ0LjQgNS44LTQ0LjggNS45LTQ1LjIgNi4yLTQ2LjcgNi41LTQ4IDcuNy00OC45IDguNy00OS42IDkuNy01MCAxMC42LTUwIDExLjQtNTAgMTItNDkuNiAxMi4zLTQ5IDEyLjYtNDguMSAxMi41LTQ2LjYgMTEuMS00NSIgZmlsbD0iI0U0REJDNiIvPjwvZz48L2c+PC9nPjwvc3ZnPg==");
  background-size:300px auto;background-repeat:repeat;opacity:.07;}
.sf-app::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    radial-gradient(58% 66% at 15% 18%,rgba(237,174,198,.52) 0,rgba(237,174,198,0) 62%),
    radial-gradient(54% 62% at 85% 26%,rgba(91,165,232,.28) 0,rgba(91,165,232,0) 64%),
    radial-gradient(62% 58% at 58% 88%,rgba(232,223,114,.34) 0,rgba(232,223,114,0) 64%);}
.sf-app .sf-wrap{max-width:900px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem);text-align:center;}
.sf-app .sf-note{text-align:center;font-size:.76rem;color:var(--faint);padding:.7rem 1rem;
  border-bottom:1px solid var(--line);background:rgba(255,255,255,.55);}

.sf-app .sf-head{padding:clamp(2.4rem,6vw,4rem) 0 clamp(1.4rem,3vw,2rem);}
.sf-app .sf-eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:640;color:var(--rose-label);margin:0 0 .9rem;}
.sf-app .sf-h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.04;
  letter-spacing:-.02em;margin:0 auto 1rem;max-width:16ch;}
.sf-app .sf-h1::after, .sf-app .sf-h2::after{content:"";display:block;width:54px;height:3px;border-radius:3px;
  margin:1.1rem auto .2rem;background:var(--grad-rule);}
.sf-app .sf-sub{font-size:clamp(1.02rem,2vw,1.18rem);color:var(--muted);max-width:46ch;margin:0 auto;}

.sf-app .sf-prog{display:flex;gap:.4rem;justify-content:center;margin:0 auto 1.8rem;}
.sf-app .sf-prog i{height:3px;width:38px;border-radius:2px;background:var(--line);transition:background .3s;}
.sf-app .sf-prog i.sf-done{background:var(--grad-rose);}
.sf-app .sf-prog i.sf-now{background:var(--petal);}

.sf-app .sf-step{display:none;padding-bottom:clamp(2.5rem,7vw,4.5rem);}
.sf-app .sf-step.sf-live{display:block;animation:fade .45s ease both;}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sf-app .sf-q{font-family:var(--serif);font-size:clamp(1.5rem,3.6vw,2.2rem);font-weight:400;
  margin:0 auto 1.7rem;max-width:22ch;line-height:1.18;}
.sf-app .sf-opts{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;max-width:660px;margin:0 auto;}
.sf-app .sf-opt{flex:1 1 250px;max-width:300px;appearance:none;text-align:center;font:inherit;cursor:pointer;
  background:var(--card);border:1.5px solid var(--line);border-radius:1.15rem;padding:1.1rem 1.2rem;
  color:var(--ink);transition:border-color .18s,transform .18s,box-shadow .18s;}
.sf-app .sf-opt{transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;}
.sf-app .sf-opt:hover{border-color:var(--petal);background:var(--blush);transform:translateY(-2px);
  box-shadow:0 12px 26px -16px rgba(19,29,39,.28);}
.sf-app .sf-opt b{display:block;font-weight:650;margin-bottom:.1rem;}
.sf-app .sf-opt span{color:var(--muted);font-size:.9rem;}
.sf-app .sf-back{margin-top:1.5rem;background:none;border:none;font:inherit;font-size:.9rem;
  color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}


/* ---------- result ---------- */
.sf-app .sf-h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,4vw,2.5rem);margin:0 auto .5rem;}
.sf-app .sf-res .sf-why{color:var(--muted);max-width:52ch;margin:0 auto 2rem;}
.sf-app .sf-pick{position:relative;overflow:hidden;background:var(--card);border:1.5px solid var(--ink);border-radius:1.6rem;
  padding:clamp(1.7rem,4vw,2.2rem) clamp(1.4rem,4vw,2rem) clamp(1.4rem,4vw,2rem);
  max-width:620px;margin:0 auto 1rem;text-align:left;}
.sf-app .sf-pick::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--grad-rose);}
.sf-app .sf-pick .sf-tag{display:inline-block;background:var(--sun);color:var(--ink);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:.24rem .6rem;border-radius:99px;margin-bottom:.7rem;}
.sf-app .sf-pick h4{font-family:var(--serif);font-weight:400;font-size:1.75rem;margin:0 0 .4rem;}
.sf-app .sf-pick p{color:var(--muted);margin:0 0 1rem;font-size:.98rem;}
.sf-app .sf-specs{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:.3rem;}
.sf-app .sf-specs li{display:flex;gap:.6rem;font-size:.92rem;align-items:baseline;}
.sf-app .sf-specs li b{flex:none;color:var(--faint);font-weight:600;font-size:.78rem;letter-spacing:.06em;
  text-transform:uppercase;min-width:132px;}
.sf-app .sf-buy{display:inline-flex;align-items:center;gap:.5rem;background:var(--grad-rose);color:#fff;
  text-decoration:none;font-weight:640;padding:.8rem 1.5rem;border-radius:99px;
  box-shadow:0 12px 24px -14px rgba(181,83,118,.7);transition:filter .18s,transform .18s;}
.sf-app .sf-buy:hover{filter:brightness(1.06);transform:translateY(-2px);}
.sf-app .sf-alt{display:grid;gap:.8rem;max-width:620px;margin:1.6rem auto 0;}
@media(min-width:620px){.sf-app .sf-alt{grid-template-columns:1fr 1fr;}}
.sf-app .sf-altc{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);
  border-radius:1.2rem;padding:1.4rem 1.2rem 1.1rem;text-align:left;}
.sf-app .sf-altc::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;}
.sf-app .sf-altc:nth-child(1)::before{background:var(--grad-blue);}
.sf-app .sf-altc:nth-child(2)::before{background:var(--grad-slate);}
.sf-app .sf-altc .sf-k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;}
.sf-app .sf-altc:nth-child(1) .sf-k{color:var(--sage);}
.sf-app .sf-altc:nth-child(2) .sf-k{color:var(--slate);}
.sf-app .sf-altc h5{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin:.3rem 0 .35rem;}
.sf-app .sf-altc p{font-size:.9rem;color:var(--muted);margin:0 0 .7rem;}
.sf-app .sf-altc a{color:var(--accent);font-weight:640;font-size:.9rem;text-decoration:none;}
.sf-app .sf-altc a:hover{text-decoration:underline;}
.sf-app .sf-disc{max-width:620px;margin:1.8rem auto 0;font-size:.82rem;color:var(--faint);
  background:rgba(255,255,255,.6);border:1px solid var(--line);border-radius:.9rem;padding:.9rem 1.1rem;}
.sf-app .sf-again{margin-top:1.6rem;}


/* ---------- bunny ---------- */
.sf-app .sf-guide{position:absolute;right:clamp(.8rem,3vw,1.8rem);bottom:clamp(.8rem,3vw,1.5rem);z-index:45;
  display:flex;align-items:flex-end;gap:.6rem;pointer-events:none;opacity:0;transform:translateY(28px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);}
.sf-app.sf-ready .sf-guide{opacity:1;transform:none;}
.sf-app .sf-gb{width:clamp(52px,8vw,76px);flex:none;transform-origin:50% 100%;
  animation:breathe 3.6s ease-in-out infinite;filter:drop-shadow(0 8px 14px rgba(19,29,39,.16));}
.sf-app .sf-gb svg{width:100%;height:auto;display:block;}
@keyframes breathe{0%,100%{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(1.026) scaleX(.987)}}
.sf-app .sf-guide.sf-hop .sf-gb{animation:hop .6s cubic-bezier(.3,.9,.3,1);}
@keyframes hop{0%{transform:translateY(0) scaleY(1) scaleX(1)}22%{transform:translateY(0) scaleY(.86) scaleX(1.1)}
55%{transform:translateY(-26px) scaleY(1.1) scaleX(.93) rotate(-5deg)}80%{transform:translateY(0) scaleY(.9) scaleX(1.06)}
100%{transform:translateY(0) scaleY(1) scaleX(1)}}
.sf-app .sf-bub{background:var(--card);border:1.5px solid var(--ink);border-radius:1rem 1rem .3rem 1rem;
  padding:.65rem .95rem;max-width:min(260px,48vw);font-size:.9rem;line-height:1.45;
  box-shadow:0 12px 26px -18px rgba(19,29,39,.6);margin-bottom:.35rem;opacity:0;
  transform:translateY(8px) scale(.96);transform-origin:100% 100%;
  transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1);}
.sf-app .sf-bub.sf-show{opacity:1;transform:none;}
.sf-app .sf-foot{padding:2.4rem 0 8rem;color:var(--faint);font-size:.85rem;}
.sf-app .sf-foot p{max-width:60ch;margin:0 auto;}
@media (prefers-reduced-motion:reduce){.sf-app *{animation:none!important;transition:none!important}
.sf-app .sf-guide{opacity:1!important;transform:none!important}}
.sf-app :focus-visible{outline:2px solid var(--sage);outline-offset:3px;}


/* ---------- multi-select, nav ---------- */
.sf-app .sf-hint{font-size:.86rem;color:var(--faint);margin:-1.1rem auto 1.5rem;max-width:42ch;}
.sf-app .sf-opt{position:relative;padding-right:1.2rem;}
.sf-app .sf-opt.sf-on{border-color:var(--petal);background:var(--blush);box-shadow:0 12px 26px -18px rgba(19,29,39,.4);}
.sf-app .sf-opt.sf-on::after{content:"";position:absolute;top:.62rem;right:.68rem;width:17px;height:17px;border-radius:50%;
  background-color:var(--accent);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.2 6.3 4.7 8.8 9.8 3.3' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-position:center;background-size:11px;background-repeat:no-repeat;}
.sf-app .sf-nav{display:flex;gap:1.1rem;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:1.7rem;}
.sf-app .sf-next{appearance:none;font:inherit;font-weight:640;cursor:pointer;border:none;border-radius:99px;
  padding:.78rem 2rem;background:var(--grad-rose);color:#fff;
  box-shadow:0 12px 24px -14px rgba(181,83,118,.7);
  transition:filter .18s,transform .18s,opacity .18s;}
.sf-app .sf-next:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);}
.sf-app .sf-next:disabled{opacity:.3;cursor:not-allowed;}
.sf-app .sf-nav .sf-back{margin-top:0;}


/* ---------- result additions ---------- */
.sf-app .sf-recap{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;max-width:600px;margin:0 auto 1.9rem;}
.sf-app .sf-recap span{font-size:.75rem;letter-spacing:.03em;background:var(--blush);border:1px solid var(--petal);
  border-radius:99px;padding:.3rem .75rem;color:var(--ink);font-weight:600;}
.sf-app .sf-cav{max-width:620px;margin:1rem auto 0;text-align:left;font-size:.89rem;line-height:1.58;color:var(--ink);
  background:var(--caution);border:1px solid var(--caution-line);border-left:4px solid var(--accent);
  border-radius:1rem;padding:.95rem 1.15rem;}
.sf-app .sf-cav b{font-weight:650;}
.sf-app .sf-cav + .sf-cav{margin-top:.6rem;}
.sf-app .sf-cav.sf-calm{background:rgba(255,255,255,.72);border-color:var(--line);border-left-color:var(--bird);color:var(--muted);}
.sf-app .sf-altc .sf-short{display:block;font-size:.78rem;color:var(--accent);font-weight:650;margin:.15rem 0 .4rem;}

.sf-app > .sf-wrap{position:relative;z-index:2;}
.sf-app .sf-skip{margin:1.15rem 0 0;font-size:.86rem;}
.sf-app .sf-skip a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.sf-app .sf-skip a:hover{color:var(--accent);}


/* =============================================================================
   28. BABY REGISTRY BUILDER (.mm-reg-*)
   -----------------------------------------------------------------------------
   Component family for /baby-registry/ (templates/page-baby-registry.html and
   its twin). Client-side only: assets/js/bumply-registry.js draws the catalog
   and the list, this owns every pixel of it.

   Two constraints shaped this more than taste did:

   1. There are no per-product images and there cannot be. Product photography
      needs Amazon's Product Advertising API, which needs three qualifying
      sales, and this site has had none. So a card carries type, price band and
      a spec line, and the visual rhythm has to come from type and chips rather
      than from a photo grid.
   2. Every colour is a token. A file added to the brand ratchet gets a budget
      of 0 (check 17), so there is not one hex literal below. The hero veil is
      an opacity on a token ground for the same reason: rgba() would have been
      a literal.

   Deliberately NOT declaring local --serif / --sans aliases here. A previous
   component did, shadowed the global tokens, and took a live page's typography
   with it. Use --font-heading and --font-body directly.
   ============================================================================= */

.mm-reg {
  background: var(--cotton);
  font-family: var(--font-body);
  color: var(--ink-body);
}

/* ---------- hero ---------- */
/* The hero photo is set inline in the template (see the note there). This owns
   how it sits; the Bedtime Blue ground underneath is what a reader gets if the
   image ever goes missing, which is a complete design rather than a hole. */
.mm-reg-hero {
  position: relative;
  overflow: hidden;
  background-color: var(--bedtime-blue);
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
  padding: 76px 24px 60px;
  text-align: center;
}
.mm-reg-hero__veil {
  position: absolute;
  inset: 0;
  background: var(--bedtime-blue);
  opacity: 0.66;
}
.mm-reg-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}
.mm-reg-hero__eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--petal-pink);
  margin: 0 0 14px;
}
.mm-reg .mm-reg-hero__title {
  font-family: var(--font-heading);
  font-size: clamp(2.3rem, 5vw, 3.4rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--cotton);
  margin: 0 0 16px;
}
.mm-reg-hero__sub {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--cotton);
  margin: 0;
}

/* ---------- page body ---------- */
.mm-reg-body {
  max-width: 1180px;
  margin: 0 auto;
  padding: 34px 24px 80px;
}
.mm-reg-byline {
  font-size: 0.8rem;
  line-height: 1.6;
  color: var(--ink-muted);
  margin: 0 0 22px;
}
.mm-reg .mm-reg-byline__link {
  color: var(--ink-muted);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mm-reg .mm-reg-byline__link:hover { color: var(--pink-ink); }

.mm-reg-noscript {
  background: var(--sun-wash);
  border: 1px solid var(--rule-line);
  border-radius: var(--radius-xl);
  padding: 16px 20px;
  margin: 0 0 22px;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--ink-body);
}
.mm-reg .mm-reg-noscript__link {
  color: var(--blue-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mm-reg-how {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.mm-reg-how__step {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--paper);
  border: 1px solid var(--rule-line);
  border-radius: var(--radius-xl);
  padding: 14px 18px;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--ink-body);
}
.mm-reg-how__n {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--pink-wash);
  color: var(--pink-ink);
  font-weight: 700;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---------- two-pane shell ---------- */
.mm-reg-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 34px;
  align-items: start;
}

.mm-reg .mm-reg-h2 {
  font-family: var(--font-heading);
  font-size: 1.85rem;
  font-weight: 400;
  color: var(--bedtime-blue);
  margin: 0 0 8px;
}
.mm-reg-lead {
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--ink-body);
  margin: 0 0 18px;
  max-width: 62ch;
}

.mm-reg-jumpwrap { margin: 0 0 18px; display: none; }
.mm-reg .mm-reg-jump {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--pink-ink);
  background: var(--pink-wash);
  border-radius: 999px;
  padding: 9px 18px;
  text-decoration: none;
}

/* ---------- filters ---------- */
.mm-reg-filters {
  background: var(--paper);
  border: 1px solid var(--rule-line);
  border-radius: var(--radius-xl);
  padding: 16px 18px 12px;
  margin: 0 0 26px;
}
.mm-reg-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.mm-reg-tab {
  font-family: var(--font-body);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-body);
  background: var(--cotton);
  border: 1px solid var(--rule-line);
  border-radius: 999px;
  padding: 8px 16px;
  cursor: pointer;
}
.mm-reg-tab:hover { border-color: var(--rule-strong); }
.mm-reg-tab__n {
  font-weight: 500;
  color: var(--ink-muted);
  font-size: 0.82rem;
}
.mm-reg-tab[aria-pressed="true"] {
  background: var(--bedtime-blue);
  border-color: var(--bedtime-blue);
  color: var(--cotton);
}
.mm-reg-tab[aria-pressed="true"] .mm-reg-tab__n { color: var(--petal-pink); }

.mm-reg-filters__row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: flex-end;
  justify-content: space-between;
}
.mm-reg-prices {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mm-reg-price {
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-muted);
  background: transparent;
  border: 1px solid var(--rule-line);
  border-radius: 999px;
  padding: 6px 13px;
  cursor: pointer;
}
.mm-reg-price:hover { color: var(--ink-body); border-color: var(--rule-strong); }
.mm-reg-price[aria-pressed="true"] {
  background: var(--pink-wash);
  border-color: var(--petal-pink);
  color: var(--pink-ink);
}

.mm-reg-searchwrap { margin: 0; flex: 1 1 230px; max-width: 320px; }
.mm-reg-searchlabel {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 5px;
}
.mm-reg-search {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: var(--bedtime-blue);
  background: var(--paper);
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius-md);
  padding: 9px 12px;
  width: 100%;
}
.mm-reg-result {
  font-size: 0.82rem;
  color: var(--ink-muted);
  margin: 12px 0 0;
  min-height: 1.2em;
}

/* ---------- catalog ---------- */
.mm-reg-secblock { margin-bottom: 10px; }
.mm-reg-secblock__label {
  font-family: var(--font-heading);
  font-size: 1.35rem;
  color: var(--bedtime-blue);
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--petal-pink);
}
.mm-reg-group { margin-bottom: 30px; }
.mm-reg .mm-reg-group__title {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--bedtime-blue);
  margin: 0 0 12px;
}
.mm-reg-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
  gap: 12px;
}
.mm-reg-card {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--rule-line);
  border-radius: var(--radius-xl);
  padding: 15px 16px 13px;
}
.mm-reg-card.is-chosen {
  border-color: var(--petal-pink);
  background: var(--pink-wash);
}
.mm-reg-card__name {
  font-family: var(--font-heading);
  font-size: 1.06rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--bedtime-blue);
  margin: 0 0 8px;
}
.mm-reg-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 8px;
}
.mm-reg-chip {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ink-muted);
  background: var(--cotton);
  border-radius: 999px;
  padding: 3px 9px;
}
.mm-reg-chip--price {
  color: var(--blue-ink);
  background: var(--blue-wash);
}
.mm-reg-card__spec {
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--ink-body);
  margin: 0 0 12px;
}
.mm-reg-card__foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.mm-reg-addbtn {
  font-family: var(--font-body);
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--cotton);
  background: var(--pink-ink);
  border: 1px solid var(--pink-ink);
  border-radius: var(--radius-md);
  padding: 8px 16px;
  cursor: pointer;
}
.mm-reg-addbtn:hover { background: var(--bedtime-blue); border-color: var(--bedtime-blue); }
.mm-reg-addbtn[aria-pressed="true"] {
  color: var(--pink-ink);
  background: transparent;
  border-color: var(--pink-ink);
}
/* Beats `article .wp-block-post-content a` (0,1,2) with 0,2,0. A card link that
   loses that cascade inherits the generic content-link colour and stops
   reading as the quiet secondary action it is. */
.mm-reg .mm-reg-card__link,
.mm-reg .mm-reg-row__link {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ink-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}
.mm-reg .mm-reg-card__link:hover,
.mm-reg .mm-reg-row__link:hover { color: var(--pink-ink); }

.mm-reg-none {
  font-size: 0.98rem;
  color: var(--ink-muted);
  background: var(--paper);
  border: 1px dashed var(--rule-line);
  border-radius: var(--radius-xl);
  padding: 28px 22px;
  text-align: center;
  margin: 0;
}

/* ---------- the list panel ---------- */
.mm-reg-panel {
  position: sticky;
  top: 18px;
  background: var(--paper);
  border: 1px solid var(--rule-line);
  border-radius: var(--radius-xl);
  padding: 22px 22px 20px;
  max-height: calc(100vh - 36px);
  overflow-y: auto;
}
.mm-reg-printhead { display: none; }
.mm-reg .mm-reg-panel__h { font-size: 1.5rem; }
.mm-reg-count {
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--ink-body);
  margin: 0 0 14px;
}
.mm-reg-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.mm-reg-btn {
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--bedtime-blue);
  background: transparent;
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius-md);
  padding: 10px 18px;
  cursor: pointer;
}
.mm-reg-btn:hover:not(:disabled) { border-color: var(--bedtime-blue); }
.mm-reg-btn--primary {
  color: var(--cotton);
  background: var(--bedtime-blue);
  border-color: var(--bedtime-blue);
}
.mm-reg-btn--primary:hover:not(:disabled) { background: var(--pink-ink); border-color: var(--pink-ink); }
.mm-reg-btn:disabled { opacity: 0.42; cursor: not-allowed; }

.mm-reg-status {
  font-size: 0.76rem;
  color: var(--ink-muted);
  margin: 0 0 14px;
  min-height: 1.1em;
}
.mm-reg-empty {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--ink-muted);
  background: var(--cotton);
  border-radius: var(--radius-md);
  padding: 18px;
  margin: 0;
}
.mm-reg-listsec { margin-bottom: 18px; }
.mm-reg .mm-reg-listsec__title {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin: 0 0 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--rule-line);
}
.mm-reg-rows { list-style: none; margin: 0; padding: 0; }
/* Flex rather than grid on purpose. A 1fr grid column stretched the quantity
   pill's border across the whole panel, and the four controls landed in
   whatever cells were left rather than in a chosen order. Here the name takes
   its own full-width line, then the controls read left to right in the order
   they are used: how many, how badly, look it up, take it off. */
.mm-reg-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 11px 0;
  border-bottom: 1px solid var(--rule-line);
}
.mm-reg-row:last-child { border-bottom: none; }
.mm-reg-row__main { flex: 1 1 100%; }
.mm-reg-row__name {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--bedtime-blue);
  margin: 0;
}
.mm-reg-row__flag {
  display: none;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--pink-ink);
}
.mm-reg-row__meta {
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--ink-muted);
  margin: 2px 0 0;
}
.mm-reg-row__qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--rule-line);
  border-radius: 999px;
  overflow: hidden;
}
.mm-reg-step {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1;
  color: var(--bedtime-blue);
  background: var(--cotton);
  border: none;
  width: 30px;
  height: 28px;
  cursor: pointer;
}
.mm-reg-step:hover:not(:disabled) { background: var(--pink-wash); color: var(--pink-ink); }
.mm-reg-step:disabled { opacity: 0.35; cursor: not-allowed; }
.mm-reg-row__q {
  min-width: 26px;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--bedtime-blue);
  font-variant-numeric: tabular-nums;
}
.mm-reg-pri {
  font-family: var(--font-body);
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--ink-muted);
  background: transparent;
  border: 1px solid var(--rule-line);
  border-radius: 999px;
  padding: 5px 11px;
  cursor: pointer;
}
.mm-reg-pri:hover { border-color: var(--petal-pink); color: var(--pink-ink); }
.mm-reg-pri[aria-pressed="true"] {
  background: var(--petal-pink);
  border-color: var(--petal-pink);
  color: var(--bedtime-blue);
}
.mm-reg-del {
  font-family: var(--font-body);
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--ink-muted);
  background: none;
  border: none;
  padding: 5px 2px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mm-reg-del:hover { color: var(--pink-ink); }
/* Pushes the two low-frequency actions to the right edge, away from the two
   the reader actually uses while building the list. */
.mm-reg-row__aux {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.mm-reg-panel__note {
  font-size: 0.74rem;
  line-height: 1.6;
  color: var(--ink-muted);
  margin: 16px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--rule-line);
}

/* ---------- notes ---------- */
.mm-reg-notes {
  margin-top: 46px;
  background: var(--paper);
  border: 1px solid var(--rule-line);
  border-radius: var(--radius-xl);
  padding: 30px 32px;
}
.mm-reg .mm-reg-notes__h {
  font-family: var(--font-heading);
  font-size: 1.12rem;
  font-weight: 600;
  color: var(--bedtime-blue);
  margin: 22px 0 6px;
}
.mm-reg-notes p {
  font-size: 0.96rem;
  line-height: 1.75;
  color: var(--ink-body);
  margin: 0;
  max-width: 66ch;
}

/* ---------- focus, always visible ---------- */
.mm-reg button:focus-visible,
.mm-reg a:focus-visible,
.mm-reg input:focus-visible {
  outline: 3px solid var(--blue-ink);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

@media (prefers-reduced-motion: reduce) {
  .mm-reg * { transition: none !important; animation: none !important; }
}

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
  .mm-reg-shell { grid-template-columns: 1fr; gap: 30px; }
  .mm-reg-panel { position: static; max-height: none; }
  .mm-reg-jumpwrap { display: block; }
}
@media (max-width: 700px) {
  .mm-reg-hero { padding: 56px 20px 44px; }
  .mm-reg-body { padding: 26px 16px 64px; }
  .mm-reg-how { grid-template-columns: 1fr; }
  .mm-reg-cards { grid-template-columns: 1fr; }
  .mm-reg-notes { padding: 24px 20px; }
  .mm-reg-searchwrap { max-width: none; }
}

/* ---------- print ----------
   The printed page is the whole point of Phase 0: there is no share link yet,
   so this IS how a list reaches a partner or a grandparent. Everything except
   the list is removed, including the tool's own controls, and each row gets a
   tick box so it can be worked through on paper. */
@media print {
  .bumply-header,
  .bumply-footer,
  .bumply-disclosure-bar,
  .bumply-mobile-nav,
  .bumply-hamburger,
  .bumply-newsletter,
  .mm-reg-hero,
  .mm-reg-byline,
  .mm-reg-noscript,
  .mm-reg-how,
  .mm-reg-browse,
  .mm-reg-notes,
  .mm-reg-panel__actions,
  .mm-reg-status,
  .mm-reg-panel__note,
  .mm-reg-row__qty,
  .mm-reg-pri,
  .mm-reg-row__aux { display: none !important; }

  .mm-reg { background: var(--paper); }
  .mm-reg-body { padding: 0; max-width: none; }
  .mm-reg-shell { display: block; }
  .mm-reg-panel {
    position: static;
    max-height: none;
    overflow: visible;
    border: none;
    padding: 0;
  }
  .mm-reg-printhead { display: block; margin-bottom: 4px; }
  .mm-reg-printhead__brand {
    font-family: var(--font-heading);
    font-size: 0.9rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-muted);
    margin: 0;
  }
  .mm-reg .mm-reg-panel__h { font-size: 1.7rem; }
  .mm-reg-count { margin-bottom: 18px; }
  .mm-reg-listsec { page-break-inside: avoid; margin-bottom: 14px; }
  .mm-reg-row {
    display: block;
    padding: 7px 0 7px 24px;
    position: relative;
    page-break-inside: avoid;
  }
  .mm-reg-row::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 12px;
    height: 12px;
    border: 1px solid var(--rule-strong);
  }
  .mm-reg-row__flag {
    display: inline;
    margin-left: 6px;
  }
  /* The stepper is hidden in print, so the quantity has to survive somewhere.
     The attribute is only set above 1, so a single item prints without a
     redundant "(qty 1)" after every line. */
  .mm-reg-row__meta[data-qty]::after {
    content: " (qty " attr(data-qty) ")";
  }
}

/* =============================================================================
   29. READER COMMENTS (.bumply-comments)
   -----------------------------------------------------------------------------
   The comments section on single posts (templates/single.html), scoped to the
   .bumply-comments class on the wp:comments wrapper. functions.php section 34
   owns the behaviour (open state, moderation, anti-spam gate, form fields);
   this owns every pixel. Every colour is a token: this file's brand-ratchet
   budget (check 17) is an exact count, so there is not one new literal below.
   Comment links get their own --blue-ink rule because the post-content link
   rule is scoped to .wp-block-post-content and never reaches this block.
   ============================================================================= */

/* White ground in the article column, a hairline to close the article off,
   64px of air above. */
.bumply-comments {
  margin-top: 64px;
  border-top: 1px solid var(--rule-line);
  padding-top: 48px;
  font-family: var(--font-body);
}

.bumply-comments .bumply-comments__title { margin: 0 0 24px; }

/* Empty state, printed by the comment_form_top hook only when the post has
   no approved comments yet. */
.bumply-comments .bumply-comments-empty {
  color: var(--ink-muted);
  font-size: 1rem;
  margin: 0 0 20px;
}

/* The list. Core renders ol.wp-block-comment-template with one li per
   comment. Hairline separators, no cards. */
.bumply-comments .wp-block-comment-template {
  list-style: none;
  margin: 0 0 40px;
  padding: 0;
}
.bumply-comments .wp-block-comment-template > li {
  border-bottom: 1px solid var(--rule-line);
  padding: 22px 0;
}

/* Replies. Depth is pinned to 2 in functions.php; the nested ol indents 20px
   on mobile and 40px from 768px up (media query at the end). */
.bumply-comments .wp-block-comment-template ol {
  list-style: none;
  margin: 16px 0 0 20px;
  padding: 0;
}
.bumply-comments .wp-block-comment-template ol > li {
  border-top: 1px solid var(--rule-line);
  border-bottom: none;
  padding: 16px 0 0;
  margin-top: 16px;
}

.bumply-comments .bumply-comment__meta {
  gap: 12px;
  align-items: baseline;
}
.bumply-comments .wp-block-comment-author-name {
  font-weight: 600;
  color: var(--bedtime-blue);
}
.bumply-comments .wp-block-comment-date {
  color: var(--ink-muted);
  font-size: 0.85rem;
}
.bumply-comments .wp-block-comment-content {
  color: var(--ink-body);
  font-size: 1.05rem;
  line-height: 1.65;
}

/* Links inside comments, the reply link, pagination, and the cancel-reply
   link all take the accessible blue ink. */
.bumply-comments .wp-block-comment-content a,
.bumply-comments .wp-block-comment-reply-link a,
.bumply-comments .wp-block-comments-pagination a,
.bumply-comments #cancel-comment-reply-link {
  color: var(--blue-ink);
  text-decoration: underline;
}
.bumply-comments .wp-block-comment-reply-link a {
  display: inline-block;
  padding: 6px 0;
  font-size: 0.95rem;
}

/* No avatars in this design. The template omits the block; this keeps a
   future edit from quietly bringing them back. */
.bumply-comments .wp-block-avatar { display: none; }

/* Ana's replies: functions.php adds .bumply-comment-team for any site user
   who can moderate, and core adds .bypostauthor for the post's author. Both
   get the small-caps house chip after the name. */
.bumply-comments .bumply-comment-team .wp-block-comment-author-name::after,
.bumply-comments .bypostauthor .wp-block-comment-author-name::after {
  content: "Mother & Main";
  font-variant: small-caps;
  letter-spacing: 0.06em;
  font-size: 0.8em;
  font-weight: 500;
  color: var(--pink-ink);
  background: var(--pink-wash);
  border-radius: 4px;
  padding: 2px 8px;
  margin-left: 10px;
  white-space: nowrap;
}

/* The held-for-review note (core's em.comment-awaiting-moderation, reworded
   via gettext in functions.php) becomes a calm panel rather than an italic
   aside. */
.bumply-comments .comment-awaiting-moderation {
  display: block;
  font-style: normal;
  background: var(--blue-wash);
  color: var(--ink-body);
  border-radius: 8px;
  padding: 12px 16px;
  margin-top: 10px;
  font-size: 0.95rem;
}

/* The form. Inputs hold 1rem (16px) text everywhere so iOS never zooms, and
   the field boundary uses --rule-strong, which clears WCAG 1.4.11. */
.bumply-comments .comment-form p { margin: 0 0 18px; }
.bumply-comments .comment-form label {
  display: block;
  font-weight: 500;
  color: var(--ink-body);
  font-size: 1rem;
  margin-bottom: 6px;
}
.bumply-comments .comment-form input[type="text"],
.bumply-comments .comment-form input[type="email"],
.bumply-comments .comment-form textarea {
  width: 100%;
  background: var(--paper);
  border: 1px solid var(--rule-strong);
  border-radius: 8px;
  padding: 13px 14px;
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink-body);
}
.bumply-comments .comment-form textarea {
  min-height: 140px;
  resize: vertical;
}
.bumply-comments .comment-form input:focus-visible,
.bumply-comments .comment-form textarea:focus-visible {
  outline: 2px solid var(--blue-ink);
  outline-offset: 2px;
}
.bumply-comments .bumply-comment-consent {
  display: block;
  color: var(--ink-muted);
  font-size: 0.85rem;
  margin-top: 6px;
}

/* The button: pink ink ground, white text, Bedtime Blue on hover and focus,
   48px minimum tap target. */
.bumply-comments .form-submit { margin: 6px 0 0; }
/* Core renders the block form's button with wp-element-button and its own
   global-styles ground, which out-cascades a bare class selector; cover the
   element and the block class as well so the brand button always wins. */
.bumply-comments .form-submit .submit,
.bumply-comments input[type="submit"],
.bumply-comments .wp-block-post-comments-form input[type="submit"],
.bumply-comments .wp-element-button {
  background: var(--pink-ink);
  color: var(--paper);
  border: none;
  border-radius: 8px;
  padding: 12px 28px;
  min-height: 48px;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 1rem;
  cursor: pointer;
}
.bumply-comments .form-submit .submit:hover,
.bumply-comments .form-submit .submit:focus-visible,
.bumply-comments input[type="submit"]:hover,
.bumply-comments input[type="submit"]:focus-visible {
  background: var(--bedtime-blue);
}
.bumply-comments .form-submit .submit:focus-visible {
  outline: 2px solid var(--blue-ink);
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .bumply-comments .wp-block-comment-template ol { margin-left: 40px; }
}
@media (max-width: 600px) {
  .bumply-comments .form-submit .submit { width: 100%; }
}

/* =========================================================================
   28. The capture ask (.bumply-ask*)
   -------------------------------------------------------------------------
   ONE component, three pages, per Rule 5. The birth plan modal (.bp-modal)
   was the first of these and lives inline in its own template; this is the
   same pattern promoted into the design system so /checklists/ and /trackers/
   do not each grow a private copy. Migrating the birth plan onto these
   classes is queued rather than done here, because it is the best-converting
   page on the site and does not get touched at the same time as two others.

   THE ASK IS NOT A GATE, and that is the difference from the birth plan.
   Ana's ruling of 2026-08-18: "all checklists are available without email at
   the moment", and they stay that way. So this dialog carries a visible skip
   that still delivers the thing. Value first, ask last, and the answer may be
   no. A dialog that holds a checklist hostage would be a different product
   than the one she approved.

   Colours are brand tokens only: check 17 budgets this file at its exact
   count, so a hex literal here would fail CI, which is the point.
   ========================================================================= */
.bumply-ask{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.bumply-ask[hidden]{display:none}
.bumply-ask__backdrop{position:absolute;inset:0;background:rgba(19,29,39,0.55)}
.bumply-ask__dialog{position:relative;z-index:1;background:var(--paper);border:1px solid var(--rule-line);border-radius:16px;padding:40px 34px 28px;max-width:440px;width:100%;box-shadow:0 20px 60px rgba(19,29,39,0.25);text-align:center}
.bumply-ask__close{position:absolute;top:12px;right:14px;background:none;border:0;font-size:26px;line-height:1;color:var(--ink-muted);cursor:pointer;padding:4px}
.bumply-ask__title{font-family:var(--font-heading);font-size:1.75rem;font-weight:400;color:var(--color-umber);margin:0 0 10px;line-height:1.2}
.bumply-ask__text{font-family:var(--font-body);font-size:1rem;color:var(--ink-body);line-height:1.65;margin:0 auto 22px;max-width:22rem}
.bumply-ask__email{width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:1rem;color:var(--color-umber);padding:13px 16px;border:1px solid var(--rule-strong);border-radius:8px;background:var(--paper);text-align:center}
.bumply-ask__email:focus{outline:none;border-color:var(--pink-ink)}
.bumply-ask__opt{display:flex;align-items:flex-start;gap:12px;text-align:left;max-width:22rem;margin:18px auto 0;padding:15px 17px;background:var(--pink-wash);border:1px solid var(--rule-line);border-radius:12px;font-family:var(--font-body);font-size:.9rem;color:var(--ink-body);line-height:1.55;cursor:pointer}
.bumply-ask__opt:hover{border-color:var(--pink-ink)}
.bumply-ask__opt input{margin-top:1px;width:22px;height:22px;accent-color:var(--pink-ink);flex:0 0 auto}
.bumply-ask__opt strong{color:var(--color-umber);font-weight:600}
.bumply-ask__submit{width:100%;margin-top:20px;font-size:1rem;padding:14px 22px;border:0;border-radius:8px;background:var(--color-umber);color:var(--color-cream);font-family:var(--font-body);font-weight:600;cursor:pointer}
.bumply-ask__submit:hover{filter:brightness(1.15)}
/* The skip. Deliberately a real, readable control and not a grey whisper: an
   ask you cannot decline cleanly is a gate wearing a friendly face. */
.bumply-ask__skip{display:inline-block;margin-top:14px;background:none;border:0;padding:4px;font-family:var(--font-body);font-size:.9375rem;color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bumply-ask__skip:hover{color:var(--color-umber)}
.bumply-ask__fine{font-family:var(--font-body);font-size:.8125rem;color:var(--ink-muted);line-height:1.55;margin:14px auto 0;max-width:22rem}
.bumply-ask__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:520px){.bumply-ask__dialog{padding:34px 22px 24px}.bumply-ask__title{font-size:1.5rem}}
