/* ============================================================================
   FOOTER MOBILE — Privacy / Terms / Sitemap on one line + matched copyright
   ============================================================================
   On mobile, Privacy / Terms / Sitemap were wrapping. Reduce font-size so
   all three fit on one line; reduce the © 2026 Nourish text to match. */
@media (max-width: 767px) {
  /* Any footer link containing these words — hit both typical containers */
  #footer-sections p.sqsrte-small,
  #footer-sections p.sqsrte-small a,
  #footer-sections p.sqsrte-small span,
  footer p.sqsrte-small,
  footer p.sqsrte-small a,
  footer p.sqsrte-small span {
    font-size: 8px !important;
    letter-spacing: 1.2px !important;
    white-space: nowrap !important;
  }

  /* The paragraph block that holds the three inline links */
  #footer-sections .sqs-html-content p:has(a[href*="privacy"]),
  #footer-sections .sqs-html-content p:has(a[href*="terms"]),
  #footer-sections .sqs-html-content p:has(a[href*="sitemap"]),
  footer .sqs-html-content p:has(a[href*="privacy"]),
  footer .sqs-html-content p:has(a[href*="terms"]),
  footer .sqs-html-content p:has(a[href*="sitemap"]) {
    font-size: 8px !important;
    letter-spacing: 1.2px !important;
    white-space: nowrap !important;
  }
}

/* ============================================================================
   PAGE TRANSITIONS — View Transitions API (native browser, zero-weight)
   Smooth crossfade between all page navigations.
   Graceful fallback: browsers without support just load pages normally.
   ============================================================================ */
@view-transition {
  navigation: auto;
}

/* ============================================================================
   HERO SMALL LABEL — Unified size and color across all pages
   ============================================================================
   The small uppercase tagline / label inside each page's hero (first
   page-section). Previously sized differently per page via Squarespace's
   section font scale. Community page reference: ~12.6px, gold accent color.
   ============================================================================ */
main#page .page-section:first-of-type p.sqsrte-small:not(._):not(._):not(._),
main#page .page-section:first-of-type p.sqsrte-small:not(._):not(._):not(._) span {
  font-size: 12.6px !important;
  line-height: 1.3 !important;
  letter-spacing: 2.4px !important;
  color: #D4B382 !important;
}

/* ============================================================================
   SCROLL SNAP TEST — /home-snap page only
   ============================================================================
   Section snapping is handled by fullPage.js (loaded in custom.js).
   Disable Squarespace's scroll-triggered animations on this page —
   fullPage.js intercepts scroll, so the IntersectionObserver-based
   reveals never fire and content stays at opacity:0.
   ============================================================================ */
/* Override Squarespace's built-in preFade / loaded classes on the snap page.
   These are applied globally by Squarespace and normally fade in on scroll,
   but fullPage.js intercepts scroll so elements get stuck at opacity:0. */
/* Squarespace gallery slides had class .slide renamed to .sqs-slide to avoid
   fullPage.js's auto slide detection. Give the renamed class the same display
   behavior as the original Squarespace .slide. */
body.collection-69dffe8fa79bee71f95f913b .sqs-gallery {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}

body.collection-69dffe8fa79bee71f95f913b .sqs-gallery .sqs-slide {
  display: flex !important;
  flex: 1 1 0 !important;
  max-width: 160px !important;
  min-width: 0 !important;
  justify-content: center !important;
  align-items: center !important;
}

body.collection-69dffe8fa79bee71f95f913b .sqs-gallery .sqs-slide img {
  max-width: 100% !important;
  height: auto !important;
}

body.collection-69dffe8fa79bee71f95f913b .preFade,
body.collection-69dffe8fa79bee71f95f913b .preScale,
body.collection-69dffe8fa79bee71f95f913b .preClip,
body.collection-69dffe8fa79bee71f95f913b .preFlex,
body.collection-69dffe8fa79bee71f95f913b .preSlide,
body.collection-69dffe8fa79bee71f95f913b [data-animation-role],
body.collection-69dffe8fa79bee71f95f913b .sqs-block.loading,
body.collection-69dffe8fa79bee71f95f913b .fe-block.loading {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
  visibility: visible !important;
}

/* ============================================================================
   NOURISH — CUSTOM CSS
   ============================================================================
   Hosted via Cloudflare Pages. Loaded via Squarespace Header Code Injection.
   Source of truth: https://github.com/internetjared/nourish-website
   ============================================================================ */

/* Headline orphan prevention — sitewide */
h1, h2, h3, h4 {
  text-wrap: balance;
}

/* H1 — Fluid responsive sizing
   ----------------------------------------------------------------------
   Previous ceiling of 150px caused the homepage hero 'Support for the
   filmmaker, on and off set.' to wrap to 3 lines at ≥1800px viewports.
   The text block's container is capped at ~996px by Squarespace's Fluid
   Engine grid + --sqs-site-max-width, but the font kept growing to 150px
   at 1920px — the font outgrew the container and spilled a 3rd line.

   Capped at 130px: holds the intended 2-line wrap up through 2560px+.
   Paired with `text-wrap: balance` so any wrap (including shorter 1-line
   titles like 'Coaching' or 'The Community') splits evenly by default,
   giving us sitewide consistency across every H1.
   ---------------------------------------------------------------------- */
h1:not(._):not(._):not(._) {
  font-size: clamp(40px, 7.8125vw, 130px) !important;
  line-height: 0.99 !important;
  letter-spacing: -0.06em !important;
  text-wrap: balance !important;
}

/* Coaching page hero: h1 "Coaching" keeps the homepage H1 scale.
   At desktop widths Squarespace applies a `* 1.5` heading-size
   multiplier via a block-level rule (#block-bf93b13420133f71a559),
   which pushed the H1 to 144.9px at 1546px while the community
   hero renders at 120.78px. Doubled block ID outranks the
   Squarespace rule so the H1 lands at the same clamp output as
   community/homepage heroes (120–130px at desktop). */
section[data-section-id="698e3e7004ea8759cbe1a7da"] h1:not(._):not(._):not(._),
#block-bf93b13420133f71a559#block-bf93b13420133f71a559 h1,
#block-bf93b13420133f71a559#block-bf93b13420133f71a559 h1 span[class^="sqsrte-text-color"] {
  font-size: clamp(40px, 7.8125vw, 130px) !important;
  line-height: 0.99 !important;
  letter-spacing: -0.06em !important;
  text-wrap: balance !important;
}

section[data-section-id="698e3e7004ea8759cbe1a7da"] h3:not(._):not(._):not(._) {
  font-size: clamp(32px, 6.25vw, 120px) !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
}

/* Coaching page MOBILE FIXES — match the homepage hero H1 and "Our art form"
   H2 sizes exactly for cross-page consistency. Mobile only (<= 767px).

   At 390px viewport, homepage reference sizes are:
   - Hero H1: 40px / line-height 39.6 / letter-spacing -2.4px (-0.06em)
   - "Our art form" H2: 44px / line-height 44 / letter-spacing -2px (-0.045em)

   Coaching hero H1 block has a Squarespace block-ID rule with `* 1.5`
   multiplier and !important, so we must target the block ID to outrank it. */
@media only screen and (max-width: 767px) {
  /* Coaching hero H1 "Coaching" — larger than the homepage hero, sitting
     closer to the original ~110px scale but still fitting the 390px
     viewport with room to spare. Doubled block ID outranks Squarespace's
     own block-level rule (same ID + !important + later in cascade). */
  #block-bf93b13420133f71a559#block-bf93b13420133f71a559 h1,
  #block-bf93b13420133f71a559#block-bf93b13420133f71a559 h1 span[class^="sqsrte-text-color"] {
    font-size: 80px !important;
    line-height: 0.99 !important;
    letter-spacing: -0.06em !important;
  }

  /* "Our coaches bring perspective..." H2 (section 698e3ff8ae26276f4fe4af25)
     AND "Prefer to grow in a group?" H2 (section 698e5e195f82a06ba905a476)
     — both match homepage "Our art form" H2 (44px) */
  section[data-section-id="698e3ff8ae26276f4fe4af25"] h2:not(._):not(._):not(._):not(._),
  section[data-section-id="698e5e195f82a06ba905a476"] h2:not(._):not(._):not(._):not(._) {
    font-size: 44px !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
  }
}

/* H2 — Fluid responsive sizing (text blocks only) */
.sqs-block-html h2:not(._):not(._):not(._) {
  font-size: clamp(20px, 6.4vw, 78px) !important;
  line-height: 0.85 !important;
}

/* ============================================================================
   HOMEPAGE — CUSTOM CSS
   ============================================================================
   All styles below are scoped to or intended for the homepage.
   Organized by section, top-to-bottom, matching the page layout.

   TABLE OF CONTENTS:
   1. Global Font Overrides
   2. Global Button Styling
   3. Global Link Arrow Style
   4. Hero Section (69667a067a2cfb7b58a7073c)
   5. Intro & Philosophy Section (69668135671d3c6104a715bd)
   6. Methodology Cards Section (69668d3d585f061f46f1c331) — Card headings, body text, pills, icons
   7. Meet Your Coaches Section (69668f13a177756eba2655c3)
   8. H2 Underline Section (696690cd6197c756c02c2a26)
   9. 1000s of Filmmakers Section (6967c36692dae60ef9e8abc6)
   10. Testimonial Carousel Section (6967d51b069826694a516e89)
   ============================================================================ */

/* ============================================================================
   1. GLOBAL FONT OVERRIDES
   ============================================================================
   Forces mono45-headline as the primary display/UI font across
   navigation, small text, buttons, and CSS custom properties.
   ============================================================================ */

/* Nuclear option: override IBM Plex Mono everywhere */
@font-face {
  font-family: "mono45-headline", monospace;
  font-weight: 300;
  font-style: normal;
}

/* Apply mono45-headline to nav links, small paragraph text, and primary buttons */
.header-nav-wrapper a, .sqsrte-small, .sqs-button-element--primary {
  font-family: "mono45-headline", monospace !important;
  letter-spacing: 2.4px !important;
}

/* Nav link hover — opacity dim + subtle zoom. The earlier radial-gradient
   spotlight ::before is killed below so Site Styles re-renders can't
   bring it back. */
.header-nav-item a {
  position: relative !important;
  display: inline-block !important;
  transform-origin: center center !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.header-nav-item a:hover {
  opacity: 0.7 !important;
  transform: scale(1.02) !important;
}
.header-nav-item a::before,
.header-nav-item a:hover::before {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

/* Fix navigation color on coach profile pages (any page with #coach-hero) */
body:has(#coach-hero) header {
  --solidHeaderNavigationColor: #f2f0e4 !important;
  --gradientHeaderNavigationColor: #f2f0e4 !important;
}

body:has(#coach-hero) .header-nav-wrapper a,
body:has(#coach-hero) .header-title-text a,
body:has(#coach-hero) .header-actions .btn {
  color: #f2f0e4 !important;
}

body:has(#coach-hero) .header-title-logo img {
  filter: brightness(0) invert(1) sepia(1) saturate(0.1) hue-rotate(10deg) !important;
}

/* Mobile hamburger icon — the .top-bun / .patty / .bottom-bun divs
   default to the dark page color and disappear against the coach
   hero's dark background. Flip them to cream. Same for the close-X
   state when the overlay menu is open. */
body:has(#coach-hero) .header-burger .top-bun,
body:has(#coach-hero) .header-burger .patty,
body:has(#coach-hero) .header-burger .bottom-bun,
body:has(#coach-hero) .burger-inner .top-bun,
body:has(#coach-hero) .burger-inner .patty,
body:has(#coach-hero) .burger-inner .bottom-bun {
  background-color: #f2f0e4 !important;
}

/* Legal pages (Privacy + Terms) render on a dark green page background,
   but Squarespace defaults the header 'Log In' button text to the dark
   brand color — making it invisible against the page. Force cream
   text + border on the Log In button AND flip the hamburger + logo to
   cream for contrast, matching the coach-profile treatment above.

   Collection IDs:
   - #collection-69e63f3e74f7e06b94335546 → /privcacy
   - #collection-69e640e0caf93b351af287c3 → /terms */
body#collection-69e63f3e74f7e06b94335546 header,
body#collection-69e640e0caf93b351af287c3 header {
  --solidHeaderNavigationColor: #f2f0e4 !important;
  --gradientHeaderNavigationColor: #f2f0e4 !important;
}

body#collection-69e63f3e74f7e06b94335546 .header-nav-wrapper a,
body#collection-69e63f3e74f7e06b94335546 .header-title-text a,
body#collection-69e63f3e74f7e06b94335546 .header-actions .btn,
body#collection-69e640e0caf93b351af287c3 .header-nav-wrapper a,
body#collection-69e640e0caf93b351af287c3 .header-title-text a,
body#collection-69e640e0caf93b351af287c3 .header-actions .btn {
  color: #f2f0e4 !important;
  border-color: rgba(242, 240, 227, 0.3) !important;
}

body#collection-69e63f3e74f7e06b94335546 .header-title-logo img,
body#collection-69e640e0caf93b351af287c3 .header-title-logo img {
  filter: brightness(0) invert(1) sepia(1) saturate(0.1) hue-rotate(10deg) !important;
}

body#collection-69e63f3e74f7e06b94335546 .header-burger .top-bun,
body#collection-69e63f3e74f7e06b94335546 .header-burger .patty,
body#collection-69e63f3e74f7e06b94335546 .header-burger .bottom-bun,
body#collection-69e640e0caf93b351af287c3 .header-burger .top-bun,
body#collection-69e640e0caf93b351af287c3 .header-burger .patty,
body#collection-69e640e0caf93b351af287c3 .header-burger .bottom-bun {
  background-color: #f2f0e4 !important;
}

/* Override Squarespace CSS custom properties for button fonts */
body {
  --primary-button-font-font-family: "mono45-headline", monospace;
  --primary-button-font-font-weight: 300;
  --primary-button-font-font-style: normal;
  --secondary-button-font-font-family: "mono45-headline", monospace;
}

/* ============================================================================
   2. GLOBAL BUTTON STYLING
   ============================================================================
   Controls button border-radius and header CTA appearance.
   ============================================================================ */

/* Button radius + default padding — consistent across all button types */
.sqs-button-element--primary, .sqs-button-element--secondary {
  border-radius: 2px;
  padding: 18px 40px !important;
  padding-block: 18px !important;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, color 0.2s ease !important;
}

/* Global button hover — unified cream-fill treatment for primary, secondary,
   and tertiary buttons. Matches the Podcast "Listen" / homepage
   "Explore Community" reference: cream background + dark green text + scale. */
.sqs-button-element--primary:hover,
.sqs-button-element--secondary:hover,
.sqs-button-element--tertiary:hover {
  background-color: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
  transform: scale(1.03) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
  filter: none !important;
}

/* Override Squarespace's button size classes.
   The .sqs-stretched container sets a fixed height that forces flex-child buttons
   to stretch, collapsing their padding. Fix both the container and the button.
   Scoped to non-edit mode so the Squarespace editor UI isn't broken. */
body:not(.sqs-is-page-editing) .sqs-block-button-container.sqs-stretched {
  height: auto !important;
}
body:not(.sqs-is-page-editing) .sqs-block-button-element--small.sqs-block-button-element,
body:not(.sqs-is-page-editing) .sqs-block-button-element--medium.sqs-block-button-element,
body:not(.sqs-is-page-editing) .sqs-block-button-element--large.sqs-block-button-element {
  padding: 18px 40px !important;
  padding-block: 18px !important;
  padding-inline: 40px !important;
  height: auto !important;
}

/* Vertically center button blocks within their Fluid Engine grid cells.
   When a button shares a grid row with a taller neighbor (e.g. a text link),
   the button should be vertically centered rather than top-aligned. */
body:not(.sqs-is-page-editing) .fe-block .sqs-block-button {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
}
body:not(.sqs-is-page-editing) .fe-block .sqs-block-button > .sqs-block-content {
  flex: 0 0 auto !important;
}

/* Header CTA — uses #header to beat SK specificity */
#header .header-actions .btn {
  border-radius: 2px !important;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}
#header .header-actions .btn:hover {
  background-color: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
  transform: scale(1.03) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* ============================================================================
   3. GLOBAL LINK ARROW STYLE
   ============================================================================
   Adds a small arrow icon after links inside small text (<p.sqsrte-small> <a>).
   Uses an inline image as a pseudo-element.
   ============================================================================ */

/* Link base — inline-flex layout with gap for arrow spacing */
p.sqsrte-small a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 18px; /* controls space between text and arrow */
  text-decoration: none !important;
  color: inherit !important;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: background-size 0.3s ease;
}

/* Underline expands left-to-right on hover */
p.sqsrte-small a:hover {
  background-size: 100% 1px;
}

/* Arrow icon — appended after link text, inherits text color */
p.sqsrte-small a::after {
  content: "→";
  font-size: 0.85em;
  color: inherit;
  transition: translate 0.2s ease;
}

/* Nudge arrow right on hover */
p.sqsrte-small a:hover::after {
  translate: 4px 0;
}

/* Arrow hover transition for buttons and links with → in their text.
   JS wraps the → character in <span class="btn-arrow"> so we can animate it. */
.btn-arrow {
  display: inline-block;
  transition: translate 0.2s ease;
}
a:hover .btn-arrow {
  translate: 4px 0;
}

/* ============================================================================
   4. HERO SECTION
   Section ID: 69667a067a2cfb7b58a7073c
   ============================================================================
   Hero typography and button styles matching Figma specs.
   - H1: Instrument Serif 150px (handled globally above)
   - Subtext: Inter Light 20px/32px
   - Buttons: Mono45 Headline, pill style (35px radius)
   ============================================================================ */

/* --- 4a. Hero Subtext — Inter Light 20px/32px --- */
#home-hero p:not(.sqsrte-small) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(16px, 1.04vw, 20px) !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  color: #f2f0e4 !important;
}

/* --- 4b. Hero Buttons — Pill Style (35px radius) --- */
#home-hero .sqs-button-element--primary,
#home-hero .sqs-button-element--secondary {
  font-family: "mono45-headline", monospace !important;
  font-weight: 300 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  border-radius: 35px !important;
  padding: 17px 40px !important;
  color: #f2f0e4 !important;
  transition: all 0.3s ease !important;
}

/* Primary button — filled green */
#home-hero .sqs-button-element--primary {
  background-color: #2c332d !important;
  border: none !important;
}

#home-hero .sqs-button-element--primary:hover {
  background-color: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
  transform: scale(1.03) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* Secondary button — outline only */
#home-hero .sqs-button-element--secondary {
  background-color: transparent !important;
  border: 1px solid rgba(234, 233, 222, 0.3) !important;
}

#home-hero .sqs-button-element--secondary:hover {
  background-color: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
  transform: scale(1.03) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* --- 4c. Hero Mobile Responsive --- */
@media only screen and (max-width: 767px) {
  /* Shorter hero on mobile (100vh feels too tall, esp. with iOS address bar).
     Applies to homepage hero, coaching page hero, AND community page hero
     (all use the same mobile hero treatment). */
  #home-hero,
  body #home-hero.page-section,
  section[data-section-id="698e3e7004ea8759cbe1a7da"],
  body section[data-section-id="698e3e7004ea8759cbe1a7da"].page-section,
  section[data-section-id="69a0aeb432c8a8380ca214a3"],
  body section[data-section-id="69a0aeb432c8a8380ca214a3"].page-section {
    height: 80vh !important;
    min-height: 80vh !important;
    max-height: 80vh !important;
  }

  #home-hero p:not(.sqsrte-small),
  section[data-section-id="698e3e7004ea8759cbe1a7da"] p:not(.sqsrte-small),
  section[data-section-id="69a0aeb432c8a8380ca214a3"] p:not(.sqsrte-small) {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  #home-hero .sqs-button-element--primary,
  #home-hero .sqs-button-element--secondary,
  section[data-section-id="698e3e7004ea8759cbe1a7da"] .sqs-button-element--primary,
  section[data-section-id="698e3e7004ea8759cbe1a7da"] .sqs-button-element--secondary,
  section[data-section-id="69a0aeb432c8a8380ca214a3"] .sqs-button-element--primary,
  section[data-section-id="69a0aeb432c8a8380ca214a3"] .sqs-button-element--secondary {
    padding: 14px 28px !important;
    width: 100% !important;
    justify-content: center !important;
  }

  /* Community hero H1 "The Community" — match coaching hero H1 (80px).
     Doubled block ID outranks Squarespace's own block-level heading-size
     rule (same ID + !important, injected later in the cascade). */
  #block-2977137322126a0272d0#block-2977137322126a0272d0 h1,
  #block-2977137322126a0272d0#block-2977137322126a0272d0 h1 span[class^="sqsrte-text-color"] {
    font-size: 80px !important;
    line-height: 0.99 !important;
    letter-spacing: -0.06em !important;
  }

  /* Homepage hero H1 "For the human within the filmmaker" — bigger on
     mobile to match Figma mock. text-wrap: balance keeps the title
     breaking cleanly on 2 lines instead of orphaning a word on line 3.
     Squarespace's per-block heading rule has !important so we match
     its specificity with the section scope. */
  #home-hero h1,
  #home-hero h1 span,
  #home-hero h1 [class^="sqsrte-text-color"] {
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    text-wrap: balance !important;
  }

  /* Shift the hero text stack (H1 + subhead + buttons) slightly up on
     mobile so it sits a touch above center and clears the crane below.
     -6vh keeps the title near the vertical center of the section
     (was -14vh — too aggressive). Logo, menu icon, photo credit,
     scroll indicator, and EST 2022 stamp stay where they are. */
  #home-hero .fluid-engine > .fe-block:has(h1),
  #home-hero .fluid-engine > .fe-block:has(p:not(.sqsrte-small)),
  #home-hero .fluid-engine > .fe-block:has(.sqs-block-button) {
    transform: translateY(-6vh) !important;
  }

}

/* ============================================================================
   HERO HEADER → SUBHEADER SPACING STANDARD
   ============================================================================
   Every hero section on the site that uses the 'big H1 + small mono
   subtitle label' pattern should have the same 9.8px gap between
   them (the coaching hero set the original baseline — Squarespace's
   default heading spacing).

   Squarespace's per-block editor adds its own margins on some pages,
   so this rule resets them to the standard: H1 margin-bottom 9.8px,
   subtitle margin-top 0.

   Covers:
   - Coaching hero           (698e3e7004ea8759cbe1a7da)
   - Community hero          (69a0aeb432c8a8380ca214a3)
   - Podcast hero            (69b9adb42d4eb34c26891896)
   - Resources hero          (69ae4ab4895a973f3317b67c)
   - About hero              (69a0e9da51f97459bd032035)
   - Every coach profile hero (#coach-hero anchor — Jon, Paige, etc.)
   ============================================================================ */
/* #page prefix adds an ID to the selector so we beat Squarespace's
   block-level heading-margin rules that use #block-X h1 (0,1,0,1).
   Ours becomes (0,1,1,2) — wins on specificity tiebreak. */
#page section[data-section-id="698e3e7004ea8759cbe1a7da"] h1,
#page section[data-section-id="69a0aeb432c8a8380ca214a3"] h1,
#page section[data-section-id="69b9adb42d4eb34c26891896"] h1,
#page section[data-section-id="69ae4ab4895a973f3317b67c"] h1,
#page section[data-section-id="69a0e9da51f97459bd032035"] h1,
#page #coach-hero h1 {
  margin-bottom: 9.8px !important;
}
#page section[data-section-id="698e3e7004ea8759cbe1a7da"] p.sqsrte-small,
#page section[data-section-id="69a0aeb432c8a8380ca214a3"] p.sqsrte-small,
#page section[data-section-id="69b9adb42d4eb34c26891896"] p.sqsrte-small,
#page section[data-section-id="69ae4ab4895a973f3317b67c"] p.sqsrte-small,
#page section[data-section-id="69a0e9da51f97459bd032035"] p.sqsrte-small,
#page #coach-hero p.sqsrte-small {
  margin-top: 0 !important;
}

/* ============================================================================
   4d. HERO — BOTTOM BAR
   ============================================================================
   "EST. 2022 | SCROLL | ACCESSIBLE EXPERTISE" bar at bottom of hero.
   HTML is injected by custom.js into the first page section.
   ============================================================================ */

/* Bar container — pinned to bottom of hero section */
.bottom-bar {
  position: absolute;
  bottom: 20px;
  left: 40px;
  right: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "mono45-headline", monospace !important;
  font-size: 8.5px;
  font-weight: 400 !important;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #F2F0E4;
  z-index: 10;
}

/* Text style inside bar — match the subtext under page headings */
.bottom-bar .sqsrte-small {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 7.5px !important;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #F2F0E4 !important;
}

/* Three-column layout */
.bottom-bar__left,
.bottom-bar__center,
.bottom-bar__right {
  flex: 1;
}
.bottom-bar__left {
  text-align: left;
}
.bottom-bar__center {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  line-height: 1.4;
}
.bottom-bar__right {
  text-align: right;
}

/* Scroll button — clickable, subtle zoom on hover */
.bottom-bar__scroll-btn {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  transition: transform 0.3s ease;
}
.bottom-bar__scroll-btn:hover {
  transform: scale(1.15);
}
.bottom-bar__scroll-btn .sqsrte-small,
.bottom-bar__scroll-btn .arrow {
  color: #F2F0E4 !important;
}

/* Bouncing arrow */
.bottom-bar__center .arrow {
  font-size: 6px;
  color: #F2F0E4;
  display: inline-block;
  animation: subtleBounce 2s ease-in-out infinite;
}
@keyframes subtleBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(3px); }
}

/* Mobile adjustments — Scroll locked dead center; side columns stack
   label above value vertically. */
@media (max-width: 768px) {
  .bottom-bar {
    left: 20px;
    right: 20px;
    bottom: 18px;
    font-size: 7px;
    letter-spacing: 1.4px;
    align-items: flex-end;
  }
  .bottom-bar .sqsrte-small {
    font-size: 7px !important;
    letter-spacing: 1.4px !important;
    line-height: 1.4 !important;
  }

  /* Stack label/value vertically on mobile */
  .bottom-bar__left .bb-label,
  .bottom-bar__left .bb-value,
  .bottom-bar__right .bb-label,
  .bottom-bar__right .bb-value {
    display: block;
    white-space: nowrap;
  }

  /* Pin Scroll to absolute horizontal center so side column text
     lengths can't push it off-center. Keep Scroll + arrow stacked. */
  .bottom-bar__center {
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    flex: 0 0 auto !important;
    width: auto !important;
  }
  .bottom-bar__center,
  .bottom-bar__scroll-btn {
    flex-direction: column !important;
    gap: 3px !important;
    align-items: center !important;
  }
  .bottom-bar__center .arrow {
    font-size: 6px;
  }
}
@media (max-width: 480px) {
  .bottom-bar {
    left: 14px;
    right: 14px;
    bottom: 14px;
    font-size: 6px;
    letter-spacing: 0.8px;
  }
  .bottom-bar .sqsrte-small {
    font-size: 6px !important;
    letter-spacing: 0.8px !important;
  }
  .bottom-bar__center .arrow {
    font-size: 5px;
  }
}

/* ============================================================================
   5. INTRO & PHILOSOPHY SECTION
   Section ID: 69668135671d3c6104a715bd
   ============================================================================
   Contains: Section labels, H2 heading, italic tagline, body text,
   "About" button, and value cards grid.

   Typography specs from Figma:
   - Labels: Mono45 Headline 16px/21px, 2.4px spacing, #aa9069
   - H2: Instrument Serif 96px/96px, -6px spacing, #f2f0e4
   - Tagline: Instrument Serif Italic 48px/48px, -1.92px spacing, #aa9069
   - Body: Inter Light 18px/28px, #f2f0e4
   - Card headings: Instrument Serif 48px/47px, -1px spacing, #f2f0e4
   - Card body: Inter Regular 14px/22.75px, #9ca3af
   ============================================================================ */

/* --- 5a. Section Labels (THE PHILOSOPHY, OUR VALUES) --- */
#home-intro .sqsrte-small,
#home-intro p.sqsrte-small {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: clamp(12px, 0.83vw, 16px) !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* --- 5b. H2 Heading — Instrument Serif 96px --- */
#home-intro h2 {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(31px, 4.25vw, 82px) !important;
  line-height: 1 !important;
  letter-spacing: -0.0625em !important;
  color: #f2f0e4 !important;
}

/* --- 5c. Italic Tagline (H3) — Instrument Serif Italic 48px --- */
#home-intro h3,
#home-intro .sqs-block-html em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(24px, 2.5vw, 48px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  color: #aa9069 !important;
}

/* --- 5d. Body Text — Inter Light 18px/28px --- */
#home-intro p:not(.sqsrte-small) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(15px, 0.9375vw, 18px) !important;
  line-height: 1.556 !important;
  letter-spacing: 0 !important;
  color: #f2f0e4 !important;
}

/* --- 5e. About Button — Pill with border --- */
#home-intro .sqs-button-element--tertiary,
#home-intro .sqs-block-button-element {
  font-family: "mono45-headline", monospace !important;
  font-weight: 300 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #d5ccb7 !important;
  background: transparent !important;
  border: 1px solid #d5ccb7 !important;
  border-radius: 9999px !important;
  padding: 6px 24px !important;
  transition: all 0.3s ease !important;
}

#home-intro .sqs-button-element--tertiary:hover,
#home-intro .sqs-block-button-element:hover {
  background: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
  transform: scale(1.03) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* --- 5f. Value Cards Container --- */
#home-intro .user-items-list-simple {
  gap: 24px !important;
}

/* --- 5g. Value Card Styling --- */
#home-intro .list-item {
  background-color: #2c332d !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-radius: 24px !important;
  padding: 33px !important;
  overflow: hidden !important;
}

/* Card pill tags (bold text becomes pill) */
#home-intro .list-item p strong,
#home-intro .list-item-content__description strong {
  display: inline-block !important;
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: clamp(12px, 0.83vw, 16px) !important;
  line-height: 21px !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #d5ccb7 !important;
  background: rgba(26, 28, 27, 0.5) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 9999px !important;
  padding: 7px 13px !important;
}

/* Card headings — Instrument Serif 48px */
/* Override global H2 rule for cards specifically */
#home-intro .list-item h2,
#home-intro .list-item-content__title,
#home-intro .list-item h3,
#home-intro .sqs-block-html .list-item h2 {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: 41px !important;
  line-height: 0.98 !important;
  letter-spacing: -1px !important;
  color: #f2f0e4 !important;
  font-style: normal !important;
}

/* Card body text — Inter Regular 14px */
#home-intro .list-item-content__description p,
#home-intro .list-item p:not(:has(strong)) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(12px, 0.73vw, 14px) !important;
  line-height: 1.625 !important;
  letter-spacing: 0 !important;
  color: #9ca3af !important;
  border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding-left: 16px !important;
  margin-top: 16px !important;
}

/* --- 5h. Mobile Responsive --- */
@media only screen and (max-width: 767px) {
  /* Labels */
  #home-intro .sqsrte-small {
    font-size: 12px !important;
  }

  /* H2 */
  #home-intro h2 {
    font-size: 44px !important;
    line-height: 1 !important;
    letter-spacing: -2px !important;
  }

  /* Tagline */
  #home-intro h3,
  #home-intro .sqs-block-html em {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  /* Body */
  #home-intro p:not(.sqsrte-small) {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* Cards */
  #home-intro .list-item {
    padding: 24px !important;
    border-radius: 16px !important;
  }

  /* Card headings */
  #home-intro .list-item h2,
  #home-intro .list-item-content__title,
  #home-intro .list-item h3 {
    font-size: 32px !important;
    line-height: 1 !important;
    letter-spacing: -0.5px !important;
  }

  /* Card pills */
  #home-intro .list-item p strong {
    font-size: 12px !important;
    padding: 5px 10px !important;
  }
}

/* ============================================================================
   SHARED CARD STYLE — Bottom-anchored text + tighter h2 spacing
   Applies to all methodology/values card sections site-wide:
   - Homepage Our Values (69668d3d585f061f46f1c331)
   - Coach profile principles (69a0a5413ecef20e36120b10)
   - Community page cards (69a0b0cf3958b4345a2ed4f4)
   - Coaching page cards (69b99fa6c236bf320896ede1)
   All are Fluid Engine sections with single text blocks per card.
   ============================================================================ */

/* Bottom-anchor styles are guarded so they ONLY apply on the public site.
   In edit mode Fluid Engine has full control over block sizing/positioning. */
body:not(.sqs-is-page-editing) #home-values .sqs-block-content,
body:not(.sqs-is-page-editing) #home-values .sqs-text-block-container,
body:not(.sqs-is-page-editing) #coach-principles .sqs-block-content,
body:not(.sqs-is-page-editing) #coach-principles .sqs-text-block-container,
body:not(.sqs-is-page-editing) section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-content,
body:not(.sqs-is-page-editing) section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-text-block-container,
body:not(.sqs-is-page-editing) section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-content,
body:not(.sqs-is-page-editing) section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-text-block-container {
  height: 100% !important;
}

body:not(.sqs-is-page-editing) #home-values .sqs-html-content,
body:not(.sqs-is-page-editing) #coach-principles .sqs-html-content,
body:not(.sqs-is-page-editing) section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-html-content,
body:not(.sqs-is-page-editing) section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-html-content {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

body:not(.sqs-is-page-editing) #home-values .sqs-html-content h2,
body:not(.sqs-is-page-editing) #coach-principles .sqs-html-content h2,
body:not(.sqs-is-page-editing) section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-html-content h2,
body:not(.sqs-is-page-editing) section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-html-content h2 {
  margin-top: auto !important;
  margin-bottom: 0.35em !important;
}

/* Hide empty spacer <p> tags (safe in both modes) */
#home-values .sqs-html-content p:empty,
#coach-principles .sqs-html-content p:empty,
section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-html-content p:empty,
section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-html-content p:empty {
  display: none !important;
}

/* ============================================================================
   6. METHODOLOGY CARDS SECTION
   Section ID: 69668d3d585f061f46f1c331
   ============================================================================
   Contains: section label, card headings, body text, pill tags, corner icons.

   Typography specs from Figma:
   - Section label: Mono45 Headline 16px/21px, 2.4px spacing, #aa9069
   - Card headings: Instrument Serif 48px/47px, -1px spacing, #f2f0e4
   - Card body: Inter Regular 14px, #9ca3af
   ============================================================================ */

/* Card layout (flex column + bottom anchor) is now in the shared card
   style block above. Old .sqs-row .sqs-col selectors removed — this
   section uses Fluid Engine, not Classic Editor. */

/* --- 6a. Section Label (OUR VALUES) — Mono45 Headline 16px --- */
/* High specificity selector to override Squarespace SK-preset and block ID rules */
#home-values .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
#home-values .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* --- 6b. Card Headings — Instrument Serif 48px --- */
/* Higher specificity to override global .sqs-block-html h2:not(._):not(._):not(._) rule */
#home-values h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: 41px !important;
  line-height: 0.98 !important;
  letter-spacing: -1px !important;
  color: #f2f0e4 !important;
  font-style: normal !important;
}

/* --- 6c. Card Body Text --- */
#home-values .sqs-block-content p:not(:has(strong)) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.625 !important;
  letter-spacing: 0 !important;
  color: #9ca3af !important;
}

/* --- 6d. Pill Tag Style --- */
/* Turns bold text (<strong>) into small pill-shaped labels */
#home-values p strong {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D4B483;
  background: #222824;
  font-weight: 500;
  line-height: 1;
  transition: all 0.3s ease;
}

/* --- 6d2. Value Pill Links (01—Wellness, 02—Purpose, 03—Connection) --- */
/* Strip global link arrow + underline from these links */
#home-values p.sqsrte-small a {
  background-image: none !important;
  background-size: 0 !important;
  gap: 0 !important;
}

#home-values p.sqsrte-small a::after {
  display: none !important;
}

#home-values p.sqsrte-small a:hover {
  background-image: none !important;
  background-size: 0 !important;
}

/* Hover on the pill itself (the <strong> inside the link) */
#home-values p.sqsrte-small a:hover strong {
  background: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
}

/* --- 6e. Decorative Corner Icons --- */
/* Each card block gets a small icon in the top-right corner via ::after */

/* Icon 1 */
#block-yui_3_17_2_1_1768323379284_31548 {
  position: relative;
}
#block-yui_3_17_2_1_1768323379284_31548::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 18px;
  height: 18px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/6966d4d8a2fe070f163333fe/1768346840155/Vector+%284%29.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* Icon 2 */
#block-5f2dda6a514d78742475 {
  position: relative;
}
#block-5f2dda6a514d78742475::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 18px;
  height: 18px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/6966d51a1aa5d609fa388d0c/1768346906104/Vector+%285%29.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* Icon 3 */
#block-00612b7f560a873ee422 {
  position: relative;
}
#block-00612b7f560a873ee422::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 18px;
  height: 18px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/6966d549cbdac634d1d2b1c2/1768346953606/Vector+%286%29.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* --- 6f. Mobile Responsive --- Unified across ALL card sections */
@media only screen and (max-width: 767px) {
  /* Add top + bottom padding to card sections so the section label
     isn't flush against the top of the background image AND so the
     cards don't bleed into the section above (e.g. the community
     gallery's arrows). */
  #home-values,
  section[data-section-id="69b99fa6c236bf320896ede1"],
  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* Section label — larger on mobile for readability (applies to all card sections) */
  #home-values .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
  #home-values .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span,
  #coach-principles .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
  #coach-principles .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span,
  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span,
  section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
  section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span {
    font-size: 16px !important;
  }

  /* Card headings — larger, consistent across all card sections */
  #home-values h2:not(._):not(._):not(._):not(._),
  #coach-principles h2:not(._):not(._):not(._):not(._),
  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] h2:not(._):not(._):not(._):not(._),
  section[data-section-id="69b99fa6c236bf320896ede1"] h2:not(._):not(._):not(._):not(._) {
    font-size: 38px !important;
    line-height: 1 !important;
    letter-spacing: -0.5px !important;
  }

  /* Card body text — consistent across all card sections */
  #home-values .sqs-block-content p:not(:has(strong)),
  #coach-principles .sqs-block-content p:not(:has(strong)):not(.sqsrte-small),
  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-content p:not(:has(strong)):not(.sqsrte-small),
  section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-content p:not(:has(strong)) {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  /* Pill tags — slightly larger to match consistent look */
  #home-values p strong,
  #coach-principles p strong,
  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] p strong,
  section[data-section-id="69b99fa6c236bf320896ede1"] p strong {
    padding: 6px 12px !important;
    font-size: 12px !important;
  }
}

/* ============================================================================
   COACHING PAGE CARDS — identical typography to Homepage Our Values
   Section ID: 69b99fa6c236bf320896ede1
   ============================================================================
   Label + pill styles apply on all viewports (identical to home-values).
   Only the rules that DIFFER between mobile and desktop (h2 41→38px,
   body line-height 1.625→1.55) are wrapped in min-width so the mobile
   overrides from the shared mobile block above can win the cascade. */

/* Section label — Mono45 Headline 16px, warm tan color (all viewports) */
section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* Card body text — Inter, muted gray (font-size only; line-height differs
   between desktop/mobile and is handled below + in the shared mobile block) */
section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-content p:not(:has(strong)) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  color: #9ca3af !important;
}

/* Pill tags — full pill visual (all viewports).
   Matches homepage Our Values pill exactly: mono font, uppercase, dark
   fill, hairline cream border, pill radius, tan text. */
section[data-section-id="69b99fa6c236bf320896ede1"] p strong {
  display: inline-block !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 999px !important;
  font-family: "mono45-headline", monospace !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #D4B483 !important;
  background: #222824 !important;
}

/* Desktop-only type sizing (h2 41px / body line-height 1.625). Mobile
   overrides (h2 38px / body 1.55) come from the shared mobile block
   above in this file. */
@media only screen and (min-width: 768px) {
  /* Card headings — Instrument Serif 41px */
  section[data-section-id="69b99fa6c236bf320896ede1"] h2:not(._):not(._):not(._):not(._) {
    font-family: 'Instrument Serif', serif !important;
    font-weight: 400 !important;
    font-size: 41px !important;
    line-height: 0.98 !important;
    letter-spacing: -1px !important;
    color: #f2f0e4 !important;
    font-style: normal !important;
  }

  /* Card body line-height — 1.625 on desktop */
  section[data-section-id="69b99fa6c236bf320896ede1"] .sqs-block-content p:not(:has(strong)) {
    line-height: 1.625 !important;
  }
}

/* ============================================================================
   COACHING PAGE — THINK-TANK SECTION (mobile centering + heading bump)
   Section ID: 698e4ebb6f313a0b9d5f88e4
   ============================================================================
   Mobile-only fixes for the "Our collective think-tank..." section.

   Problem 1 — off-center: Squarespace's mobile Fluid Engine layout for this
   section uses `grid-template-columns: 0px × 10` with `column-gap: 47px`,
   which produces a 47px/14px asymmetric inset. Override with a balanced
   grid that mirrors Our Values / Our Coaches on mobile (12.4px gutter
   cols + 8 × 1fr content cols + 11px gaps).

   Problem 2 — H2 too small: global `.sqs-block-html h2` rule resolves to
   6.4vw (≈25px at 390px). Bump to 32px for better section-heading weight. */
@media only screen and (max-width: 767px) {
  /* Fluid Engine grid fix — three sections share the same Squarespace
     broken mobile grid (0px columns + large column-gap → asymmetric
     inset):
     - coaching think-tank (698e4ebb…)
     - community 'A private space…' (69a0af63…)
     - community 'Built by filmmakers for filmmakers' (69a0b1ed…)
     Override all three with a balanced grid so content centers. */
  section[data-section-id="698e4ebb6f313a0b9d5f88e4"] .fluid-engine,
  section[data-section-id="69a0af632586eb60c38882d8"] .fluid-engine,
  section[data-section-id="69a0b1ed1ee91703896e36ef"] .fluid-engine {
    grid-template-columns: 12.3984px repeat(8, 1fr) 12.3984px !important;
    column-gap: 11px !important;
  }

  /* H2 size also extended to the community page sections so both
     'A private space…' and 'Built by filmmakers for filmmakers'
     read at the same quiet 32px weight as the coaching think-tank
     headline. */
  section[data-section-id="698e4ebb6f313a0b9d5f88e4"] h2:not(._):not(._):not(._):not(._),
  section[data-section-id="69a0af632586eb60c38882d8"] h2:not(._):not(._):not(._):not(._),
  section[data-section-id="69a0b1ed1ee91703896e36ef"] h2:not(._):not(._):not(._):not(._) {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.5px !important;
  }

  /* Community FAQ section (69a0b244…):
     - H2 'No such thing as a bad question.' — section header weight
       (44px, matches 'Prefer to grow in a group?' + 'Filmmaking
       isn't just…') so it reads as the intro to the Q&A.
     - Each question H3 — 32px, matches 'Built by filmmakers for
       filmmakers' + 'A private space…' so the FAQ body aligns with
       the rest of the page rhythm. */
  section[data-section-id="69a0b244bf155e6efdb96244"] h2:not(._):not(._):not(._):not(._) {
    font-size: 44px !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
  }

  /* Prefixing with #page (the <main> ID on every Squarespace page)
     gives us an ID in the selector so we can beat Squarespace's
     block-level `#block-X h3 !important * 1.75` rule on specificity
     tiebreak (attrs beat nothing when IDs are equal). */
  #page section[data-section-id="69a0b244bf155e6efdb96244"] h3,
  #page section[data-section-id="69a0b244bf155e6efdb96244"] h3 span[class^="sqsrte-text-color"] {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.5px !important;
  }
}

/* ============================================================================
   FLUID ENGINE GRID FIX — TABLET RANGE (768–1199px)
   ============================================================================
   Squarespace's generated per-section grid CSS for these four sections
   sets every `grid-template-columns` cell to `0px` at viewports below
   ~1200px, while keeping a 47px `column-gap`. Blocks authored against
   the 24-column desktop grid (e.g. `grid-column: 5/14`) then get
   pushed far to the right — right-hand blocks start at x ≈ 600+px
   regardless of viewport, so the right paragraph overflows the
   viewport by 87–134px between 768px and 1199px.

   Fix: give the grid real column widths in the same 24-column shape
   Squarespace authored against, with an 11px gap in place of 47px.
   Block `grid-column` values then resolve to their intended proportions
   and the 2-up layout (h2 full-width + left/right paragraphs) stays
   intact — just responsive. Leaves mobile (≤767px) and desktop
   (≥1200px) untouched.

   Sections covered:
     - 698e4ebb6f313a0b9d5f88e4 — /coaching 'Our collective think-tank…'
     - 69a0af632586eb60c38882d8 — /community 'A private space…'
     - 69a0b1ed1ee91703896e36ef — /community 'Built by filmmakers…'
     - #coach-approach          — coach profile '[Name] understands…'
   ============================================================================ */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  section[data-section-id="698e4ebb6f313a0b9d5f88e4"] .fluid-engine,
  section[data-section-id="69a0af632586eb60c38882d8"] .fluid-engine,
  section[data-section-id="69a0b1ed1ee91703896e36ef"] .fluid-engine,
  #coach-approach .fluid-engine {
    grid-template-columns:
      minmax(24px, 1fr)
      repeat(24, minmax(0, 1fr))
      minmax(24px, 1fr) !important;
    column-gap: 11px !important;
  }
}

/* ============================================================================
   #coach-cta BUTTONS — CONTAIN WITHIN PARENT BLOCK AT ≤1199px
   ============================================================================
   The coach-cta 'Let's Build Something True' section has two buttons
   side-by-side (Book a Discovery call + Email Jon Directly). Each one
   lives in a narrow grid-block (grid-column: 9/14 etc.). At desktop
   (≥1200px) the block is wide enough for the button text + 18/40 pad,
   but below 1200px the grid block shrinks faster than the button
   content, so the button expands past its block by up to 88px,
   creating a visible pill bleed-over outside the intended layout box.

   Fix: constrain buttons to their parent block width and allow the
   label to balance-wrap onto two lines if needed.
   ============================================================================ */
@media only screen and (max-width: 1199px) {
  #coach-cta .sqs-block-button-element,
  #coach-cta a.sqs-block-button-element,
  #coach-cta a.sqs-button-element--primary,
  #coach-cta a.sqs-button-element--secondary,
  #coach-cta a.sqs-button-element--tertiary {
    max-width: 100% !important;
    width: 100% !important;
    white-space: normal !important;
    text-wrap: balance !important;
    box-sizing: border-box !important;
  }
}

/* ============================================================================
   7. MEET YOUR COACHES SECTION
   Section ID: 69668f13a177756eba2655c3
   ============================================================================
   Typography specs from Figma:
   - Section label: Mono45 Headline 16px/21px, 2.4px spacing, #d5ccb7, centered
   - Coach names: Instrument Serif 150px, outlined text (stroke, no fill)
   - Hover: names fill to cream, specialty fills to cream
   - Specialty: Mono45 Headline 16px, 2.4px spacing, #5f6158
   ============================================================================ */

/* --- 7a. Section Label (MEET YOUR COACHES) — Mono45 Headline 16px --- */
#home-coaches .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
#home-coaches .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

/* --- 7b. Coach Names (H2) — Instrument Serif, Outlined Text --- */
#home-coaches h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(51px, 6.6vw, 128px) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  /* Outlined text effect — use text-fill-color for reliable transparency */
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  -webkit-text-stroke: 1px #f2f0e3 !important;
  text-stroke: 1px #f2f0e3 !important;
  transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease, -webkit-text-stroke 0.3s ease !important;
}

/* Coach name links — remove underline */
#home-coaches h2 a {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  -webkit-text-stroke: inherit !important;
  text-decoration: none !important;
}

/* --- 7c. Specialty Text (p.sqsrte-small after h2) — Mono45 Headline, muted --- */
/* The specialty text has class sqsrte-small and contains a span with the color */
#home-coaches h2 + p.sqsrte-small:not(._):not(._):not(._),
#home-coaches h2 + p.sqsrte-small:not(._):not(._):not(._) span,
#home-coaches h2 + p.sqsrte-small:not(._):not(._):not(._) span[class^="sqsrte-text-color"] {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #5f6158 !important;
  transition: color 0.3s ease !important;
}

/* --- 7d. Cursor + Link Overrides --- */
/* Pointer cursor on all coach tiles */
#home-coaches .sqs-html-content {
  cursor: pointer !important;
}

/* Remove global link arrow and underline from specialty text links */
#home-coaches p.sqsrte-small a {
  background-image: none !important;
  background-size: 0 !important;
  gap: 0 !important;
}
#home-coaches p.sqsrte-small a::after {
  content: none !important;
}

/* --- 7e. Hover State — Fill names and specialty text to cream --- */
/* Note: Must match specificity of base h2 rule (uses :not(._) chain) */
#home-coaches .sqs-html-content:hover h2:not(._):not(._):not(._):not(._),
#home-coaches .sqs-html-content:hover h2:not(._):not(._):not(._):not(._) a {
  color: #f2f0e3 !important;
  -webkit-text-fill-color: #f2f0e3 !important;
  -webkit-text-stroke: 1px #f2f0e3 !important;
}

#home-coaches .sqs-html-content:hover h2 + p.sqsrte-small:not(._):not(._):not(._),
#home-coaches .sqs-html-content:hover h2 + p.sqsrte-small:not(._):not(._):not(._) span,
#home-coaches .sqs-html-content:hover h2 + p.sqsrte-small:not(._):not(._):not(._) span[class^="sqsrte-text-color"] {
  color: #f2f0e3 !important;
}

/* --- 7e. Mobile Responsive --- */
@media only screen and (max-width: 767px) {
  /* Section label */
  #home-coaches .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) {
    font-size: 14px !important;
  }

  /* Coach names — larger on mobile */
  #home-coaches h2:not(._):not(._):not(._):not(._) {
    font-size: 58px !important;
    line-height: 1 !important;
  }

  /* Specialty text */
  #home-coaches h2 + p.sqsrte-small,
  #home-coaches h2 + p.sqsrte-small span {
    font-size: 12px !important;
    letter-spacing: 2px !important;
  }

  /* Add spacing between each coach tile (name + specialty) */
  #home-coaches .fe-block {
    margin-bottom: 32px !important;
  }
  #home-coaches .sqs-html-content {
    padding: 8px 0 !important;
  }
}

/* ============================================================================
   8. STRUCTURED FOR BREAKTHROUGHS SECTION
   Section ID: 696690cd6197c756c02c2a26
   Block ID: yui_3_17_2_1_1768323379284_521388
   ============================================================================
   Typography specs from Figma:
   - Section label: Mono45 Headline 16px, #aa9069, uppercase, 2.4px spacing
   - H2 "Structured for": Instrument Serif 72px, #1a1c1b
   - H2 "breakthroughs": Instrument Serif 72px italic, #687269
   - Body: Inter 18px, #1a1c1b
   - CTA: Mono45 Headline 16px, #1a1c1b, uppercase
   ============================================================================ */

/* --- 8a. Section Label ("HERE TO HELP") --- */
#home-breakthroughs p.sqsrte-small:first-of-type:not(._):not(._):not(._),
#home-breakthroughs p.sqsrte-small:first-of-type:not(._):not(._):not(._) span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* --- 8b. H2 Heading Base Styles --- */
#home-breakthroughs h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(41px, 4.25vw, 61px) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  color: #1a1c1b !important;
  position: relative;
}

/* "Structured for" — dark color */
#home-breakthroughs h2 span:first-child {
  color: #1a1c1b !important;
  font-style: normal !important;
}

/* "breakthroughs" — muted green italic */
#home-breakthroughs h2 span:last-child {
  color: #687269 !important;
  font-style: italic !important;
}

/* Short 48px line beneath the h2 */
#home-breakthroughs h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  background-color: #1a1c1b;
  margin-top: 24px;
}

/* --- 8c. Body Text --- */
#home-breakthroughs p:not(.sqsrte-small):not(._):not(._):not(._) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1.556 !important;
  color: #1a1c1b !important;
}

/* --- 8d. CTA Link --- */
#home-breakthroughs p.sqsrte-small:last-of-type a,
#home-breakthroughs p.sqsrte-small:last-of-type span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #1a1c1b !important;
  text-decoration: none !important;
}

#home-breakthroughs p.sqsrte-small:last-of-type a:hover {
  opacity: 0.7;
}

/* ============================================================================
   COMMUNITY PAGE — "COME SAY HI / FIND YOUR CREW" SECTION
   Section ID: 69b9b193220ec71cb722ba3c
   ============================================================================
   Mirrors homepage #home-breakthroughs ("Here to help / Structured for
   breakthroughs"): same section label, same two-tone H2 with italic
   second span + 48px underline, same CTA treatment.
   ============================================================================ */

/* Section label "COME SAY HI" */
section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:first-of-type:not(._):not(._):not(._),
section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:first-of-type:not(._):not(._):not(._) span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* H2 base ("Find" + "Your Crew") */
section[data-section-id="69b9b193220ec71cb722ba3c"] h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(41px, 4.25vw, 61px) !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  color: #1a1c1b !important;
  position: relative;
}

/* First span — "Find" — dark, upright */
section[data-section-id="69b9b193220ec71cb722ba3c"] h2 span:first-child {
  color: #1a1c1b !important;
  font-style: normal !important;
}

/* Second span — "Your Crew" — muted green italic (matches "breakthroughs") */
section[data-section-id="69b9b193220ec71cb722ba3c"] h2 span:last-child {
  color: #687269 !important;
  font-style: italic !important;
}

/* 48px underline beneath the H2 */
section[data-section-id="69b9b193220ec71cb722ba3c"] h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  background-color: #1a1c1b;
  margin-top: 24px;
}

/* Body text */
section[data-section-id="69b9b193220ec71cb722ba3c"] p:not(.sqsrte-small):not(._):not(._):not(._) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1.556 !important;
  color: #1a1c1b !important;
}

/* CTA link ("COME JOIN US VIA THE COMMUNITY SIGN UP") */
section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:last-of-type a,
section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:last-of-type span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #1a1c1b !important;
  text-decoration: none !important;
}

section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:last-of-type a:hover {
  opacity: 0.7;
}

/* Mobile — matches #home-breakthroughs mobile treatment */
@media only screen and (max-width: 767px) {
  section[data-section-id="69b9b193220ec71cb722ba3c"] h2:not(._):not(._):not(._):not(._),
  section[data-section-id="69b9b193220ec71cb722ba3c"] h2:not(._):not(._):not(._):not(._) span {
    font-size: 44px !important;
    line-height: 1 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:first-of-type {
    font-size: 12px !important;
  }

  section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:last-of-type,
  section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:last-of-type a,
  section[data-section-id="69b9b193220ec71cb722ba3c"] p.sqsrte-small:last-of-type span {
    font-size: 11px !important;
    letter-spacing: 1.6px !important;
    /* Prevent 'UP' from orphaning onto its own line. */
    text-wrap: balance !important;
  }

  section[data-section-id="69b9b193220ec71cb722ba3c"] .sqs-html-content p:not(.sqsrte-small):not(._):not(._):not(._) {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

/* --- 8e. Mobile Responsive --- */
@media only screen and (max-width: 767px) {
  /* H2 matches the "Our art form prides itself on re-invention" size.
     Prevent mid-word breaks like "breakthrou/ghs". */
  #home-breakthroughs h2:not(._):not(._):not(._):not(._),
  #home-breakthroughs h2:not(._):not(._):not(._):not(._) span {
    font-size: 44px !important;
    line-height: 1 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  /* "HERE TO HELP" label stays 12px */
  #home-breakthroughs p.sqsrte-small:first-of-type {
    font-size: 12px !important;
  }

  /* CTA 'Explore our free resources' — smaller to match body text scale */
  #home-breakthroughs p.sqsrte-small:last-of-type,
  #home-breakthroughs p.sqsrte-small:last-of-type a,
  #home-breakthroughs p.sqsrte-small:last-of-type span {
    font-size: 11px !important;
    letter-spacing: 1.6px !important;
    white-space: nowrap !important;
  }

  /* Body text — small to match hero/resources (higher specificity) */
  #home-breakthroughs .sqs-html-content p:not(.sqsrte-small):not(._):not(._):not(._) {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  /* Widen cream background to full section width on mobile.
     Squarespace uses inset background by default; override. */
  #home-breakthroughs,
  #home-breakthroughs .page-section-background,
  #home-breakthroughs .section-background,
  #home-breakthroughs[class*="background-width"] .section-background {
    --content-width: 100% !important;
  }
  #home-breakthroughs .section-background {
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    border-radius: 0 !important;
  }

  /* Reduce vertical padding so section isn't so tall */
  #home-breakthroughs {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    min-height: 0 !important;
  }
  #home-breakthroughs .content-wrapper {
    padding: 16px 20px !important;
  }
  #home-breakthroughs .content {
    padding: 0 !important;
  }

  /* Collapse Fluid Engine's tall empty grid rows. The FE grid on mobile
     creates fixed-height rows even when content only fills part of them,
     leaving dead space at the bottom. Force rows to size to content. */
  #home-breakthroughs .fluid-engine {
    grid-template-rows: auto !important;
    grid-auto-rows: min-content !important;
    row-gap: 12px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Reset each fe-block's mobile grid-row so they flow in content height */
  #home-breakthroughs .fluid-engine .fe-block {
    grid-row: auto !important;
    align-self: start !important;
  }
}

/* ============================================================================
   8.5. SERVICES SECTION (One-on-One Coaching / Join the Community)
   Section ID: 6967bd11e4fab91803c7044b
   ============================================================================
   Block IDs:
   - SERVICE 01 label: yui_3_17_2_1_1768404355301_93172
   - One-on-One Coaching: yui_3_17_2_1_1768404355301_70687
   - SERVICE 02 label: 7a0e916e7f813b575c64
   - Join the Community: 642f64675b8589d1c391

   Typography specs from Figma:
   - Service labels: Pill badge (dark bg + border), Mono45 12px, cream
   - Titles: Instrument Serif ~48px, cream
   - Italic parts: Instrument Serif italic, gold (#aa9069)
   - Description: Inter 14px, cream/light
   ============================================================================ */

/* --- 8.5a. Service Labels (SERVICE 01 / SERVICE 02) — Pill Badge --- */
#home-services p.sqsrte-small strong {
  display: inline-block !important;
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #f2f0e4 !important;
  background: rgba(26, 28, 27, 0.6) !important;
  border: 1px solid rgba(242, 240, 228, 0.2) !important;
  border-radius: 100px !important;
  padding: 6px 16px !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* --- 8.5b. Service Titles (H2) --- */
#home-services h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(31px, 3.4vw, 41px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: #f2f0e4 !important;
  margin-bottom: 14px !important;
}

/* Italic emphasis (Coaching / Community) — gold color */
#home-services h2 em,
#home-services h2 i {
  font-style: italic !important;
  color: #aa9069 !important;
}

/* --- 8.5c. Description Text --- */
#home-services h2 + p,
#home-services .sqs-html-content p:not(.sqsrte-small) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: rgba(242, 240, 228, 0.85) !important;
  margin-top: 0 !important;
}

/* --- 8.5d. Service Tile Gradient Overlay — improves body copy legibility --- */
#home-services .sqs-block-image {
  position: relative !important;
}
#home-services .sqs-block-image::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 60% !important;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.25) 50%, transparent 100%) !important;
  border-radius: 24px !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* --- 8.5e. Service Card Arrow Icon (SVG injected by JS) --- */
.service-card-arrow {
  position: absolute !important;
  bottom: 52px;
  right: 14px;
  width: 54px;
  height: 54px;
  z-index: 2;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.service-card-arrow:hover {
  transform: translate(3px, -3px);
}
.service-card-arrow svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* --- 8.5e. Mobile Responsive — Overlay cards matching desktop --- */
@media only screen and (max-width: 767px) {
  #home-services h2:not(._):not(._):not(._):not(._) {
    font-size: 32px !important;
  }

  #home-services p.sqsrte-small strong {
    font-size: 10px !important;
    padding: 4px 12px !important;
  }

  /* Disable Fluid Engine's CSS grid on mobile so our card wrappers flow naturally */
  #home-services .fluid-engine {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  /* JS-injected wrapper that groups image + pill + text per service card */
  .home-services-mobile-card {
    position: relative;
    width: 88%;
    max-width: 340px;
    aspect-ratio: 4 / 5;
    margin: 0 auto 20px auto;
    border-radius: 24px;
    overflow: hidden;
    display: block;
  }

  /* All fe-blocks inside the mobile card: reset grid + span full area */
  .home-services-mobile-card > .fe-block {
    position: absolute !important;
    grid-area: unset !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }

  /* Image fe-block: fills the card entirely */
  .home-services-mobile-card > .fe-block:nth-child(1) {
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    z-index: 0;
  }
  .home-services-mobile-card > .fe-block:nth-child(1) .sqs-block-image,
  .home-services-mobile-card > .fe-block:nth-child(1) .sqs-block-content,
  .home-services-mobile-card > .fe-block:nth-child(1) .image-block-outer-wrapper,
  .home-services-mobile-card > .fe-block:nth-child(1) .image-block-wrapper,
  .home-services-mobile-card > .fe-block:nth-child(1) .intrinsic {
    height: 100% !important;
    max-height: none !important;
  }
  .home-services-mobile-card > .fe-block:nth-child(1) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Pill fe-block: upper-left, sits on top of image */
  .home-services-mobile-card > .fe-block:nth-child(2) {
    top: 24px !important;
    left: 24px !important;
    right: auto !important;
    width: auto !important;
    z-index: 2;
    padding: 0 !important;
  }

  /* Text fe-block: lower area, overlays image */
  .home-services-mobile-card > .fe-block:nth-child(3) {
    bottom: 24px !important;
    top: auto !important;
    left: 24px !important;
    right: 70px !important;
    width: auto !important;
    z-index: 2;
    padding: 0 !important;
  }

  /* Arrow: reposition inside mobile card */
  .home-services-mobile-card .service-card-arrow {
    width: 44px !important;
    height: 44px !important;
    bottom: 20px !important;
    right: 20px !important;
    z-index: 3 !important;
  }

  /* Hide the old non-mobile-card arrow rules */
  .service-card-arrow {
    width: 44px;
    height: 44px;
    bottom: 20px;
    right: 20px;
  }
}

/* ============================================================================
   9. 1000s OF FILMMAKERS SECTION
   Section ID: 6967c36692dae60ef9e8abc6
   ============================================================================
   Flanks h2 text with horizontal lines on either side.
   Lines hide on mobile (600px and below).
   ============================================================================ */

/* --- 9a. Coach Profile Hero — Rounded corners + border on image background --- */
#coach-hero .section-background {
  border-radius: 20px !important;
  border: 1px solid #f2f0e4 !important;
}

/* --- 9a-1. Coach Profile Hero Typography --- */

/* H1 "Jon Bregel" — Large serif, centered.
   margin-bottom 9.8px matches the site-wide hero H1 → subtitle
   spacing standard (see the "Hero header → subheader spacing" rule
   at the end of this file). */
#coach-hero h1 {
  font-family: 'Instrument Serif', serif !important;
  font-size: clamp(60px, 8vw, 120px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
  color: #f2f0e4 !important;
  text-align: center !important;
  margin-bottom: 9.8px !important;
}

/* "CAREER & LIFE COACH" — Mono subtitle, uppercase, centered */
#coach-hero .sqs-block-html p.sqsrte-small {
  font-family: 'mono45-headline', monospace !important;
  font-size: clamp(12px, 1vw, 16px) !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #f2f0e4 !important;
  text-align: center !important;
  font-weight: 400 !important;
}

/* H3 "Reflect your values..." — Italic serif, left-aligned */
#coach-hero h3 {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  font-size: clamp(20px, 2.5vw, 32px) !important;
  line-height: 1.2 !important;
  color: #f2f0e4 !important;
  text-align: left !important;
}

/* "60 minutes / 1:1 / No obligation" — Mono info text, uppercase, GOLD */
#coach-hero .sqsrte-text-color--accent {
  font-family: 'mono45-headline', monospace !important;
  font-size: clamp(12px, 1vw, 16px) !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #D4B483 !important;
  font-weight: 400 !important;
}

/* Mobile responsive adjustments — applies to ALL coach profile pages
   (every coach page uses #coach-hero as the hero section's anchor ID). */
@media (max-width: 768px) {
  #coach-hero h1 {
    font-size: 72px !important;
    margin-bottom: 9.8px !important;
  }

  #coach-hero .sqs-block-html p.sqsrte-small {
    font-size: 12px !important;
    letter-spacing: 2px !important;
  }

  #coach-hero h3 {
    font-size: 24px !important;
  }

  #coach-hero .sqsrte-text-color--accent {
    font-size: 10px !important;
    letter-spacing: 1px !important;
  }
}

/* --- 9a-2. Coach Profile "Filmmaking isn't just..." Section --- */
/* Section ID: 69a0a16c38b8c746ea40b124 */

/* Section label — "UNEARTH WHO YOU ARE CAPABLE OF BEING" */
#coach-intro p.sqsrte-small,
#coach-intro p.sqsrte-small span {
  font-family: 'mono45-headline', monospace !important;
  font-size: clamp(12px, 0.83vw, 16px) !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
  font-weight: 400 !important;
}

/* H2 — "Filmmaking isn't just about what you make" */
#coach-intro h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(31px, 4.25vw, 61px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  color: #f2f0e4 !important;
}

/* H3 — "It's about who you become in the process" — Italic gold */
#coach-intro h3:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: clamp(28px, 2.5vw, 48px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  color: #D4B483 !important;
}

/* Body text — Jon's coaching focuses on... */
#coach-intro p:not(.sqsrte-small):not(._):not(._):not(._) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(14px, 0.9vw, 16px) !important;
  line-height: 1.6 !important;
  color: #f2f0e4 !important;
}

/* Mobile responsive for "Filmmaking isn't just..." section.
   #coach-approach is the 'coach understands the filmmaker's psyche...'
   section that follows — its H2 shares the same mobile treatment. */
@media (max-width: 768px) {
  #coach-intro p.sqsrte-small {
    font-size: 11px !important;
    letter-spacing: 2px !important;
  }

  /* Match homepage "Our art form" H2 mobile sizing (44px / line 1 /
     letter-spacing -0.045em) for cross-page rhythm consistency.
     Covers every major section heading on coach profile pages. */
  #coach-intro h2:not(._):not(._):not(._):not(._),
  #coach-approach h2:not(._):not(._):not(._):not(._),
  #coach-cta h2:not(._):not(._):not(._):not(._) {
    font-size: 44px !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
  }

  /* #coach-approach Fluid Engine mobile layout: Squarespace's generated
     mobile grid uses grid-template-columns: 0px × 10 with 47px column
     gap, which pushes blocks 47px from the left and only 14px from the
     right — visibly off-center. Override with a balanced grid mirroring
     our well-behaved sections (12.4px gutter + 8 × 1fr + 12.4px gutter,
     11px gap). Applies to all coach profile pages via the anchor ID. */
  #coach-approach .fluid-engine {
    grid-template-columns: 12.3984px repeat(8, 1fr) 12.3984px !important;
    column-gap: 11px !important;
  }

  #coach-intro h3:not(._):not(._):not(._):not(._) {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  #coach-intro p:not(.sqsrte-small) {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}

/* ============================================================================
   9a-3. COACH PROFILE — METHODOLOGY CARDS SECTION
   Section ID: 69a0a5413ecef20e36120b10
   ============================================================================
   Mirrors homepage section 69668d3d585f061f46f1c331.
   Contains: section label, card headings (Navigate transitions, etc.),
   body text, pill tags.

   Typography specs (matching homepage):
   - Section label: Mono45 Headline 16px/21px, 2.4px spacing, #aa9069
   - Card headings: Instrument Serif 48px/47px, -1px spacing, #f2f0e4
   - Card body: Inter Regular 14px, #9ca3af
   ============================================================================ */

/* Card layout (flex column + bottom anchor) is now in the shared card
   style block above. Old .sqs-row .sqs-col selectors removed — this
   section uses Fluid Engine, not Classic Editor. */

/* --- Equal-height cards — match homepage Our Values behavior --- */
/* Card fe-blocks (those containing an h2) stretch to fill row and
   use flex-column so content anchors to the bottom */
body:not(.sqs-is-page-editing) #coach-principles .fe-block:has(h2) {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
}

body:not(.sqs-is-page-editing) #coach-principles .fe-block:has(h2) > .sqs-block {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* --- Section Label — Mono45 Headline 16px --- */
#coach-principles .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
#coach-principles .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* --- Card Headings — Instrument Serif 48px --- */
#coach-principles h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: 41px !important;
  line-height: 0.98 !important;
  letter-spacing: -1px !important;
  color: #f2f0e4 !important;
  font-style: normal !important;
}

/* --- Card Body Text --- */
#coach-principles .sqs-block-content p:not(:has(strong)):not(.sqsrte-small) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.625 !important;
  letter-spacing: 0 !important;
  color: #9ca3af !important;
}

/* --- Pill Tag Style (matching homepage) --- */
#coach-principles p strong {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D4B483;
  background: #222824;
  font-weight: 500;
  line-height: 1;
}

/* --- "JON'S COACHING PRINCIPLES" Outline Button --- */
/* Block ID: a05bda093730f24e0242 */
#coach-principles .sqs-block-button .sqs-block-button-element,
#coach-principles .sqs-block-button .sqs-button-element--primary,
#coach-principles .sqs-block-button .sqs-button-element--secondary,
#coach-principles .sqs-block-button .sqs-button-element--tertiary,
#coach-principles .sqs-block-button a.sqs-block-button-element {
  background: transparent !important;
  border: 1px solid rgba(242, 240, 228, 0.3) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-family: "mono45-headline", monospace !important;
  font-size: 12px !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #f2f0e4 !important;
  font-weight: 400 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  transition: all 0.3s ease !important;
}

#coach-principles .sqs-block-button .sqs-block-button-element:hover,
#coach-principles .sqs-block-button .sqs-button-element--primary:hover,
#coach-principles .sqs-block-button .sqs-button-element--secondary:hover,
#coach-principles .sqs-block-button .sqs-button-element--tertiary:hover,
#coach-principles .sqs-block-button a.sqs-block-button-element:hover {
  background: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
  transform: scale(1.03) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* Arrow icon after button text */
#coach-principles .sqs-block-button .sqs-block-button-element::after,
#coach-principles .sqs-block-button a.sqs-block-button-element::after {
  content: "→" !important;
  font-size: 14px !important;
  margin-left: 8px !important;
}

/* --- Mobile Responsive --- */
@media only screen and (max-width: 767px) {
  /* Section label */
  /* Typography sizes for this card section are now unified in the
     home-values mobile block. Only section-specific overrides below. */

  /* Pill tags */
  #coach-principles p strong {
    padding: 5px 10px;
    font-size: 11px;
  }

  /* Outline button */
  #coach-principles .sqs-block-button .sqs-block-button-element,
  #coach-principles .sqs-block-button a.sqs-block-button-element {
    padding: 12px 20px !important;
    font-size: 11px !important;
  }
}

/* ============================================================================
   COMMUNITY PAGE — CARDS SECTION
   Section ID: 69a0b0cf3958b4345a2ed4f4
   ============================================================================
   Mirrors homepage section 69668d3d585f061f46f1c331.
   Contains: section label, card headings, body text, pill tags.

   Label + pill styles apply on all viewports (identical across
   breakpoints). Only the rules that DIFFER between mobile/desktop
   (h2 41 → 38px, body line-height 1.625 → 1.55) are wrapped in
   min-width so the mobile overrides from the shared mobile block
   above can win the cascade.
   ============================================================================ */

/* --- Section Label — Mono45 Headline 16px (all viewports) --- */
section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._),
section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-html p.sqsrte-small:not(._):not(._):not(._) span {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3125 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* --- Card Body Text family + color (all viewports; line-height differs
   between desktop/mobile and is handled below + in shared mobile block) --- */
section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-content p:not(:has(strong)):not(.sqsrte-small) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  color: #9ca3af !important;
}

/* --- Pill Tag Style (all viewports) --- */
section[data-section-id="69a0b0cf3958b4345a2ed4f4"] p strong {
  display: inline-block !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 999px !important;
  font-family: "mono45-headline", monospace !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #D4B483 !important;
  background: #222824 !important;
}

/* Desktop-only type sizing (h2 41px / body line-height 1.625). Mobile
   overrides (h2 38px / body 1.55) come from the shared mobile block
   above this file. */
@media only screen and (min-width: 768px) {
  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] h2:not(._):not(._):not(._):not(._) {
    font-family: 'Instrument Serif', serif !important;
    font-weight: 400 !important;
    font-size: 41px !important;
    line-height: 0.98 !important;
    letter-spacing: -1px !important;
    color: #f2f0e4 !important;
    font-style: normal !important;
  }

  section[data-section-id="69a0b0cf3958b4345a2ed4f4"] .sqs-block-content p:not(:has(strong)):not(.sqsrte-small) {
    line-height: 1.625 !important;
  }
}

/* --- Decorative Corner Icons (Community cards) --- */
/* Same pattern as homepage: ::after pseudo-element, 18×18, top-right, 0.8 opacity */

/* 01 — Sharing */
#block-5f935a146af402e7bea1 { position: relative; }
#block-5f935a146af402e7bea1::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/69b3179a96caca2335676cf2/1773344666968/sharing.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* 02 — Guides / Courses */
#block-1cd1397dced641614a73 { position: relative; }
#block-1cd1397dced641614a73::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/69b3179aa76f3a1ea6489271/1773344666966/courses.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* 03 — Check Ins */
#block-e87f62f6a353c4c406e3 { position: relative; }
#block-e87f62f6a353c4c406e3::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/69b3179a5565333bd1cdd201/1773344666967/checkins.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* 04 — Hangs / Monthly */
#block-7c09ff2b1323dff0c67d { position: relative; }
#block-7c09ff2b1323dff0c67d::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/69b3179a1b087a5852d7826d/1773344666985/monthly.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* 05 — Experts / Guest */
#block-b5e9cf714b1cd78222f5 { position: relative; }
#block-b5e9cf714b1cd78222f5::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/69b3179abbdae54ed90713ab/1773344666966/guest.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* 06 — Feedback / Work */
#block-7ed81401010d51f118c2 { position: relative; }
#block-7ed81401010d51f118c2::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  width: 24px;
  height: 24px;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/69b3179a1e3a890ec0135276/1773344666969/work.png");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.8;
  pointer-events: none;
}

/* --- 9a-4. Coach Profile Video Block — Rounded corners + border --- */
/* Section ID: 69a0a1eca2342e4eecf7dda8 */
#coach-video .fe-block:has(.sqs-block-video) {
  height: fit-content !important;
}

#coach-video .sqs-block-video {
  border: 1px solid #f2f0e4 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  font-size: 0 !important;
  display: block !important;
  height: fit-content !important;
}

#coach-video .sqs-block-video .sqs-block-content,
#coach-video .sqs-block-video .intrinsic,
#coach-video .sqs-block-video .embed-block-wrapper,
#coach-video .sqs-block-video .sqs-video-wrapper,
#coach-video .sqs-block-video .intrinsic-inner {
  border-radius: 20px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

/* Ensure video thumbnail displays as block to prevent whitespace gaps */
#coach-video .sqs-block-video .sqs-video-wrapper img {
  display: block !important;
  vertical-align: bottom !important;
}

/* --- 9b. H2 Typography — "1000's of filmmakers supported" --- */
#home-stats h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(41px, 5.1vw, 82px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: #f2f0e4 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* "1000's" — regular weight, GOLD */
#home-stats h2 span:first-child,
#home-stats h2 > span:not(em):not(i) {
  font-style: normal !important;
  color: #aa9069 !important;
}

/* "of filmmakers supported" — italic, CREAM */
#home-stats h2:not(._):not(._):not(._):not(._) em,
#home-stats h2:not(._):not(._):not(._):not(._) i,
#home-stats h2 em:not(._):not(._):not(._):not(._),
#home-stats h2 i:not(._):not(._):not(._):not(._) {
  font-style: italic !important;
  color: #f2f0e4 !important;
  -webkit-text-fill-color: #f2f0e4 !important;
}

/* --- 9c. Subtext — "Since 2022 across 10+ countries" — GOLD, one line --- */
#home-stats p:not(._):not(._):not(._):not(._) {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  line-height: 16px !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
  -webkit-text-fill-color: #aa9069 !important;
  text-align: center !important;
  margin-top: 24px !important;
  white-space: nowrap !important;
}

/* Flexbox layout — lines + text in a row */
#home-stats [data-sqsp-text-block-content] h2 {
  display: flex;
  align-items: center; /* Vertically center lines with text */
  gap: 15px; /* Space between lines and text */
  white-space: nowrap; /* Prevent text from wrapping */
  max-width: 70%; /* Tighter constraint to shorten lines */
  margin-left: auto; /* Center the row */
  margin-right: auto;
}

/* Left and right lines via pseudo-elements */
#home-stats [data-sqsp-text-block-content] h2::before,
#home-stats [data-sqsp-text-block-content] h2::after {
  content: '';
  flex: 1; /* Equal stretch on both sides */
  height: 1px; /* Thin line */
  background-color: #f2efe3; /* Cream line color */
}

/* --- 9e. Mobile Responsive — stats + logos ---
   Clean rewrite. Two simple goals:
   1. H2 + subtext perfectly centered on one line.
   2. Logos laid out 3-per-row with uniform tile heights, 7th hidden.
*/
@media (max-width: 767px) {
  /* ---- Section container + FE grid reset ---- */
  #home-stats {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    min-height: 0 !important;
  }

  /* Convert FE grid into a vertical block flow so our content sits
     predictably without dead grid rows. */
  #home-stats .fluid-engine {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    row-gap: 24px !important;
  }

  #home-stats .fluid-engine .fe-block {
    position: static !important;
    grid-area: auto !important;
    grid-row: auto !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    align-self: stretch !important;
  }

  /* ---- H2 heading — perfectly centered, single line ---- */
  #home-stats .sqs-block-html,
  #home-stats .sqs-block-html .sqs-block-content,
  #home-stats [data-sqsp-text-block-content] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    padding: 0 !important;
  }

  #home-stats h2:not(._):not(._):not(._):not(._) {
    font-size: clamp(27px, 7.4vw, 50px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    white-space: nowrap !important;
    text-align: center !important;
    margin: 0 auto !important;
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
  }

  /* Remove desktop decorative lines that flank the h2 */
  #home-stats [data-sqsp-text-block-content] h2::before,
  #home-stats [data-sqsp-text-block-content] h2::after {
    display: none !important;
  }

  /* Subtext under h2 */
  #home-stats p:not(.sqsrte-small):not(._):not(._):not(._),
  #home-stats p.sqsrte-small {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    margin: 10px auto 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  /* ---- Logo gallery — 2 per row, 6 visible, uniform heights ---- */
  /* Section + content-wrapper symmetric padding so everything centers */
  #home-stats,
  #home-stats .content-wrapper,
  #home-stats .content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Gallery block + its alignment wrapper — full width, symmetric */
  #home-stats .sqs-block-gallery,
  #home-stats .sqs-block-gallery > .sqs-block-content,
  #home-stats .sqs-block-gallery .sqs-block-alignment-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 16px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    display: block !important;
  }

  /* Strip the negative right margin Squarespace applies to gallery wrappers.
     That -50px right margin was pushing the gallery off-center on mobile. */
  #home-stats .sqs-block-gallery [id^="yui_"],
  #home-stats .sqs-block-gallery .sqs-gallery-block-content {
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* The negative margin comes from Squarespace's .sqs-gallery-design-grid
     style (margin-right: -50px). Target that exact class to nuke it. */
  #home-stats .sqs-gallery,
  #home-stats .sqs-gallery-design-grid,
  #home-stats div.sqs-gallery.sqs-gallery-design-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    gap: 20px 12px !important;
    overflow: visible !important;
    left: 0 !important;
    right: 0 !important;
    position: static !important;
  }

  #home-stats .sqs-gallery > .slide,
  #home-stats .sqs-gallery > .sqs-slide {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100px !important;
    margin: 0 !important;
    padding: 16px 28px !important;
    float: none !important;
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    grid-column: auto !important;
  }

  #home-stats .sqs-gallery .image-slide-anchor {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    position: static !important;
  }

  #home-stats .sqs-gallery .slide img,
  #home-stats .sqs-gallery .sqs-slide img {
    max-width: 100% !important;
    max-height: 100px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* Hide the 7th logo so last row is a clean 3 (not an orphan) — homepage */
  #home-stats .sqs-gallery > .slide:nth-child(7),
  #home-stats .sqs-gallery > .sqs-slide:nth-child(7) {
    display: none !important;
  }

  /* Same treatment on the About page logo strip (section 69a0f1b4…):
     when the 7th logo is added in the editor, hide it on mobile so the
     grid stays a clean 3×2 like the homepage. Desktop shows all 7. */
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery > .slide:nth-child(7),
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery > .sqs-slide:nth-child(7) {
    display: none !important;
  }
}

/* ============================================================================
   10. TESTIMONIAL CAROUSEL SECTION
   Section ID: 6967d51b069826694a516e89
   ============================================================================
   Custom layout for testimonial carousel: image left, content right.
   Includes: opening quote mark, custom arrows (hidden), description
   styling with animated horizontal line, name/title formatting.
   ============================================================================ */

/* --- 10a. Carousel Grid Layout --- */
/* Split each slide into left (image) and right (content) columns */
#home-testimonials .user-items-list-carousel__slide.list-item {
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
  gap: 0;
}

/* Image container — left column */
#home-testimonials .user-items-list-carousel__media-container {
  grid-column: 1;
  padding: 60px 10px 60px 60px;
}

/* Content — right column */
#home-testimonials .list-item-content {
  grid-column: 2;
  padding: 80px 100px 80px 10px;
}

/* --- 10b. Opening Quote Mark --- */
/* Large decorative opening quote above the title text */
#home-testimonials .list-item-content__title::before {
  content: '\201C';
  font-family: "Georgia";
  font-size: 2em;
  color: #D5CCB7;
  line-height: 0.1;
  display: block;
  margin-bottom: 10px;
  opacity: 0.2;
}

/* --- 10c. Hide Default Carousel Arrows (desktop + mobile) --- */
#home-testimonials .desktop-arrows,
#home-testimonials .mobile-arrows,
#home-testimonials .user-items-list-carousel__arrow-button {
  display: none !important;
}

/* --- 10d. Description Layout (Static Version) --- */
/* Flex layout with horizontal line to the left of text */
#home-testimonials .list-item-content__description {
  display: flex;
  align-items: center; /* Vertically center line with text */
  gap: 20px;
}

/* Horizontal line to the left of the text */
#home-testimonials .list-item-content__description::before {
  content: '';
  display: block;
  width: 60px; /* Length of the horizontal line */
  min-width: 60px; /* Prevent it from shrinking */
  height: 1px;
  background-color: #D5CCB7;
}

/* Name text — underlined text styled as uppercase mono label */
#home-testimonials .list-item-content__description p u {
  font-family: 'IBM Plex Mono', monospace !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  color: #D5CCB7 !important;
  text-decoration: none !important;
  letter-spacing: 2px;
  font-style: normal !important;
  font-size: 12px !important;
}

/* Title text — italic serif */
#home-testimonials .list-item-content__description p em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  color: #EAE9DE !important;
  opacity: 0.7;
  font-weight: 400 !important;
}

/* --- 10e. Description Layout (Animated Version) --- */
/* Overrides 9d with a fade-in animation on the horizontal line */
#home-testimonials .list-item-content__description {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* Horizontal line — sync with Squarespace's .preFade sibling */
#home-testimonials .list-item-content__description::before {
  content: '';
  display: block;
  width: 60px;
  min-width: 60px;
  height: 1px;
  background-color: #D5CCB7;
  opacity: 1;
  transition: opacity 1.5s ease 0.22s;
}

#home-testimonials.nourish-line-pending .list-item-content__description::before {
  opacity: 0 !important;
  transition: none !important;
}

/* --- 10f. Description Layout (JS-Triggered Version) --- */
/* Alternative approach: line fades in when .line-fade class is added via JS */
#home-testimonials .list-item-content__description {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* Duplicate rule (kept visible) — line is always shown so parent fade covers it */
#home-testimonials .list-item-content__description::before {
  opacity: 1;
  transform: none;
}

/* Name text (JS-triggered version) */
#home-testimonials .list-item-content__description p u {
  font-family: 'IBM Plex Mono', monospace !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  color: #D5CCB7 !important;
  text-decoration: none !important;
  letter-spacing: 2px;
  font-style: normal !important;
  font-size: 12px !important;
}

/* Title text (JS-triggered version) */
#home-testimonials .list-item-content__description p em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  color: #EAE9DE !important;
  opacity: 0.7;
  font-weight: 400 !important;
}

/* ============================================================================
   SHARED CAROUSEL MOBILE LAYOUT
   Applies to every testimonial-style carousel on the site:
   - #home-testimonials (homepage)
   - section[data-section-id="698e5039ef53fc192c370f61"] (coaching page)
   - #coach-testimonials (coach profile pages)
   Stacks image on top, centers quote + name below, moves nav arrows
   below slide content instead of overlapping.
   ============================================================================ */
@media only screen and (max-width: 767px) {
  /* Stack image and content vertically */
  #home-testimonials .user-items-list-carousel__slide.list-item,
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__slide.list-item,
  #coach-testimonials .user-items-list-carousel__slide.list-item,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__slide.list-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 24px 20px !important;
    grid-template-columns: 1fr !important;
  }

  /* Image container — centered, constrained width */
  #home-testimonials .user-items-list-carousel__media-container,
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__media-container,
  #coach-testimonials .user-items-list-carousel__media-container,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__media-container {
    grid-column: unset !important;
    padding: 0 !important;
    width: 60% !important;
    max-width: 280px !important;
    margin: 0 auto !important;
  }

  /* Content column — full width, reduced padding, centered */
  #home-testimonials .list-item-content,
  section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content,
  #coach-testimonials .list-item-content,
  section[data-section-id="69e0fe973784da0048221442"] .list-item-content {
    grid-column: unset !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Quote text sized for mobile */
  #home-testimonials .list-item-content__title,
  section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__title,
  #coach-testimonials .list-item-content__title,
  section[data-section-id="69e0fe973784da0048221442"] .list-item-content__title {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  /* Opening quote mark — centered */
  #home-testimonials .list-item-content__title::before,
  section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__title::before,
  #coach-testimonials .list-item-content__title::before,
  section[data-section-id="69e0fe973784da0048221442"] .list-item-content__title::before {
    text-align: center;
    margin-bottom: 4px;
  }

  /* Description block — stacked and centered */
  #home-testimonials .list-item-content__description,
  section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__description,
  #coach-testimonials .list-item-content__description,
  section[data-section-id="69e0fe973784da0048221442"] .list-item-content__description {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Shorter horizontal accent line, centered above name */
  #home-testimonials .list-item-content__description::before,
  section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__description::before,
  #coach-testimonials .list-item-content__description::before,
  section[data-section-id="69e0fe973784da0048221442"] .list-item-content__description::before {
    width: 40px !important;
    min-width: 40px !important;
  }

  /* Custom carousel arrows + dots — move below slide content instead of
     overlapping. All carousel navs share class .nourish-carousel-nav. */
  #home-testimonials .nourish-carousel-nav,
  section[data-section-id="698e5039ef53fc192c370f61"] .nourish-carousel-nav,
  #coach-testimonials .nourish-carousel-nav,
  section[data-section-id="69e0fe973784da0048221442"] .nourish-carousel-nav {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 24px auto 0 !important;
    justify-content: center !important;
  }

  /* Add bottom padding so nav doesn't abut the next section */
  #home-testimonials,
  section[data-section-id="698e5039ef53fc192c370f61"],
  #coach-testimonials,
  section[data-section-id="69e0fe973784da0048221442"] {
    padding-bottom: 32px !important;
  }
}

/* ============================================================================
   END — HOMEPAGE CUSTOM CSS
   ============================================================================ */

/* ============================================================================
   TERTIARY BUTTON — PILL STYLE WITH ICON SUPPORT
   ============================================================================
   Transforms tertiary buttons into the rounded pill style.
   ============================================================================ */

/* --- TERTIARY BUTTON RESTYLE --- */
.sqs-button-element--tertiary {
  background-color: #d4ccb5 !important;
  color: #3a3a2e !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 18px 40px !important;
  padding-block: 18px !important;
  padding-inline: 40px !important;
  font-family: "mono45-headline", monospace !important;
  font-weight: 300 !important;
  font-size: var(--primary-button-font-font-size) !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
  height: auto !important;
}

/* --- REMOVE DEFAULT TERTIARY UNDERLINE --- */
.sqs-button-element--tertiary::after {
  display: none !important;
}

/* --- HOVER STATE --- Unified cream-fill treatment */
.sqs-button-element--tertiary:hover {
  background-color: #f2f0e3 !important;
  color: #2d342e !important;
  border-color: #f2f0e3 !important;
  transform: scale(1.03) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

/* --- MOBILE --- */
@media only screen and (max-width: 767px) {
  .sqs-button-element--tertiary {
    min-width: unset !important;
    width: 100% !important;
    padding: 16px 30px !important;
    letter-spacing: 2.4px !important;
  }
}

/* ============================================================================
   COACHING PAGE — COACH GRID SECTION
   Section ID: 698e4290b775310987c063b2
   ============================================================================
   Styles the coach list section into a 3-column card grid with:
   - Black & white photos with 20px border radius and subtle border
   - Hover zoom effect with checkmark overlay
   - Outlined name text that fills on hover
   - Mono font specialty that also fills on hover
   - Hidden buttons with clickable image/name/description via JS
   ============================================================================ */

/* --- 1. IMAGE STYLING — BLACK & WHITE + BORDER RADIUS + BORDER --- */
section[data-section-id="698e4290b775310987c063b2"] .list-item-media-inner {
  border-radius: 20px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(240, 240, 227, 0.2) !important;
}

section[data-section-id="698e4290b775310987c063b2"] .list-image {
  filter: grayscale(100%) !important;
  -webkit-filter: grayscale(100%) !important;
  transition: transform 0.4s ease, filter 0.4s ease !important;
  border-radius: 20px !important;
}

/* --- 2. HOVER EFFECT — ZOOM + CHECKMARK OVERLAY --- */
section[data-section-id="698e4290b775310987c063b2"] .list-item:hover .list-image {
  transform: scale(1.05) !important;
}

/* Checkmark overlay — hidden by default, appears on hover */
section[data-section-id="698e4290b775310987c063b2"] .list-item-media-inner::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(0.8) !important;
  width: 60px !important;
  height: 60px !important;
  background-image: url("https://static1.squarespace.com/static/69667909fd4d4429a39c34a3/t/698e4db7464ca12e36b6a83a/1770933687735/Check+circle.png") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

/* Show checkmark on hover */
section[data-section-id="698e4290b775310987c063b2"] .list-item:hover .list-item-media-inner::after {
  opacity: 1 !important;
  transform: translate(-50%, -50%) scale(1) !important;
}

/* --- 3. NAME STYLING — OUTLINED TEXT, FILLS ON HOVER --- */
section[data-section-id="698e4290b775310987c063b2"] .list-item-content__title {
  font-family: 'Instrument Serif', serif !important;
  text-align: center !important;
  margin-top: 16px !important;
  font-size: 56px !important;
  line-height: 1.1 !important;
  color: transparent !important;
  -webkit-text-stroke: 1px #f0f0e3 !important;
  text-stroke: 1px #f0f0e3 !important;
  transition: color 0.5s ease, -webkit-text-stroke 0.5s ease, text-stroke 0.5s ease !important;
}

/* On hover — name fills in to cream */
section[data-section-id="698e4290b775310987c063b2"] .list-item:hover .list-item-content__title {
  color: #f0f0e3 !important;
  -webkit-text-stroke: 1px #f0f0e3 !important;
  text-stroke: 1px #f0f0e3 !important;
}

/* --- 4. DESCRIPTION / SPECIALTY — MONO FONT, MUTED DEFAULT, FILLS ON HOVER --- */
section[data-section-id="698e4290b775310987c063b2"] .list-item-content__description,
section[data-section-id="698e4290b775310987c063b2"] .list-item-content__description p {
  font-family: "mono45-headline", monospace !important;
  font-size: 11px !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #5f6158 !important;
  margin-top: 4px !important;
  transition: color 0.3s ease !important;
}

/* On hover — specialty fills in to cream */
section[data-section-id="698e4290b775310987c063b2"] .list-item:hover .list-item-content__description,
section[data-section-id="698e4290b775310987c063b2"] .list-item:hover .list-item-content__description p {
  color: #f0f0e3 !important;
}

/* --- 5. HIDE BUTTON --- */
section[data-section-id="698e4290b775310987c063b2"] .list-item-content__button-wrapper {
  display: none !important;
}

/* --- 6. MAKE IMAGE + TEXT LOOK CLICKABLE --- */
section[data-section-id="698e4290b775310987c063b2"] .list-item {
  cursor: pointer !important;
}

section[data-section-id="698e4290b775310987c063b2"] .list-item-content__title,
section[data-section-id="698e4290b775310987c063b2"] .list-item-content__description {
  cursor: pointer !important;
}

/* --- 7. MOBILE OVERRIDES --- */
@media only screen and (max-width: 767px) {
  section[data-section-id="698e4290b775310987c063b2"] .list-item-content__title {
    font-size: 44px !important;
    margin-top: 14px !important;
  }
  section[data-section-id="698e4290b775310987c063b2"] .list-item-content__description,
  section[data-section-id="698e4290b775310987c063b2"] .list-item-content__description p {
    font-size: 13px !important;
    letter-spacing: 2.4px !important;
  }
}

/* ============================================================================
   COACHING PAGE — TESTIMONIAL CAROUSEL (TWO-UP)
   Section ID: 698e5039ef53fc192c370f61
   ============================================================================
   Mirrors the homepage testimonial carousel styling (section 6967d51b)
   but displays two testimonials side-by-side per view.

   Custom arrows + dots are created by JS (Footer Code Injection).
   ============================================================================ */

/* --- 1. SLIDE LAYOUT — IMAGE LEFT, CONTENT RIGHT (desktop only) ---
   On mobile, the shared carousel mobile block (earlier in this file)
   stacks image above content. These rules are wrapped in min-width
   so they don't override the mobile flex stack via cascade order. */
@media only screen and (min-width: 768px) {
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__slide.list-item {
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    align-items: center !important;
    gap: 0 !important;
  }

  /* Image container — left column */
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__media-container {
    grid-column: 1 !important;
    padding: 40px 15px 40px 30px !important;
  }

  /* Content — right column */
  section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content {
    grid-column: 2 !important;
    padding: 40px 30px 40px 15px !important;
  }
}

/* --- 2. IMAGE STYLING — LARGER, BLACK & WHITE, ROUNDED --- */
section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__media-inner {
  border-radius: 20px !important;
  overflow: hidden !important;
  width: 100% !important;
}

section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__media {
  filter: grayscale(100%) !important;
  -webkit-filter: grayscale(100%) !important;
  border-radius: 20px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  aspect-ratio: 3 / 4 !important;
}

/* --- 3. OPENING QUOTE MARK --- */
section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__title::before {
  content: '\201C' !important;
  font-family: "Georgia" !important;
  font-size: 2em !important;
  color: #D5CCB7 !important;
  line-height: 0.1 !important;
  display: block !important;
  margin-bottom: 10px !important;
  opacity: 0.2 !important;
}

/* --- 4. QUOTE TEXT STYLING ---
   Font-family + color apply on all viewports. font-size 3em is desktop-
   only so it doesn't override the mobile clamp() in the shared block. */
section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__title {
  font-family: 'Instrument Serif', serif !important;
  color: #f0f0e3 !important;
}
@media only screen and (min-width: 768px) {
  section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__title {
    font-size: 3em !important;
  }
}

/* --- 5. DESCRIPTION / ATTRIBUTION STYLING --- */
section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__description {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 20px !important;
  font-size: 0.8em !important;
}

/* Horizontal line — sync with Squarespace's .preFade sibling */
section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__description::before {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  min-width: 60px !important;
  height: 1px !important;
  background-color: #D5CCB7 !important;
  opacity: 1 !important;
  transform: none !important;
  transition: opacity 1.5s ease 0.22s !important;
}

section[data-section-id="698e5039ef53fc192c370f61"].nourish-line-pending .list-item-content__description::before {
  opacity: 0 !important;
  transition: none !important;
}

/* Name text — uppercase mono label */
section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__description p u {
  font-family: 'IBM Plex Mono', monospace !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #D5CCB7 !important;
  text-decoration: none !important;
  letter-spacing: 2px !important;
  font-style: normal !important;
  font-size: 12px !important;
}

/* Title/role text — italic serif */
section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__description p em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  color: #EAE9DE !important;
  opacity: 0.7 !important;
  font-weight: 400 !important;
}

/* --- 6. HIDE DEFAULT SQUARESPACE ARROWS --- */
section[data-section-id="698e5039ef53fc192c370f61"] .desktop-arrows {
  display: none !important;
}
section[data-section-id="698e5039ef53fc192c370f61"] .mobile-arrows {
  display: none !important;
}

/* --- 7. HIDE BUTTON ON LIST ITEMS --- */
section[data-section-id="698e5039ef53fc192c370f61"] .list-item-content__button-wrapper {
  display: none !important;
}

/* --- 8. BOTTOM PADDING FOR ARROW SPACE --- */
section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__gutter {
  padding-bottom: 60px !important;
}

/* Mobile overrides for this carousel are now in the shared carousel
   mobile block earlier in this file (alongside #home-testimonials). */

/* ============================================================================
   GLOBAL GALLERY SLIDESHOW — CUSTOM NAV + ROUNDED CORNERS
   Applies to ANY gallery section with a .gallery-slideshow on any page.
   Rounded image corners, custom bottom arrows, and dot pagination.
   ============================================================================ */

/* --- Rounded corners on gallery slideshow ---
   Rounding targets the image wrapper directly because the outer
   .gallery-slideshow container is larger than the image area (has
   internal padding/gutters), so clip-path on it clips empty space.
   Rounding the .gallery-slideshow-item-img wrapper clips the actual
   visible image content. --- */

.gallery-slideshow .gallery-slideshow-item-img {
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* Force images to fill their container so rounded corners are visible */
.gallery-slideshow .gallery-slideshow-item-img img {
  object-fit: cover !important;
  border-radius: 20px !important;
}

/* --- Custom slide visibility via data-nourish-slide attribute ---
   We use our own attribute instead of fighting Squarespace's native
   data-active / style.visibility controller. CSS !important overrides
   whatever the native controller sets. --- */
.gallery-slideshow .gallery-slideshow-item[data-nourish-slide="active"] {
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2 !important;
  transition: opacity 0.45s ease !important;
}
.gallery-slideshow .gallery-slideshow-item[data-nourish-slide="inactive"] {
  visibility: hidden !important;
  opacity: 0 !important;
  z-index: 0 !important;
  transition: opacity 0.45s ease, visibility 0s 0.45s !important;
}

/* Force all nested wrappers visible — Squarespace uses preFade/fadeIn
   on .gallery-slideshow-item-src and .gallery-slideshow-item-img which
   get stuck at opacity:0. Override everything inside the slide. */
.gallery-slideshow .gallery-slideshow-item-src,
.gallery-slideshow .gallery-slideshow-item-img {
  opacity: 1 !important;
  visibility: inherit !important;
}

/* Squarespace's native controller sets display:none on inactive slide
   <img> elements. Override so all images are rendered and our CSS-based
   data-nourish-slide visibility controls which slide is visible. */
.gallery-slideshow .gallery-slideshow-item img {
  display: block !important;
}

body:not(.sqs-is-page-editing) .nourish-gallery-nav-ready .gallery-slideshow-controls,
body:not(.sqs-is-page-editing) .nourish-gallery-nav-ready .gallery-slideshow-thumbnails {
  display: none !important;
}

body:not(.sqs-is-page-editing) .nourish-gallery-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  width: fit-content;
  margin: 6px auto 0;
  pointer-events: none;
}

body:not(.sqs-is-page-editing) .nourish-gallery-nav__arrow {
  background: transparent;
  border: 0;
  padding: 0;
  width: 30px;
  height: 30px;
  line-height: 0;
  cursor: pointer;
  pointer-events: auto;
}

body:not(.sqs-is-page-editing) .nourish-gallery-nav__arrow img {
  display: block;
  width: 30px;
  height: 30px;
  max-width: 30px;
  max-height: 30px;
  object-fit: contain;
}

body:not(.sqs-is-page-editing) .nourish-gallery-nav__dots {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  pointer-events: auto;
}

body:not(.sqs-is-page-editing) .nourish-gallery-nav__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1px solid rgba(242, 240, 228, 0.6);
  background: transparent;
  padding: 0;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.1s ease, background 0.1s ease, border-color 0.1s ease;
}

body:not(.sqs-is-page-editing) .nourish-gallery-nav__dot.is-active {
  background: #f2f0e4;
  border-color: #f2f0e4;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  body:not(.sqs-is-page-editing) .nourish-gallery-nav {
    gap: 18px;
    margin-top: 6px;
  }

  body:not(.sqs-is-page-editing) .nourish-gallery-nav__dots {
    gap: 8px;
    padding: 8px 14px;
  }

  body:not(.sqs-is-page-editing) .nourish-gallery-nav__arrow,
  body:not(.sqs-is-page-editing) .nourish-gallery-nav__arrow img {
    width: 26px;
    height: 26px;
    max-width: 26px;
    max-height: 26px;
  }
}

/* ============================================================================
   JON BREGEL PAGE — YOUR DISCOVERY CALL
   Section ID: 69a0ab2001e4fe379f540401
   Styles the discovery call text block to match the Figma reference.
   ============================================================================ */

/* Override dark-theme text to dark on cream background */
#coach-about .sqs-html-content {
  color: #1f2823 !important;
}

/* H2 "Your Discovery Call" — large Instrument Serif */
#coach-about h2 {
  font-family: 'Instrument Serif', serif !important;
  color: #1f2823 !important;
}

/* Mobile H2 sizing — match #coach-approach / #coach-intro H2 (44px) */
@media only screen and (max-width: 767px) {
  #coach-about h2:not(._):not(._):not(._):not(._) {
    font-size: 44px !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
  }
}

/* Section labels: "What it is" / "What you'll walk away with" — dark mono uppercase BOLD */
#coach-about .sqs-html-content > p.sqsrte-small {
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #1f2823 !important;
}

/* "WITH JON BREGEL" — gold accent override (AFTER the general rule so it wins) */
#coach-about .sqs-html-content > p.sqsrte-small:first-of-type,
#coach-about .sqs-html-content > p.sqsrte-small:first-of-type strong {
  color: #aa9069 !important;
  font-weight: 700 !important;
  margin-top: -12px !important;
}

/* Body text */
#coach-about .sqs-html-content > p:not(.sqsrte-small) {
  color: #1f2823 !important;
}

/* List — nuke ALL bullet rendering */
#coach-about .sqs-block-html ul,
#coach-about .sqs-block-html ul[data-rte-list] {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

#coach-about .sqs-block-html ul li {
  display: block !important;
  list-style: none !important;
  list-style-type: none !important;
  position: relative !important;
  padding-left: 28px !important;
  margin-bottom: 6px !important;
}

/* Kill the REAL bullet — Squarespace puts it on p::before inside li, NOT on li */
#coach-about .sqs-block-html ul li p::before {
  content: none !important;
  display: none !important;
}

/* Gold arrow on the li::before */
#coach-about .sqs-block-html ul li::before {
  content: "→" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: #aa9069 !important;
  font-size: 14px !important;
  line-height: inherit !important;
}

#coach-about .sqs-block-html ul li p {
  color: #1f2823 !important;
}

/* Bottom link — styled as button matching primary buttons visually
   Primary buttons compute as rgb(45,52,46) but sit on dark rgb(31,40,35) sections,
   so they read as near-black. Using the darker shade here on cream bg to match.

   text-wrap: balance distributes the label evenly across lines so a
   single word can't orphan on the last line (avoids "BOOK YOUR
   60-MINUTE DISCOVERY" / "CALL →" collapse on narrow screens). */
#coach-about .sqs-block-html a[href] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #2e342e !important;
  color: rgb(242, 240, 227) !important;
  font-family: 'mono45-headline', monospace !important;
  font-size: 10.2px !important;
  font-weight: 300 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  padding: 18px 40px !important;
  border-radius: 300px !important;
  text-decoration: none !important;
  background-image: none !important;
  transition: opacity 0.2s ease !important;
  text-wrap: balance !important;
}

#coach-about .sqs-block-html a[href]:hover {
  opacity: 0.85 !important;
}

/* ============================================================================
   COACH PROFILE — "ABOUT JON / EXPLORE BODY OF WORK" SECTION
   Section ID anchor: #coach-bg
   ============================================================================
   Mobile fix: Squarespace's image-button variant sets white-space: nowrap
   on the CTA and sizes itself to match the image-block width. When the
   label is long ("EXPLORE JON'S BODY OF WORK") and the viewport is narrow
   (<= 390px), the button's rendered width (~403px) exceeds both the
   viewport AND the parent figure's overflow:hidden clip-box (~343px).
   The right pill curve gets clipped, making the top-right corner look
   square / inconsistent with the top-left.

   Allow wrap + balance lines + clamp to container width so the pill
   renders fully on any screen. Desktop unaffected. */
@media only screen and (max-width: 767px) {
  #coach-bg .image-button a.sqs-button-element--primary,
  #coach-bg .image-button a.sqs-button-element--secondary,
  #coach-bg .image-button a.sqs-button-element--tertiary {
    white-space: normal !important;
    text-wrap: balance !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 24px !important;
    line-height: 1.3 !important;
  }
}

/* ============================================================================
   RESOURCES / BLOG LISTING PAGE
   ============================================================================ */

/* Rounded thumbnail images */
body.view-list .blog-basic-grid--container .image-wrapper {
  border-radius: 20px !important;
}

/* Scale post titles down to ~h3 size */
body.view-list .blog-basic-grid--container h1.blog-title {
  font-size: 28px !important;
  line-height: 1.15 !important;
}

/* ============================================================================
   RESOURCES PAGE — BLOG FILTER UI
   ============================================================================
   Search bar + category pill buttons + custom blog grid + Load More.
   Injected by custom.js on /resources page only.
   ============================================================================ */

/* --- Filter Container (sits between title section and blog section) --- */
/* Negative margin pulls filter up into the title section's dead space.
   Both surfaces share the "black" theme so the dark bg is seamless.
   Adjust --filter-overlap to control heading-to-search distance.        */
#nourish-blog-filter {
  --filter-overlap: 150px;
  background: rgb(31, 40, 35);
  margin-top: calc(-1 * var(--filter-overlap));
  padding: 0 40px 48px 40px;
  position: relative;
  z-index: 1;
}

.nourish-filter-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* --- Search Bar --- */
.nourish-filter-search {
  position: relative;
  max-width: 580px;
  margin: 0 auto 24px auto;
}

.nourish-search-icon {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: #f2f0e4;
  opacity: 0.4;
  pointer-events: none;
}

#nourish-filter-input {
  width: 100%;
  padding: 14px 20px 14px 48px;
  border: 1px solid rgba(242, 240, 227, 0.25);
  border-radius: 300px;
  background: transparent;
  font-family: 'mono45-headline', monospace;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 1px;
  color: #f2f0e4;
  outline: none;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

#nourish-filter-input::placeholder {
  color: rgba(242, 240, 227, 0.4);
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

#nourish-filter-input:focus {
  border-color: rgba(242, 240, 227, 0.7);
}

/* --- Category Buttons --- */
#nourish-filter-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.nourish-filter-btn {
  font-family: 'mono45-headline', monospace;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 12px 24px;
  border-radius: 300px;
  border: 1px solid rgba(242, 240, 227, 0.25);
  background: transparent;
  color: #f2f0e4;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.nourish-filter-btn:hover {
  border-color: rgba(242, 240, 227, 0.6);
  background: rgba(242, 240, 227, 0.08);
}

.nourish-filter-btn.active {
  background: #f2f0e4;
  color: #2e342e;
  border-color: #f2f0e4;
}

/* --- Hidden state for filtered articles --- */
article.blog-basic-grid--container.nourish-hidden {
  display: none !important;
}

/* --- No Results --- */
#nourish-no-results {
  text-align: center;
  font-family: 'mono45-headline', monospace;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 1px;
  color: rgba(242, 240, 227, 0.5);
  padding: 60px 20px;
}

/* --- Tablet --- */
@media only screen and (max-width: 1024px) {
  #nourish-blog-filter {
    --filter-overlap: 80px;
  }
}

/* --- Mobile --- */
@media only screen and (max-width: 767px) {
  /* Overlap removed on mobile (was -40px pulling search into hero).
     At the new 80px hero H1 scale, the negative overlap was making
     the search bleed into the subtitle. 32px positive padding-top
     gives the search cushion below the hero and breathing room
     above the category buttons. */
  #nourish-blog-filter {
    --filter-overlap: 0px;
    padding: 32px 20px 36px 20px;
  }

  .nourish-filter-search {
    max-width: 100%;
  }

  #nourish-filter-categories {
    gap: 8px;
  }

  .nourish-filter-btn {
    font-size: 10px;
    padding: 10px 18px;
    letter-spacing: 1.5px;
  }
}

/* ============================================================================
   JON BREGEL PAGE — TESTIMONIAL CAROUSEL
   Section ID: 69a0a60a50246240638686a8
   Duplicates coaching page carousel styling for consistency.
   ============================================================================ */

/* --- 1. SLIDE LAYOUT — IMAGE LEFT, CONTENT RIGHT (desktop only) ---
   On mobile, the shared carousel mobile block (earlier in this file)
   stacks image above content. Wrapped in min-width so they don't
   override the mobile flex stack via cascade order. */
@media only screen and (min-width: 768px) {
  #coach-testimonials .user-items-list-carousel__slide.list-item,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__slide.list-item {
    display: grid !important;
    grid-template-columns: 40% 60% !important;
    align-items: center !important;
    gap: 0 !important;
  }

  /* Image container — left column */
  #coach-testimonials .user-items-list-carousel__media-container,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__media-container {
    grid-column: 1 !important;
    padding: 40px 15px 40px 30px !important;
  }

  /* Content — right column */
  #coach-testimonials .list-item-content,
  section[data-section-id="69e0fe973784da0048221442"] .list-item-content {
    grid-column: 2 !important;
    padding: 40px 30px 40px 15px !important;
  }
}

/* --- 2. IMAGE STYLING — LARGER, BLACK & WHITE, ROUNDED --- */
#coach-testimonials .user-items-list-carousel__media-inner,
section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__media-inner,
#home-testimonials .user-items-list-carousel__media-inner {
  border-radius: 20px !important;
  overflow: hidden !important;
  width: 100% !important;
}

#coach-testimonials .user-items-list-carousel__media,
section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__media,
#home-testimonials .user-items-list-carousel__media {
  filter: grayscale(100%) !important;
  -webkit-filter: grayscale(100%) !important;
  border-radius: 20px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  aspect-ratio: 3 / 4 !important;
}

/* --- 3. OPENING QUOTE MARK --- */
#coach-testimonials .list-item-content__title::before,
section[data-section-id="69e0fe973784da0048221442"] .list-item-content__title::before {
  content: '\201C' !important;
  font-family: "Georgia" !important;
  font-size: 2em !important;
  color: #D5CCB7 !important;
  line-height: 0.1 !important;
  display: block !important;
  margin-bottom: 10px !important;
  opacity: 0.2 !important;
}

/* --- 4. QUOTE TEXT STYLING ---
   Font-family + color apply on all viewports. font-size 3em is
   desktop-only so it doesn't override the mobile clamp() from the
   shared mobile block. */
#coach-testimonials .list-item-content__title,
section[data-section-id="69e0fe973784da0048221442"] .list-item-content__title {
  font-family: 'Instrument Serif', serif !important;
  color: #f0f0e3 !important;
}
@media only screen and (min-width: 768px) {
  #coach-testimonials .list-item-content__title,
  section[data-section-id="69e0fe973784da0048221442"] .list-item-content__title {
    font-size: 3em !important;
  }
}

/* --- 5. DESCRIPTION / ATTRIBUTION STYLING --- */
#coach-testimonials .list-item-content__description,
section[data-section-id="69e0fe973784da0048221442"] .list-item-content__description {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-top: 20px !important;
  font-size: 0.8em !important;
}

/* Horizontal line — sync with Squarespace's .preFade sibling.
   The <p> holding the name has .preFade (opacity: 0 → 1) when the slide
   animates in. We mirror that on the ::before line using :has(). */
#coach-testimonials .list-item-content__description::before,
section[data-section-id="69e0fe973784da0048221442"] .list-item-content__description::before {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  min-width: 60px !important;
  height: 1px !important;
  background-color: #D5CCB7 !important;
  opacity: 1 !important;
  transform: none !important;
  transition: opacity 1.5s ease 0.22s !important;
}

/* Line starts hidden on sections waiting to reveal, fades in when
   JS adds .nourish-line-revealed (via IntersectionObserver on scroll). */
#coach-testimonials.nourish-line-pending .list-item-content__description::before,
section[data-section-id="69e0fe973784da0048221442"].nourish-line-pending .list-item-content__description::before {
  opacity: 0 !important;
  transition: none !important;
}

/* Name text — uppercase mono label */
#coach-testimonials .list-item-content__description p u,
section[data-section-id="69e0fe973784da0048221442"] .list-item-content__description p u {
  font-family: 'IBM Plex Mono', monospace !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #D5CCB7 !important;
  text-decoration: none !important;
  letter-spacing: 2px !important;
  font-style: normal !important;
  font-size: 12px !important;
}

/* Title/role text — italic serif */
#coach-testimonials .list-item-content__description p em,
section[data-section-id="69e0fe973784da0048221442"] .list-item-content__description p em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  color: #EAE9DE !important;
  opacity: 0.7 !important;
  font-weight: 400 !important;
}

/* --- 6. HIDE DEFAULT SQUARESPACE ARROWS --- */
#coach-testimonials .desktop-arrows,
section[data-section-id="69e0fe973784da0048221442"] .desktop-arrows {
  display: none !important;
}
#coach-testimonials .mobile-arrows,
section[data-section-id="69e0fe973784da0048221442"] .mobile-arrows {
  display: none !important;
}

/* --- 7. HIDE BUTTON ON LIST ITEMS --- */
#coach-testimonials .list-item-content__button-wrapper,
section[data-section-id="69e0fe973784da0048221442"] .list-item-content__button-wrapper {
  display: none !important;
}

/* --- 8. BOTTOM PADDING FOR ARROW SPACE --- */
#coach-testimonials .user-items-list-carousel__gutter,
section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__gutter {
  padding-bottom: 60px !important;
}

/* Mobile overrides for this carousel are now in the shared carousel
   mobile block earlier in this file (alongside #home-testimonials). */

/* ============================================================================
   VIDEO GRID — PLAY BUTTON OVERLAY
   Section ID: 698e53cf6d5a4a1bca287b17
   Play buttons are injected via JavaScript (custom.js).
   CSS handles positioning and hover transitions only.
   ============================================================================ */

/* Image blocks need position:relative for the overlay to anchor */
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-wrap {
  position: relative !important;
  cursor: pointer !important;
}
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-wrap *,
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-wrap a,
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-wrap img {
  cursor: pointer !important;
}

/* Play button SVG — centered on each image */
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-btn {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(1) !important;
  width: 50px !important;
  height: 50px !important;
  z-index: 10 !important;
  pointer-events: none !important;
  transition: transform 0.3s ease !important;
  background: transparent !important;
  line-height: 0 !important;
}
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-btn svg {
  width: 100% !important;
  height: 100% !important;
}

/* Play button hover — subtle zoom */
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-wrap:hover .nourish-play-btn {
  transform: translate(-50%, -50%) scale(1.08) !important;
}

/* --- Coach profile video play button (replaces default Squarespace play icon) --- */
.coach-video-play-btn {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(1) !important;
  width: 60px !important;
  height: 60px !important;
  z-index: 10 !important;
  pointer-events: none !important;
  transition: transform 0.3s ease !important;
  line-height: 0 !important;
}
.coach-video-play-btn svg {
  width: 100% !important;
  height: 100% !important;
}
.sqs-video-overlay:hover .coach-video-play-btn {
  transform: translate(-50%, -50%) scale(1.08) !important;
}

/* ============================================================================
   COACH BIO CARD — REUSABLE STYLES
   ============================================================================
   Targets the Classic Editor image block with card layout + left image.
   Uses structural selectors (.design-layout-card.image-position-left) so
   styles transfer automatically when the page is duplicated for other coaches.
   ============================================================================ */

/* --- Card Container --- */
.design-layout-card.image-position-left {
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* --- "About [Name]" Title — standard H2 sizing, no overrides needed --- */
/* The universal .sqs-block-html h2 rule (clamp(20px, 6.4vw, 78px)) does NOT
   apply inside Classic Editor image blocks (.image-title h2), so we leave
   the title as Squarespace's default card title rendering. No custom rule. */

/* --- Coach Tags (injected by JS) — plain gold text, no border --- */
.coach-tag {
  display: inline-block !important;
  font-family: "mono45-headline", monospace !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #D4B483 !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Tags container — spacing above/below */
.coach-tags-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 12px 0 20px 0 !important;
}

/* --- Bio Text — standard paragraph color (cream) --- */
.design-layout-card.image-position-left .image-subtitle p {
  color: #f2f0e4 !important;
}

/* --- CTA Button — tertiary style (beige pill, dark text) --- */
.design-layout-card.image-position-left .image-button a.sqs-button-element--primary {
  background-color: #d4ccb5 !important;
  color: #3a3a2e !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 18px 40px !important;
  font-weight: 300 !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
}
.design-layout-card.image-position-left .image-button a.sqs-button-element--primary::after {
  display: none !important;
}
.design-layout-card.image-position-left .image-button a.sqs-button-element--primary:hover {
  background-color: #c9c0a7 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* --- Mobile --- */
@media only screen and (max-width: 767px) {
  .coach-tag {
    font-size: 10px !important;
    letter-spacing: 1.2px !important;
  }

  .coach-tags-row {
    gap: 10px !important;
    margin: 8px 0 16px 0 !important;
  }

  .design-layout-card.image-position-left .image-button a.sqs-button-element--primary {
    min-width: unset !important;
    width: 100% !important;
    padding: 16px 30px !important;
    font-size: 13px !important;
    letter-spacing: 2px !important;
  }
}

/* ============================================================================
   DISCOVERY CALL BANNER
   "60 MINUTES | $350 | 1:1 SESSION" ribbon at top of discovery call block.
   Block: #block-yui_3_17_2_1_1773023572909_27357
   Section: 69a0ab2001e4fe379f540401
   ============================================================================ */

/* --- Discovery call: .fe-block is the flush-edge container.
   Layout-changing CSS is guarded with body:not(.sqs-is-page-editing)
   so it only applies on the live site. Inside Squarespace's editor the
   block stays in its default layout, otherwise overflow:hidden + flex
   on the .fe-block wrapper interferes with the editor's contenteditable
   positioning (typing/space drops the cursor into the next section). */
body:not(.sqs-is-page-editing) #coach-about .fe-block:has(#nourish-discovery-banner) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 20px !important;
}

/* Remove the inner block's own rounding — the fe-block handles it now.
   Same edit-mode guard so the editor sees the native block. */
body:not(.sqs-is-page-editing) #coach-about .fe-block:has(#nourish-discovery-banner) > .sqs-block {
  border-radius: 0 !important;
}

/* The banner itself — sits flush edge-to-edge inside .fe-block */
#nourish-discovery-banner {
  background: rgb(31, 40, 35);
  color: #aa9069;
  font-family: 'mono45-headline', monospace;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-align: left;
  padding: 14px 32px;
}

@media only screen and (max-width: 767px) {
  #nourish-discovery-banner {
    font-size: 13px;
    letter-spacing: 2.4px;
    padding: 14px 20px;
  }
}

/* ============================================================================
   ABOUT PAGE — "FROM THOUSANDS" HEADLINE
   Block: dac6691927002e793d32
   Forces the gold/accent italic text onto its own line so white stays on top
   and gold stays on bottom at every viewport width.
   ============================================================================ */
/* White text stays together on top, gold always below.
   The accent span is a block so it breaks to its own line.
   Font size scales fluidly to keep the white portion on one line longer. */
#block-dac6691927002e793d32 h2 {
  text-wrap: stable !important;
  font-size: clamp(28px, 5.2vw, 78px) !important;
}
#block-dac6691927002e793d32 h2 .sqsrte-text-color--accent {
  display: block !important;
}

/* ============================================================================
   ABOUT PAGE — ANIMATION LOAD ORDER
   The "About Nourish" text section should animate in before the gallery
   slideshow below it. Custom keyframes override Squarespace's built-in
   fade so copy leads and the slideshow follows.
   ============================================================================ */

@keyframes nourish-fade-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Text section — animates first (0.3s delay) */
body:not(.sqs-is-page-editing) section[data-section-id="69a0e9da51f97459bd032035"] .fe-block {
  opacity: 0;
  animation: nourish-fade-in 0.6s ease forwards 0.3s;
}

/* Gallery slideshow section — content animates second (0.8s delay)
   Only fades the inner content, not the section background. */
body:not(.sqs-is-page-editing) section[data-section-id="69a0ec6a51f97459bd039719"] .content-wrapper {
  opacity: 0;
  animation: nourish-fade-in 0.6s ease forwards 0.8s;
}

@media (prefers-reduced-motion: reduce) {
  body:not(.sqs-is-page-editing) section[data-section-id="69a0e9da51f97459bd032035"] .fe-block,
  body:not(.sqs-is-page-editing) section[data-section-id="69a0ec6a51f97459bd039719"] .content-wrapper {
    opacity: 1 !important;
    animation: none !important;
  }
}

/* ============================================================================
   ABOUT PAGE DECORATIVE QUOTES
   Adds muted opening quote marks to two featured text blocks while keeping the
   H3 copy fully editable in Squarespace.
   Section: 69a0ead4d3377037859c6b7d
   Blocks: block-yui_3_17_2_1_1772152174054_31450, block-235aa67f39df15f00c23
   ============================================================================ */

body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450,
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23,
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450 .sqs-block-content,
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23 .sqs-block-content,
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450 [data-sqsp-text-block-content],
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23 [data-sqsp-text-block-content] {
  overflow: visible;
}

body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450 [data-sqsp-text-block-content],
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23 [data-sqsp-text-block-content] {
  text-align: center;
}

body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450 [data-sqsp-text-block-content] h3,
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23 [data-sqsp-text-block-content] h3 {
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(18px, 2.6vw, 34px);
  isolation: isolate;
}

body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450 [data-sqsp-text-block-content] h3::before,
body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23 [data-sqsp-text-block-content] h3::before {
  content: '\201C';
  position: absolute;
  top: clamp(-24px, -1.8vw, -10px);
  left: clamp(-34px, -2.6vw, -16px);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(84px, 11vw, 142px);
  line-height: 0.8;
  color: rgba(125, 119, 92, 0.68);
  pointer-events: none;
  z-index: -1;
}

@media only screen and (max-width: 767px) {
  body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450 [data-sqsp-text-block-content] h3,
  body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23 [data-sqsp-text-block-content] h3 {
    padding-top: 16px;
  }

  body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-yui_3_17_2_1_1772152174054_31450 [data-sqsp-text-block-content] h3::before,
  body:not(.sqs-is-page-editing) section[data-section-id="69a0ead4d3377037859c6b7d"] #block-235aa67f39df15f00c23 [data-sqsp-text-block-content] h3::before {
    top: -8px;
    left: -10px;
    font-size: clamp(64px, 21vw, 92px);
  }
}

/* ============================================================================
   VIDEO LIGHTBOX
   ============================================================================
   Overlay lightbox for playing YouTube / Vimeo videos from coach image blocks.
   Triggered by JS in custom.js. No external dependencies.
   ============================================================================ */

/* Backdrop — fixed overlay with blur, click-outside-to-close */
.nourish-lightbox {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(31, 40, 35, 0.72);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.nourish-lightbox[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
}

/* Prevent background scrolling while lightbox is open */
body.nourish-lightbox-open {
  overflow: hidden !important;
}

/* Shell — holds close button + video, no overflow clipping */
.nourish-lightbox__shell {
  position: relative;
  width: 90vw;
  max-width: 960px;
  cursor: default;
  transform: scale(0.97);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.nourish-lightbox[aria-hidden="false"] .nourish-lightbox__shell {
  transform: scale(1);
}

/* Video container — responsive 16:9 */
.nourish-lightbox__video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}

/* Iframe fills the video container */
.nourish-lightbox__iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* Close button — sits above and to the right of the video */
.nourish-lightbox__close {
  position: absolute;
  top: -40px;
  right: 0;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.nourish-lightbox__close:hover,
.nourish-lightbox__close:focus-visible {
  opacity: 1;
}
.nourish-lightbox__close svg {
  width: 20px;
  height: 20px;
}

/* Mobile — wider shell, bigger close tap target */
@media (max-width: 767px) {
  .nourish-lightbox__shell {
    width: 96vw;
  }
  .nourish-lightbox__close {
    top: -44px;
    width: 44px;
    height: 44px;
  }
  .nourish-lightbox__close svg {
    width: 22px;
    height: 22px;
  }
}

/* Reduced motion — skip fade transitions */
@media (prefers-reduced-motion: reduce) {
  .nourish-lightbox,
  .nourish-lightbox__close {
    transition: none !important;
  }
}

/* ============================================================================
   COMMUNITY — PREVIOUS GUESTS LIST SECTION
   Section ID: 69a0b747c4f3831673602a4e
   ============================================================================
   Auto-layout list section. Each card:
   - Title (name, role) sits ABOVE image with green bg
   - Image in the middle
   - Description (podcast title + Spotify/Apple icons) at bottom
   JS converts "Spotify" / "Apple" link text into SVG icons.
   ============================================================================ */

/* --- Card container --- */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item {
  background: #2b342f !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* --- Break .list-item-content out of flow so title + description
       become direct flex children of .list-item for independent ordering --- */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content {
  display: contents !important;
}

/* --- Title area: top of card, above image --- */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content__title {
  order: -1 !important;
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  color: #f2f0e4 !important;
  text-align: center !important;
  padding: 16px 12px !important;
  background: #2b342f !important;
  margin: 0 !important;
  border-radius: 16px 16px 0 0 !important;
}

/* --- Image: middle of card, flush edges --- */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-media {
  order: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-media-inner {
  border-radius: 0 !important;
}

/* --- Description area: bottom of card --- */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content__description {
  padding: 14px 16px 16px !important;
  margin: 0 !important;
  text-align: center !important;
  background: #2b342f !important;
  border-radius: 0 0 16px 16px !important;
  order: 1 !important;
}

/* Podcast title text */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content__description p:first-child {
  font-family: "mono45-headline", monospace !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #d5ccb7 !important;
  margin-bottom: 10px !important;
}

/* Hide original Spotify/Apple text paragraphs — JS replaces with icons */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content__description p:has(a[data-nourish-podcast]) {
  display: none !important;
}

/* --- Icon row injected by JS --- */
.nourish-podcast-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 6px;
}

.nourish-podcast-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.nourish-podcast-icons a:hover {
  opacity: 1;
}

.nourish-podcast-icons svg {
  width: 100%;
  height: 100%;
  fill: #d5ccb7;
}

/* --- Text wrapper: split into top (title) and bottom (description) --- */
section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content__text-wrapper {
  display: contents !important;
}

/* --- Section heading above the list --- */
section[data-section-id="69a0b747c4f3831673602a4e"] h2 {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  color: #f2f0e4 !important;
}

/* --- Mobile responsive --- */
@media only screen and (max-width: 767px) {
  /* 2-col grid × 3 rows for the 6 guest cards instead of the
     default vertical stack. The .list-item elements live inside
     the inner <ul.user-items-list-item-container>, so the grid
     template must be applied there (Squarespace's outer wrapper
     is just a scaffold). */
  section[data-section-id="69a0b747c4f3831673602a4e"] .user-items-list-item-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }

  section[data-section-id="69a0b747c4f3831673602a4e"] .user-items-list-item-container .list-item {
    width: auto !important;
    margin: 0 !important;
  }

  section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content__title {
    font-size: 16px !important;
    padding: 10px 8px !important;
  }

  section[data-section-id="69a0b747c4f3831673602a4e"] .list-item-content__description p:first-child {
    font-size: 9px !important;
    letter-spacing: 1.2px !important;
  }

  .nourish-podcast-icons a {
    width: 24px;
    height: 24px;
  }
}

/* ============================================================================
   JON FEEDBACK — Nav text size bump
   Slightly increase header navigation link font size
   ============================================================================ */
.header-nav-item a {
  font-size: 0.88rem !important;
}

/* ============================================================================
   DESKTOP NAV — KEEP ON ONE LINE + PERFECTLY CENTERED
   ============================================================================
   Two issues solved together at every desktop/laptop width (≥768px):

   1. Nav list was wrapping to two rows (Coaching/Community/Podcast on
      row 1, Resources/About on row 2) because the Squarespace
      defaults set flex-wrap: wrap + white-space: normal and the
      header's outer flex constrained its width.

   2. Even on one row, the nav sat off-center to the right because
      Squarespace bundles the logo + nav into a single left-side
      flex column (.header-title-nav-wrapper) while the LOG IN
      button sits in a smaller right-side flex column. At 1280px the
      nav center landed 58px right of viewport center.

   Fix:
   - flex-wrap: nowrap + white-space: nowrap on .header-nav-list +
     items so the 5 labels stay on one line.
   - position .header-nav-wrapper absolutely inside
     .header-display-desktop (which is already position: relative)
     and translate it to viewport center. The parent flex still
     handles logo + login button placement, but the nav floats above
     them, perfectly centered.

   Below 768px the desktop nav is hidden and the hamburger takes
   over — these rules don't apply.
   ============================================================================ */
@media only screen and (min-width: 768px) {
  .header-nav-list {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    min-width: max-content !important;
  }

  .header-nav-item,
  .header-nav-item a {
    white-space: nowrap !important;
  }

  /* Center the nav on the viewport regardless of logo / login-button widths */
  .header-display-desktop {
    position: relative !important;
  }

  .header-display-desktop .header-nav,
  .header-display-desktop .header-nav-wrapper {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 1;
  }
}

/* ============================================================================
   JON FEEDBACK — Resources blog post rounded images/videos
   Apply border-radius to all images and embeds inside blog post content
   ============================================================================ */
body.collection-type-blog.view-item .blog-item-content img,
body.collection-type-blog.view-item .blog-item-content .sqs-block-image,
body.collection-type-blog.view-item .blog-item-content [data-sqsp-block="image"],
body.collection-type-blog.view-item .blog-item-content .sqs-block-video,
body.collection-type-blog.view-item .blog-item-content [data-sqsp-block="video"],
body.collection-type-blog.view-item .blog-item-content .sqs-block-embed,
body.collection-type-blog.view-item .blog-item-content [data-sqsp-block="embed"],
body.collection-type-blog.view-item .blog-item-content .intrinsic {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* Also round featured/thumbnail images on blog list pages */
body.collection-type-blog.view-list .summary-thumbnail,
body.collection-type-blog.view-list .summary-thumbnail img,
body.collection-type-blog .blog-basic-grid .thumbnail-image {
  border-radius: 16px !important;
  overflow: hidden !important;
}

/* ============================================================================
   JON FEEDBACK — Podcast hero image: shift left
   Section ID: 69b9adb42d4eb34c26891896
   Move the image focal point left so the full podcast title is visible.

   NOTE: The overlay-opacity !important override was removed so the
   Squarespace editor's overlay slider controls the darkness again.
   ============================================================================ */
section[data-section-id="69b9adb42d4eb34c26891896"] .section-background img,
section[data-section-id="69b9adb42d4eb34c26891896"] .background-image-fx {
  object-position: 30% 50% !important;
}

/* ============================================================================
   ABOUT PAGE MOBILE — JON'S FEEDBACK PASS
   ============================================================================
   Typography + spacing for:
   - Hero H1 'About Nourish' → 80px to match Coaching + Community
   - 'From thousands of conversations…' H2 reduced slightly
   - Slideshow bottom spacing before the Impact section
   - 'Our impact, quietly built' H2 bumped to the 32px think-tank tier
   - The six stat H3s sized a step smaller than the section head
   - 'Perfectly imperfect together' bumped to 32px
   Also hits the coaching page's 'Work from our coaches' (same 32px tier).
   ============================================================================ */
@media only screen and (max-width: 767px) {
  /* ---- 1. About hero H1 'About Nourish' → 80px ---- */
  #page section[data-section-id="69a0e9da51f97459bd032035"] h1,
  #page section[data-section-id="69a0e9da51f97459bd032035"] h1 span[class^="sqsrte-text-color"] {
    font-size: 80px !important;
    line-height: 0.99 !important;
    letter-spacing: -0.06em !important;
  }

  /* ---- 2. About hero H2 'From thousands of conversations…'
         reduced a notch from 28px → 24px ---- */
  #page section[data-section-id="69a0e9da51f97459bd032035"] h2,
  #page section[data-section-id="69a0e9da51f97459bd032035"] h2 span[class^="sqsrte-text-color"] {
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
  }

  /* ---- 3. Slideshow section — breathing room between the gallery
         arrows and the next section below them ---- */
  section[data-section-id="69b2f827c269c407af278f5c"] {
    padding-bottom: 40px !important;
  }
  section[data-section-id="69b2f827c269c407af278f5c"] .nourish-gallery-nav {
    margin-bottom: 24px !important;
  }

  /* ---- 4. 'Our impact, quietly built' H2 → 32px think-tank tier ---- */
  #page section[data-section-id="69a0ec443e4ea5539e260ecf"] h2,
  #page section[data-section-id="69a0ec443e4ea5539e260ecf"] h2 span[class^="sqsrte-text-color"] {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.5px !important;
  }

  /* ---- 5. Six stat H3s in the impact section → 24px (smaller than H2) ---- */
  #page section[data-section-id="69a0ec443e4ea5539e260ecf"] h3,
  #page section[data-section-id="69a0ec443e4ea5539e260ecf"] h3 span[class^="sqsrte-text-color"] {
    font-size: 24px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.5px !important;
  }

  /* ---- 6. 'Perfectly imperfect together' → 32px think-tank tier ---- */
  #page section[data-section-id="69a0f1d64c84d606c951ea78"] h2,
  #page section[data-section-id="69a0f1d64c84d606c951ea78"] h2 span[class^="sqsrte-text-color"] {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.5px !important;
  }

  /* ---- 7. Coaching page 'Work from our coaches' → 32px think-tank tier ---- */
  #page section[data-section-id="698e53cf6d5a4a1bca287b17"] h2,
  #page section[data-section-id="698e53cf6d5a4a1bca287b17"] h2 span[class^="sqsrte-text-color"] {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.5px !important;
  }

  /* ---- 8. About page 'Filmmaking demands honesty and the full self…'
         H3 reduced from 42px so it doesn't dominate the page on mobile.
         Matches the About hero H2 tier (24px) for consistency. ---- */
  #page section[data-section-id="69b2f8109d4f1f6cc3d8403e"] h3,
  #page section[data-section-id="69b2f8109d4f1f6cc3d8403e"] h3 span[class^="sqsrte-text-color"] {
    font-size: 24px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
  }

  /* ---- 9. Podcast hero H1 'The Nourish Podcast' — three-word title
         won't fit at 80px on a narrow phone (it wrapped ugly as
         'The Nourish / Podcast' and ate the whole viewport). 56px
         still reads as hero-weight, balances cleanly on two lines if
         it wraps. #page prefix beats Squarespace's block-level rule. */
  #page section[data-section-id="69b9adb42d4eb34c26891896"] h1,
  #page section[data-section-id="69b9adb42d4eb34c26891896"] h1 span[class^="sqsrte-text-color"] {
    font-size: 56px !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    text-wrap: balance !important;
  }

  /* ---- 10. Resources hero H1 'Resources' → 80px to match Coaching
         / Community / About hero H1s. Mono subtitle already at 12.6px
         matches the sitewide hero pattern. ---- */
  #page section[data-section-id="69ae4ab4895a973f3317b67c"] h1,
  #page section[data-section-id="69ae4ab4895a973f3317b67c"] h1 span[class^="sqsrte-text-color"] {
    font-size: 80px !important;
    line-height: 0.99 !important;
    letter-spacing: -0.06em !important;
  }

  /* Podcast hero 'At the intersection of filmmaking & inner life' H2 →
     32px to match 'A private space for filmmakers who want to grow
     with their craft' on the community page (and 'Our collective
     think-tank…' + 'Built by filmmakers for filmmakers' — the
     site-wide think-tank tier). */
  #page section[data-section-id="69b9adb42d4eb34c26891896"] h2,
  #page section[data-section-id="69b9adb42d4eb34c26891896"] h2 span[class^="sqsrte-text-color"] {
    font-size: 32px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.5px !important;
    text-wrap: balance !important;
  }

  /* Podcast hero italic tagline ('Find honest conversations…') — keep
     small so it doesn't crowd the stack. */
  #page section[data-section-id="69b9adb42d4eb34c26891896"] h3,
  #page section[data-section-id="69b9adb42d4eb34c26891896"] h3 span[class^="sqsrte-text-color"] {
    font-size: 18px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.2px !important;
    text-wrap: balance !important;
  }
}

/* ============================================================================
   PODCAST HERO — HIDE DUPLICATE 'THE NOURISH PODCAST' MONO LABEL
   ============================================================================
   The Fluid Engine has two blocks stacked in the podcast hero:
   - block-f9963c64b1865786516e: H1 'The Nourish Podcast' + mono
     subtitle 'CONVERSATIONS THAT ENRICH…'
   - block-e2b4ebfcf6956e9c1897: a redundant 'THE NOURISH PODCAST'
     mono label positioned on top of it — AND it also contains the
     H2 'At the intersection of filmmaking & inner life' and the
     H3 italic tagline.

   So we hide only the first <p.sqsrte-small> inside that block
   (the redundant label), keeping H2 + H3 visible. Permanent fix:
   delete the redundant <p> from the block in the Squarespace
   page editor.
   ============================================================================ */
#page section[data-section-id="69b9adb42d4eb34c26891896"] #block-e2b4ebfcf6956e9c1897 p.sqsrte-small:first-of-type {
  display: none !important;
}

/* ============================================================================
   PODCAST HERO — Apple / Spotify link icon styling
   ============================================================================
   Applies once the companion JS (in custom.js) has replaced the
   'Apple' / 'Spotify' text links with SVG icons via the
   data-nourish-podcast marker attribute.

   Desktop: 40×40 icons
   Mobile:  32×32 icons
   Both: matches the cream tone used on community guest cards.
   ============================================================================ */
section[data-section-id="69b9adb42d4eb34c26891896"] a[data-nourish-podcast] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  /* margin-top gives the icons a little breathing room below the
     paragraph above. 0 horizontal → 8px horizontal between icons. */
  margin: 12px 8px 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  opacity: 0.8;
  transition: opacity 0.2s ease, transform 0.2s ease;
  vertical-align: middle;
}

/* If the icons sit inside their own paragraph, give that paragraph
   matching top margin so the spacing holds even when the browser
   collapses the icon margin against the <p>. */
section[data-section-id="69b9adb42d4eb34c26891896"] p:has(> a[data-nourish-podcast]) {
  margin-top: 12px !important;
}

section[data-section-id="69b9adb42d4eb34c26891896"] a[data-nourish-podcast]::before,
section[data-section-id="69b9adb42d4eb34c26891896"] a[data-nourish-podcast]::after {
  content: none !important;
}

section[data-section-id="69b9adb42d4eb34c26891896"] a[data-nourish-podcast]:hover {
  opacity: 1;
  transform: scale(1.08);
}

section[data-section-id="69b9adb42d4eb34c26891896"] a[data-nourish-podcast] svg {
  width: 100%;
  height: 100%;
  fill: #d5ccb7;
  display: block;
}

@media only screen and (max-width: 767px) {
  section[data-section-id="69b9adb42d4eb34c26891896"] a[data-nourish-podcast] {
    width: 32px !important;
    height: 32px !important;
    margin: 8px 6px 0 !important;
  }
  section[data-section-id="69b9adb42d4eb34c26891896"] p:has(> a[data-nourish-podcast]) {
    margin-top: 8px !important;
  }
}

/* ============================================================================
   ABOUT STATS SECTION — MATCH HOMEPAGE 'THOUSANDS OF FILMMAKERS'
   Section ID: 69a0f1b46e88934c3d4768ea  (About)
   Mirror: 6967c36692dae60ef9e8abc6 / #home-stats  (Homepage)
   ============================================================================
   Replicates the homepage stats treatment: gold '1000's' + cream italic
   'of filmmakers supported' H2, mono gold subtext, tight padding on
   mobile. Gallery logo block underneath inherits Squarespace's default.
   ============================================================================ */

/* H2 base — same as #home-stats */
section[data-section-id="69a0f1b46e88934c3d4768ea"] h2:not(._):not(._):not(._):not(._) {
  font-family: 'Instrument Serif', serif !important;
  font-weight: 400 !important;
  font-size: clamp(41px, 5.1vw, 82px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: #f2f0e4 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* First span ('1000's') — gold upright */
section[data-section-id="69a0f1b46e88934c3d4768ea"] h2 span:first-child,
section[data-section-id="69a0f1b46e88934c3d4768ea"] h2 > span:not(em):not(i) {
  font-style: normal !important;
  color: #aa9069 !important;
}

/* Italic spans / em / i ('of filmmakers supported') — cream italic */
section[data-section-id="69a0f1b46e88934c3d4768ea"] h2:not(._):not(._):not(._):not(._) em,
section[data-section-id="69a0f1b46e88934c3d4768ea"] h2:not(._):not(._):not(._):not(._) i,
section[data-section-id="69a0f1b46e88934c3d4768ea"] h2 em:not(._):not(._):not(._):not(._),
section[data-section-id="69a0f1b46e88934c3d4768ea"] h2 i:not(._):not(._):not(._):not(._) {
  font-style: italic !important;
  color: #f2f0e4 !important;
  -webkit-text-fill-color: #f2f0e4 !important;
}

/* Subtext — mono gold 'Since 2022 across 10+ countries' */
section[data-section-id="69a0f1b46e88934c3d4768ea"] p:not(._):not(._):not(._):not(._) {
  font-family: "mono45-headline", monospace !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  line-height: 16px !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
  -webkit-text-fill-color: #aa9069 !important;
  text-align: center !important;
  margin-top: 24px !important;
  white-space: nowrap !important;
}

/* Mobile + tablet sizing — matches #home-stats mobile (27–50px h2, 10px subtext).
   Widened to 1199px so iPad portrait/landscape inherits the same compact
   2-column logo grid as phones. Without this, tablet widths fall back to
   Squarespace's desktop fluid-engine layout and spread the logos out with
   huge vertical gaps between rows. */
@media (max-width: 1199px) {
  section[data-section-id="69a0f1b46e88934c3d4768ea"] h2:not(._):not(._):not(._):not(._) {
    font-size: clamp(27px, 7.4vw, 50px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
  }
  section[data-section-id="69a0f1b46e88934c3d4768ea"] p:not(._):not(._):not(._):not(._) {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    margin-top: 10px !important;
  }

  /* About page logo strip — mirror the homepage #home-stats mobile
     logo grid exactly (2 per row, 100px tile height, 28px side padding,
     contained images) so the About page logos render at the same size
     as the landing page logos.

     IMPORTANT: also bypass the section's Fluid Engine grid placement
     (same flex-column override #home-stats uses) so the gallery fills
     the viewport width instead of inheriting a narrow center column
     from the desktop FE layout. Without this, the gallery's columns
     collapse to ~133px each at mobile widths. */
  section[data-section-id="69a0f1b46e88934c3d4768ea"] {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    min-height: 0 !important;
  }
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .fluid-engine {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    row-gap: 24px !important;
  }
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .fluid-engine .fe-block {
    position: static !important;
    grid-area: auto !important;
    grid-row: auto !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    align-self: stretch !important;
  }
  section[data-section-id="69a0f1b46e88934c3d4768ea"],
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .content-wrapper,
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-block-gallery,
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-block-gallery > .sqs-block-content,
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-block-gallery .sqs-block-alignment-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 16px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    display: block !important;
  }

  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-block-gallery [id^="yui_"],
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-block-gallery .sqs-gallery-block-content {
    margin: 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery,
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery-design-grid,
  section[data-section-id="69a0f1b46e88934c3d4768ea"] div.sqs-gallery.sqs-gallery-design-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    gap: 20px 12px !important;
    overflow: visible !important;
    left: 0 !important;
    right: 0 !important;
    position: static !important;
  }

  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery > .slide,
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery > .sqs-slide {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100px !important;
    margin: 0 !important;
    padding: 16px 28px !important;
    float: none !important;
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    grid-column: auto !important;
  }

  /* About-page gallery has an extra .margin-wrapper between .slide and
     .image-slide-anchor that the homepage doesn't have. Without an
     explicit width, .margin-wrapper collapses to the img's intrinsic
     width — and Squarespace's gallery JS sets inline width: 51px on the
     img before our FE-bypass takes effect, so the whole chain stays at
     ~51px. Force every wrapper in the chain to fill the slide, then
     force the img back to auto-sized contained scaling.

     Selectors are doubled with body + repeated class names to outrank
     Squarespace's own gallery design-grid rules (which are loaded later
     in the cascade with !important of their own). */
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .slide .margin-wrapper,
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .slide .image-slide-anchor,
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .sqs-slide .margin-wrapper,
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .sqs-slide .image-slide-anchor {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    position: static !important;
  }

  /* Force the img back to auto-sized contained scaling — beats both the
     inline width/height pixel values Squarespace's gallery JS injects AND
     any later !important rules in the design-grid stylesheet. */
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .slide img.thumb-image,
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .sqs-slide img.thumb-image,
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .slide img,
  body section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery .sqs-slide img {
    max-width: 100% !important;
    max-height: 100px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* Hide the 7th logo (BBC) at mobile + tablet widths so the grid stays
     a clean 3×2. Desktop (≥1200px) shows all 7. */
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery > .slide:nth-child(7),
  section[data-section-id="69a0f1b46e88934c3d4768ea"] .sqs-gallery > .sqs-slide:nth-child(7) {
    display: none !important;
  }
}

/* ============================================================================
   RESOURCES BLOG — INDIVIDUAL ARTICLE (COLLECTION ITEM) PAGES
   Collection ID: 69ae4aa27a35396b39b99657
   ============================================================================
   Applies to every post in the Resources blog (current and future).
   Scoped via body.collection-69ae4aa27a35396b39b99657.view-item so it
   won't bleed into other blogs or non-item views.

   - Entry title (H1): shrunk from 40px down to 32px on mobile
     (48px on desktop) so the article heading reads at H2-weight,
     in keeping with the narrow single-column blog layout.
   - Meta info (category + date): restyled from Inter body text to
     the same gold uppercase mono treatment used by every subheader
     label on the internal pages ('A COLLECTIVE COMMITTED TO YOUR
     GROWTH', 'HERE TO HELP', etc.) — mono45-headline, 12px,
     2.4 letter-spacing, #aa9069 gold.
   ============================================================================ */

/* --- Entry title ---------------------------------------------------------- */
body.collection-69ae4aa27a35396b39b99657.view-item h1.entry-title,
body.collection-69ae4aa27a35396b39b99657.view-item h1.entry-title--large {
  font-family: 'Instrument Serif', serif !important;
  font-size: 32px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.5px !important;
  font-weight: 400 !important;
}

@media only screen and (min-width: 768px) {
  body.collection-69ae4aa27a35396b39b99657.view-item h1.entry-title,
  body.collection-69ae4aa27a35396b39b99657.view-item h1.entry-title--large {
    font-size: 48px !important;
    line-height: 1.05 !important;
  }
}

/* --- Meta info: category + date in gold uppercase mono --------------------
   Squarespace wraps the date text in a nested <span> inside <time>;
   that span picks up a higher-specificity Squarespace rule (styled
   via the site's compressed CSS) and renders in Helvetica / cream /
   normal case. We chain `body.collection-…` with `#page` (the
   <main> ID, present on every Squarespace page) to add an ID to our
   selector, which wins the specificity tiebreak against any rule
   Squarespace ships. */
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-item-meta-wrapper,
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-item-meta-wrapper *,
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-meta-item,
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-meta-item a,
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-meta-item time,
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-meta-item span,
body.collection-69ae4aa27a35396b39b99657.view-item #page time.dt-published,
body.collection-69ae4aa27a35396b39b99657.view-item #page time.dt-published span,
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-item-author-date-wrapper,
body.collection-69ae4aa27a35396b39b99657.view-item #page .blog-item-author-date-wrapper span {
  font-family: 'mono45-headline', monospace !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 2.4px !important;
  line-height: 1.3125 !important;
  text-transform: uppercase !important;
  color: #aa9069 !important;
}

/* Category link: strip global link chrome + underline, keep gold. */
body.collection-69ae4aa27a35396b39b99657.view-item .blog-item-category {
  text-decoration: none !important;
  background-image: none !important;
  color: #aa9069 !important;
}

body.collection-69ae4aa27a35396b39b99657.view-item .blog-item-category:hover {
  opacity: 0.75;
  color: #aa9069 !important;
}

/* Bullet delimiter between category and date — match gold. */
body.collection-69ae4aa27a35396b39b99657.view-item .blog-item-meta-wrapper::before,
body.collection-69ae4aa27a35396b39b99657.view-item .blog-item-meta-wrapper *::before,
body.collection-69ae4aa27a35396b39b99657.view-item .blog-item-meta-wrapper *::after {
  color: #aa9069 !important;
}

/* ============================================================================
   TESTIMONIAL SLIDESHOWS — UNIFIED MOBILE SPACING
   ============================================================================
   Four testimonial carousel sections across the site:
     - Homepage                6967d51b069826694a516e89
     - Coaching page           698e5039ef53fc192c370f61
     - Community page          69e0fe973784da0048221442
     - Coach profile pages     #coach-testimonials (anchor)

   Before this rule, each one had a different top/bottom pad pair on
   mobile (52/60, 52/120, 80/148, 52/120). This block standardises
   them to 48px top / 48px bottom by forcing section padding and
   resetting the inner carousel gutter + slide paddings that were
   adding asymmetric extra space on specific sections.
   ============================================================================ */
@media only screen and (max-width: 767px) {
  section[data-section-id="6967d51b069826694a516e89"],
  section[data-section-id="698e5039ef53fc192c370f61"],
  section[data-section-id="69e0fe973784da0048221442"],
  #coach-testimonials {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  /* Reset inner gutter padding — previously 60px on coaching /
     community / coach-profile which added the lopsided bottom gap. */
  section[data-section-id="6967d51b069826694a516e89"] .user-items-list-carousel__gutter,
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__gutter,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__gutter,
  #coach-testimonials .user-items-list-carousel__gutter {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Reset slide top padding — homepage + coaching carry 52px top
     pad, community carries 80px. Zero them so the section padding
     is the only source of breathing room. */
  section[data-section-id="6967d51b069826694a516e89"] .user-items-list-carousel__slide.list-item,
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__slide.list-item,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__slide.list-item,
  #coach-testimonials .user-items-list-carousel__slide.list-item {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Reset any stray margins on the nav element at the bottom. */
  section[data-section-id="6967d51b069826694a516e89"] .nourish-carousel-nav,
  section[data-section-id="698e5039ef53fc192c370f61"] .nourish-carousel-nav,
  section[data-section-id="69e0fe973784da0048221442"] .nourish-carousel-nav,
  #coach-testimonials .nourish-carousel-nav {
    margin-top: 24px !important;
    margin-bottom: 0 !important;
  }
}

/* ==========================================================================
   Footer Flodesk newsletter form — responsive stacking
   --------------------------------------------------------------------------
   The Flodesk signup form (.fd-signup-form) lives in a footer fe-block that
   is sized as one of four equal columns. At desktop widths (>= 1200px) that
   column is wide enough for input + Join button side-by-side. Below 1200px
   the column shrinks to ~130px and the Join button gets clipped at the right
   edge. Stack the input above the button at narrower widths so the form
   always fits its column.
   ========================================================================== */
@media only screen and (max-width: 1199px) {
  footer .fd-signup-form {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    /* Kill the form's own bottom border so the only underline at this width
       is the one we put under the input field. Otherwise the form wrapper
       draws a second underline below the Join button. */
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  footer .fd-signup-form input[type="email"] {
    width: 100% !important;
    padding: 6px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
  }

  footer .fd-signup-form button {
    align-self: flex-start !important;
    padding: 4px 0 !important;
    text-align: left !important;
    width: auto !important;
    border: 0 !important;
  }
}

/* ==========================================================================
   Homepage 'Our Values' — restore Squarespace's parallax canvas
   --------------------------------------------------------------------------
   Earlier I replaced Squarespace's parallax canvas with a static <img>
   to gain CSS-level control of the bg image's vertical focal point.
   That removed the parallax animation, so this rule is now reverted.
   To shift the visible portion of the source image, drag the focal-point
   dot in Squarespace's editor (Section background image → focal point);
   the canvas honors that value at every viewport.
   ========================================================================== */

/* ==========================================================================
   Footer text links — strip underlines and arrows, hover opacity shift only
   --------------------------------------------------------------------------
   Platform column links (Coaching, Community, Podcast, Resources, About) are
   underlined by Squarespace's link-style defaults. Bottom-row legal links
   (Privacy, Terms, Sitemap) live inside .sqsrte-small paragraphs and pick up
   a global '→' ::after arrow used elsewhere on the site.

   In the footer we want them to read as plain text: no underline, no arrow,
   color unchanged, with a subtle opacity shift on hover so they still feel
   interactive.
   ========================================================================== */
#footer-sections a,
#footer-sections a:visited,
#footer-sections a:hover,
#footer-sections a:focus,
#footer-sections .sqsrte-small a,
#footer-sections .sqsrte-small a:hover,
#footer-sections .sqsrte-small a:focus {
  text-decoration: none !important;
  border-bottom: 0 !important;
  /* Squarespace draws a 1px underline on .sqsrte-small a:hover via a
     linear-gradient background. Wipe the background/background-image too. */
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: opacity 180ms ease !important;
}

#footer-sections a::after,
#footer-sections a::before,
#footer-sections .sqsrte-small a::after,
#footer-sections .sqsrte-small a::before {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

#footer-sections a:hover,
#footer-sections .sqsrte-small a:hover {
  opacity: 0.6;
}

/* ==========================================================================
   About hero — bump H3 size at desktop and tablet
   --------------------------------------------------------------------------
   Section 69a0e9da51f97459bd032035 holds two h3s on the About page:
     "From thousands of conversations with filmmakers, …"
     "How do you build a film career that doesn't cost you everything else?"
   They render at the Squarespace default ~28.8px on desktop, which is too
   small relative to the surrounding 'About Nourish' H1 and the gold italic
   accents within the H3 line itself. Bumping at desktop and iPad widths
   only — mobile stays as-is.
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  #page section[data-section-id="69a0e9da51f97459bd032035"] h3,
  #page section[data-section-id="69a0e9da51f97459bd032035"] h3 span[class^="sqsrte-text-color"] {
    font-size: 56px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #page section[data-section-id="69a0e9da51f97459bd032035"] h3,
  #page section[data-section-id="69a0e9da51f97459bd032035"] h3 span[class^="sqsrte-text-color"] {
    font-size: 44px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
  }
}

@media only screen and (max-width: 767px) {
  #page section[data-section-id="69a0e9da51f97459bd032035"] h3,
  #page section[data-section-id="69a0e9da51f97459bd032035"] h3 span[class^="sqsrte-text-color"] {
    font-size: 28px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
  }
}

/* ==========================================================================
   Coaching page — section 69f0d4433dc3ec4569b23f1f H2 mobile size bump
   --------------------------------------------------------------------------
   "This work tends to resonate with filmmakers…" reads small on mobile at
   the platform default ~25 px. Bumping to 32 px so it pulls weight as a
   section-level intro statement on small screens. Desktop / tablet sizes
   inherit Squarespace's defaults.
   ========================================================================== */
@media only screen and (max-width: 767px) {
  #page section[data-section-id="69f0d4433dc3ec4569b23f1f"] h2,
  #page section[data-section-id="69f0d4433dc3ec4569b23f1f"] h2 span[class^="sqsrte-text-color"] {
    font-size: 32px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
  }
}

/* ==========================================================================
   Coaching testimonial carousel — mobile scroll-snap (all 4 slides)
   --------------------------------------------------------------------------
   Section 698e5039ef53fc192c370f61 is configured 2-up via Squarespace's
   data-max-columns="2". Desktop is correct. On mobile only one column fits,
   yet Squarespace's controller still paginates 2 slides at a time, so the
   second of each pair (slides 2 and 4) is unreachable.

   Squarespace's UserItemsListCarousel controller won't repaginate after a
   runtime change to data-max-columns, so we bypass it on mobile by turning
   the slide list into a native horizontal scroll-snap container. All four
   slides become swipe-reachable and the user gets natural snap behavior.
   Desktop layout (>=768px) is untouched.
   ========================================================================== */
@media only screen and (max-width: 767px) {
  /* Strip the gutter's horizontal padding (~11.7px each side) so the
     revealer fills the full viewport width. With the revealer = 100vw,
     each slide sized to 100vw is fully visible (no clipping) and its
     centered content sits at the same viewport center as the nav row
     mounted directly below. */
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__gutter,
  #coach-testimonials .user-items-list-carousel__gutter,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__gutter {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__slides-revealer,
  #coach-testimonials .user-items-list-carousel__slides-revealer,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__slides-revealer {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    /* Hide the scrollbar so the swipe area looks clean */
    scrollbar-width: none !important;
  }
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__slides-revealer::-webkit-scrollbar,
  #coach-testimonials .user-items-list-carousel__slides-revealer::-webkit-scrollbar,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__slides-revealer::-webkit-scrollbar {
    display: none !important;
  }

  /* Lay all slides out side-by-side. Override Squarespace's grid +
     transform so the carousel does not try to drive the viewport itself. */
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__slides,
  #coach-testimonials .user-items-list-carousel__slides,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__slides {
    display: flex !important;
    grid-template-columns: none !important;
    width: max-content !important;
    transform: none !important;
  }

  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__slide,
  #coach-testimonials .user-items-list-carousel__slide,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__slide {
    flex: 0 0 100vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    /* scroll-snap-stop: always forces the scroll to settle on every
       slide — without it, fast swipes can skip past 1-2 snap points
       (the "1 → 3 → 6" jump the user reported on /coach-testimonials). */
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    transform: none !important;
  }

  /* Hide Squarespace's auto-rendered controls AND our own custom 2-up nav
     so mobile users navigate via native swipe only. The custom nav is
     created by setupTwoUpCarousel-style JS in custom.js for these sections
     and would otherwise stay visible while doing nothing (its arrows drive
     a transform we just disabled). */
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__nav-buttons,
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__indicator-bars,
  section[data-section-id="698e5039ef53fc192c370f61"] .user-items-list-carousel__arrow-button,
  section[data-section-id="698e5039ef53fc192c370f61"] .nourish-carousel-nav,
  #coach-testimonials .user-items-list-carousel__nav-buttons,
  #coach-testimonials .user-items-list-carousel__indicator-bars,
  #coach-testimonials .user-items-list-carousel__arrow-button,
  #coach-testimonials .nourish-carousel-nav,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__nav-buttons,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__indicator-bars,
  section[data-section-id="69e0fe973784da0048221442"] .user-items-list-carousel__arrow-button,
  section[data-section-id="69e0fe973784da0048221442"] .nourish-carousel-nav {
    display: none !important;
  }
}

/* ==========================================================================
   Community FAQ section (69a0b244bf155e6efdb96244) — H3 size on desktop
   --------------------------------------------------------------------------
   Each question H3 reads at the Squarespace default ~28.8px above 768px,
   which is small relative to the section H2 'No such thing as a bad
   question.' (44px) and the body around it. Bump to 48px at desktop and
   40px at laptop/tablet so the questions feel like proper display lines.
   Mobile is already handled (32px) in the existing 767px block above.
   ========================================================================== */
@media only screen and (min-width: 1200px) {
  #page section[data-section-id="69a0b244bf155e6efdb96244"] h3,
  #page section[data-section-id="69a0b244bf155e6efdb96244"] h3 span[class^="sqsrte-text-color"] {
    font-size: 48px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.035em !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #page section[data-section-id="69a0b244bf155e6efdb96244"] h3,
  #page section[data-section-id="69a0b244bf155e6efdb96244"] h3 span[class^="sqsrte-text-color"] {
    font-size: 40px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
  }
}

/* ==========================================================================
   Bottom-bar photo credit — mobile/desktop variant swap
   --------------------------------------------------------------------------
   When a page in PAGE_CONFIG provides both a full and a mobile credit,
   the JS renders both as siblings inside .bb-value. Show only one at a
   time based on viewport so the credit fits cleanly under "PHOTO:" on
   small screens (e.g. "DIEGO CONTRERAS" → "D Contreras" on /).
   ========================================================================== */
.bottom-bar .bb-value--mobile {
  display: none;
}
.bottom-bar .bb-value--desktop {
  display: inline;
}
@media (max-width: 768px) {
  .bottom-bar .bb-value--desktop {
    display: none;
  }
  .bottom-bar .bb-value--mobile {
    display: inline;
  }
}

/* ==========================================================================
   Coach profile — #coach-intro text-link styled as a pill button
   --------------------------------------------------------------------------
   To keep the CTA pattern uniform across every coach page (jon-bregel,
   paige-demarco, preston-kanak, danielle-goetz, saritha-rothermel,
   jared-levy, etc.), individual coach intros use a plain text link
   "Book a 60-Minute discovery call" instead of a Squarespace Button block.

   Any text-block paragraph whose ONLY child is an anchor gets the same
   pill treatment as the primary button (matches the existing
   #coach-about .sqs-block-html a[href] recipe). Inline links inside
   running paragraphs are unaffected because `:only-child` filters them
   out. Hover mirrors the global cream-fill button hover.
   ========================================================================== */
/* Apply the #coach-bg "image-button" recipe to all CTA buttons and
   text-link CTAs in #coach-intro and #coach-cta, so every coach-page
   CTA renders identically. Default = cream pill with dark green text,
   hover = slightly darker cream + 1px lift + soft shadow.
   Selector list:
     - any Squarespace button block in either section (primary,
       secondary, tertiary all map to the same look)
     - the styled standalone-anchor text link in coach-intro */
/* ----- Shared CTA shape: same type, padding, radius, transition for
   #coach-intro, #coach-cta, and #coach-hero. Colors are split out below
   so #coach-hero keeps its green palette. ----- */
#coach-intro a.sqs-block-button-element,
#coach-intro a.sqs-button-element--primary,
#coach-intro a.sqs-button-element--secondary,
#coach-intro a.sqs-button-element--tertiary,
#coach-cta a.sqs-block-button-element,
#coach-cta a.sqs-button-element--primary,
#coach-cta a.sqs-button-element--secondary,
#coach-cta a.sqs-button-element--tertiary,
#coach-hero a.sqs-block-button-element,
#coach-hero a.sqs-button-element--primary,
#coach-hero a.sqs-button-element--secondary,
#coach-hero a.sqs-button-element--tertiary,
#coach-intro [data-sqsp-block="text"] p:has(> a:only-child) > a,
#coach-intro .sqs-block-html p:has(> a:only-child) > a {
  background-image: none !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 18px 40px !important;
  font-family: 'mono45-headline', monospace !important;
  /* Pin font-size to match #coach-bg's primary button exactly (9.92px). */
  font-size: 9.92px !important;
  font-weight: 300 !important;
  line-height: normal !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ----- Cream variant: #coach-intro + #coach-cta + the styled
   text-link CTA. Cream pill, dark green text, slightly darker cream
   on hover with a 1px lift and soft shadow. ----- */
#coach-intro a.sqs-block-button-element,
#coach-intro a.sqs-button-element--primary,
#coach-intro a.sqs-button-element--secondary,
#coach-intro a.sqs-button-element--tertiary,
#coach-cta a.sqs-block-button-element,
#coach-cta a.sqs-button-element--primary,
#coach-cta a.sqs-button-element--secondary,
#coach-cta a.sqs-button-element--tertiary,
#coach-intro [data-sqsp-block="text"] p:has(> a:only-child) > a,
#coach-intro .sqs-block-html p:has(> a:only-child) > a {
  background-color: #d4ccb5 !important;
  color: #3a3a2e !important;
}

#coach-intro a.sqs-block-button-element:hover,
#coach-intro a.sqs-button-element--primary:hover,
#coach-intro a.sqs-button-element--secondary:hover,
#coach-intro a.sqs-button-element--tertiary:hover,
#coach-cta a.sqs-block-button-element:hover,
#coach-cta a.sqs-button-element--primary:hover,
#coach-cta a.sqs-button-element--secondary:hover,
#coach-cta a.sqs-button-element--tertiary:hover,
#coach-intro [data-sqsp-block="text"] p:has(> a:only-child) > a:hover,
#coach-intro .sqs-block-html p:has(> a:only-child) > a:hover {
  background-color: #c9c0a7 !important;
  color: #3a3a2e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  filter: none !important;
}

/* ----- Green variant: #coach-hero CTA — same shape, type, and lift
   behavior as the cream CTAs, but stays in the dark-green / cream palette.
   Hover darkens the green slightly and lifts 1px with the soft shadow. ----- */
#coach-hero a.sqs-block-button-element,
#coach-hero a.sqs-button-element--primary,
#coach-hero a.sqs-button-element--secondary,
#coach-hero a.sqs-button-element--tertiary {
  background-color: #2d342e !important;
  color: rgb(242, 240, 227) !important;
}

#coach-hero a.sqs-block-button-element:hover,
#coach-hero a.sqs-button-element--primary:hover,
#coach-hero a.sqs-button-element--secondary:hover,
#coach-hero a.sqs-button-element--tertiary:hover {
  background-color: #252b26 !important;
  color: rgb(242, 240, 227) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  filter: none !important;
}

/* ----- Trailing arrow: append "→" via ::after on every coach-page CTA
   except #coach-cta, which already includes the arrow as a literal
   <span class="btn-arrow">→</span> in its block markup (would double-up). ----- */
#coach-intro a.sqs-block-button-element::after,
#coach-intro a.sqs-button-element--primary::after,
#coach-intro a.sqs-button-element--secondary::after,
#coach-intro a.sqs-button-element--tertiary::after,
#coach-hero a.sqs-block-button-element::after,
#coach-hero a.sqs-button-element--primary::after,
#coach-hero a.sqs-button-element--secondary::after,
#coach-hero a.sqs-button-element--tertiary::after,
#coach-intro [data-sqsp-block="text"] p:has(> a:only-child) > a::after,
#coach-intro .sqs-block-html p:has(> a:only-child) > a::after {
  content: '→' !important;
  display: inline-block !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  margin-left: 4px !important;
  background: none !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
}

/* #coach-cta keeps its inline arrow span — suppress any default ::after
   so the arrow doesn't render twice. */
#coach-cta a.sqs-block-button-element::after,
#coach-cta a.sqs-button-element--primary::after,
#coach-cta a.sqs-button-element--secondary::after,
#coach-cta a.sqs-button-element--tertiary::after {
  display: none !important;
}

/* ==========================================================================
   Coach pages — #coach-video poster image responsive fix
   --------------------------------------------------------------------------
   Squarespace's video block controller computes the poster image's inline
   width/height/top once on page load and never updates them when the
   viewport resizes. Below the initial breakpoint the image overflows the
   wrapper (clipped by overflow: hidden); above it the image leaves empty
   space inside the wrapper. Override the inline pixel dimensions with
   100% + object-fit:cover so the poster always fills its container at
   any width and stays cropped to the wrapper's 16:9 ratio.
   ========================================================================== */
#coach-video .sqs-block-video .sqs-video-wrapper img,
#coach-video .sqs-block-video .sqs-video-overlay img {
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* ==========================================================================
   Coaching page video grid — mobile tap reliability
   --------------------------------------------------------------------------
   Make sure taps on the coach intro video tiles register cleanly on iOS
   and Android. touch-action:manipulation removes the 300ms tap delay and
   prevents double-tap zoom from swallowing the first tap. The .nourish-play-btn
   overlay has pointer-events:none so clicks pass through to the image link
   underneath, which the lightbox click delegation picks up.
   ========================================================================== */
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-wrap,
section[data-section-id="698e53cf6d5a4a1bca287b17"] .nourish-play-wrap a,
section[data-section-id="698e53cf6d5a4a1bca287b17"] .sqs-block-image-link,
section[data-section-id="698e53cf6d5a4a1bca287b17"] [data-sqsp-image-block-link] {
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(213, 204, 183, 0.15) !important;
}

/* ==========================================================================
   Coach pages — header Log In button outline visibility
   --------------------------------------------------------------------------
   On coach pages the first section (#coach-hero) is dark green, but
   Squarespace flips the inverse-theme button border color to dark green
   too — so the Log In button's outline disappears. Force a cream border
   + cream text on any page that has #coach-hero so the button reads
   clearly against the dark hero background.
   ========================================================================== */
body:has(#coach-hero) header .theme-btn--primary-inverse,
body:has(#coach-hero) header .btn--border,
body:has(#coach-hero) .header-actions .theme-btn--primary-inverse,
body:has(#coach-hero) .header-actions .btn--border {
  border-color: rgb(242, 240, 227) !important;
  color: rgb(242, 240, 227) !important;
}

body:has(#coach-hero) header .theme-btn--primary-inverse:hover,
body:has(#coach-hero) .header-actions .theme-btn--primary-inverse:hover {
  border-color: rgb(242, 240, 227) !important;
  background-color: rgb(242, 240, 227) !important;
  color: rgb(31, 40, 35) !important;
}

/* Same fill-on-hover treatment site-wide for any header outline button,
   not just on coach pages — keeps the Log In CTA consistent everywhere. */
header .btn--border:hover,
.header-actions .btn--border:hover,
header .theme-btn--primary-inverse:hover,
.header-actions .theme-btn--primary-inverse:hover {
  background-color: rgb(242, 240, 227) !important;
  background-image: none !important;
  color: rgb(31, 40, 35) !important;
  border-color: rgb(242, 240, 227) !important;
}

/* ==========================================================================
   Flodesk ribbon banner — temporary hide (legacy form 69fbab88…).
   Kept for safety so the older banner-style form can never accidentally
   render. The active footer signup is the inline form below.
   ========================================================================== */
body > [data-ff-el="root"][data-ff-name="ribbonBanner"] {
  display: none !important;
}

/* ==========================================================================
   Footer Flodesk signup — restyle the inline form to match the original
   custom code block (cream EMAIL ADDRESS / underline / JOIN row).
   --------------------------------------------------------------------------
   Form ID 69fbafa995ea103b21facbe8 is rendered into #fd-form-...
   by Flodesk's universal SDK. Their default CSS produces a centered
   white card with a title, subtitle, bordered input, and black button.
   Strip all of that and rebuild the original pattern: transparent bg,
   single underline beneath the input, mono uppercase JOIN button.
   At <=1199px the input stacks above the button (input keeps the
   underline; JOIN sits beneath with no underline), matching the
   previous narrow-width layout.
   ========================================================================== */

/* --- Reset Flodesk's outer chrome --- */
#fd-form-69fbafa995ea103b21facbe8 [data-ff-el="root"] {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-family: 'mono45-headline', monospace !important;
}
#fd-form-69fbafa995ea103b21facbe8 [class*="__container"] {
  background: transparent !important;
  margin: 0 !important;
  max-width: none !important;
}
#fd-form-69fbafa995ea103b21facbe8 [class*="__form"] {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  font-family: 'mono45-headline', monospace !important;
}

/* --- Hide the title + subtitle (we don't want any heading in the footer cell) --- */
#fd-form-69fbafa995ea103b21facbe8 [class*="__title"],
#fd-form-69fbafa995ea103b21facbe8 [class*="__subtitle"] {
  display: none !important;
}

/* --- Outer content row: input + button side-by-side at desktop --- */
#fd-form-69fbafa995ea103b21facbe8 [class*="__content"] {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding-bottom: 12px !important;
  max-width: 600px !important;
}
#fd-form-69fbafa995ea103b21facbe8 [class*="__fields"] {
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* --- Each visible field-group + its input --- */
#fd-form-69fbafa995ea103b21facbe8 [class*="__field"] {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  max-width: none !important;
  min-width: 0 !important;
  position: relative !important;
}
#fd-form-69fbafa995ea103b21facbe8 [class*="__field"] .fd-form-control,
#fd-form-69fbafa995ea103b21facbe8 [class*="__control"] {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
  height: auto !important;
  padding: 8px 0 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 0.5px !important;
  line-height: normal !important;
  text-transform: none !important;
}
#fd-form-69fbafa995ea103b21facbe8 [class*="__field"] .fd-form-control:focus,
#fd-form-69fbafa995ea103b21facbe8 [class*="__control"]:focus {
  color: rgba(255, 255, 255, 0.8) !important;
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* --- Floating label that doubles as the placeholder ("Email Address") --- */
#fd-form-69fbafa995ea103b21facbe8 [class*="__field"] .fd-form-label,
#fd-form-69fbafa995ea103b21facbe8 [class*="__label"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  border: none !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.4) !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 0.5px !important;
  line-height: normal !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* --- Submit button: mono uppercase JOIN, transparent, no border --- */
#fd-form-69fbafa995ea103b21facbe8 [class*="__footer"] {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#fd-form-69fbafa995ea103b21facbe8 [class*="__button"],
#fd-form-69fbafa995ea103b21facbe8 .fd-btn {
  width: auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  color: rgba(255, 255, 255, 0.4) !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  line-height: normal !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: color 0.3s ease !important;
}
#fd-form-69fbafa995ea103b21facbe8 [class*="__button"]:hover,
#fd-form-69fbafa995ea103b21facbe8 .fd-btn:hover {
  color: rgba(255, 255, 255, 0.8) !important;
  background: transparent !important;
  border: none !important;
}

/* Replace the displayed button label "Subscribe" with "Join" while keeping
   accessibility (the underlying button text isn't changed). */
#fd-form-69fbafa995ea103b21facbe8 [class*="__button"] [data-draw-element="editable"],
#fd-form-69fbafa995ea103b21facbe8 [class*="__button"] span,
#fd-form-69fbafa995ea103b21facbe8 [class*="__button"] div {
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
}

/* --- Success / error messages: keep them readable in the footer theme --- */
#fd-form-69fbafa995ea103b21facbe8 [class*="__success-message"],
#fd-form-69fbafa995ea103b21facbe8 [class*="__error"] {
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: 'mono45-headline', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
}

/* --- Narrow widths: stack input above button, only one underline --- */
@media only screen and (max-width: 1199px) {
  #fd-form-69fbafa995ea103b21facbe8 [class*="__content"] {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  #fd-form-69fbafa995ea103b21facbe8 [class*="__field"] .fd-form-control,
  #fd-form-69fbafa995ea103b21facbe8 [class*="__control"] {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    padding: 6px 0 !important;
  }
  #fd-form-69fbafa995ea103b21facbe8 [class*="__field"] .fd-form-label,
  #fd-form-69fbafa995ea103b21facbe8 [class*="__label"] {
    padding: 6px 0 !important;
  }
  #fd-form-69fbafa995ea103b21facbe8 [class*="__button"],
  #fd-form-69fbafa995ea103b21facbe8 .fd-btn {
    align-self: flex-start !important;
    text-align: left !important;
    padding: 4px 0 !important;
  }
}

/* ==========================================================================
   Article-page Flodesk signup — submit button flush right, underline spans
   the full content width.
   --------------------------------------------------------------------------
   On Resources blog articles the form is rendered inside a Code Block
   (.sqs-block-code) rather than the site footer. The default footer rule
   caps __content at 600px which leaves the button looking off-center
   inside the wider article column. In the article context, let __content
   fill its wrapper width and force the button (and its label text) to the
   right edge above the underline.
   ========================================================================== */
.sqs-block-code #fd-form-69fbafa995ea103b21facbe8 [class*="__content"] {
  max-width: none !important;
  width: 100% !important;
}

.sqs-block-code #fd-form-69fbafa995ea103b21facbe8 [class*="__footer"] {
  margin-left: auto !important;
}

.sqs-block-code #fd-form-69fbafa995ea103b21facbe8 [class*="__button"],
.sqs-block-code #fd-form-69fbafa995ea103b21facbe8 .fd-btn {
  text-align: right !important;
}

/* Repeat for narrow widths so the article form stays side-by-side with
   button flush right (overrides the column-stacked rule above). */
@media only screen and (max-width: 1199px) {
  .sqs-block-code #fd-form-69fbafa995ea103b21facbe8 [class*="__content"] {
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
    padding-bottom: 12px !important;
  }
  .sqs-block-code #fd-form-69fbafa995ea103b21facbe8 [class*="__field"] .fd-form-control,
  .sqs-block-code #fd-form-69fbafa995ea103b21facbe8 [class*="__control"] {
    border-bottom: 0 !important;
  }
  .sqs-block-code #fd-form-69fbafa995ea103b21facbe8 [class*="__button"],
  .sqs-block-code #fd-form-69fbafa995ea103b21facbe8 .fd-btn {
    align-self: center !important;
    text-align: right !important;
    margin-left: auto !important;
  }
}

/* ==========================================================================
   Footer Flodesk popup — restyle inline modal to match site design
   --------------------------------------------------------------------------
   Form ID 66da51e424e4c60461d2f081 is a popup that fires from the
   site-wide footer code injection. Flodesk renders its own modal
   overlay + card in the body. Override the default white card +
   black button design with the Nourish dark-green / cream palette,
   serif title, mono body, pill submit button matching the coach-bg
   recipe.
   ========================================================================== */

/* --- Modal backdrop overlay --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [data-ff-el="modal"],
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-modal {
  background: rgba(10, 25, 18, 0.7) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
}

/* --- Modal dialog: tighter card to bring focus to the content. --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__modal-dialog"],
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-modal__dialog {
  width: min(520px, calc(100vw - 32px)) !important;
  max-width: min(520px, calc(100vw - 32px)) !important;
}

/* --- Modal card itself: dark green panel, rounded, drop-shadow --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__modal-content"],
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-modal__content {
  background: #1f2823 !important;
  color: rgba(242, 240, 227, 0.85) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(242, 240, 227, 0.12) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45) !important;
  font-family: 'mono45-headline', monospace !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__wrapper"] {
  /* Extra top padding makes room for the absolutely-positioned wordmark
     that sits in the top-left corner of the card. */
  padding: 96px 40px 48px !important;
  position: relative !important;
}

/* Nourish wordmark — absolutely positioned in the top-left of the card,
   so it sits above the title without affecting Flodesk's flex/grid
   layout of the form content below. */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__wrapper"]::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 36px !important;
  left: 40px !important;
  width: 110px !important;
  aspect-ratio: 426 / 91 !important;
  background-image: url('https://images.squarespace-cdn.com/content/v1/69667909fd4d4429a39c34a3/1107172c-3666-4221-a2f3-252e43ece51f/White+Transparent+Nourish+Logo.png?format=500w') !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  pointer-events: none !important;
}

/* --- Title: serif display, cream --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__title"] {
  color: rgb(242, 240, 227) !important;
  font-family: 'Instrument Serif', 'EB Garamond', serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  text-align: left !important;
  margin: 0 0 20px !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__title"] * {
  font-family: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

/* --- Subtitle / body copy: cream mono small --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__subtitle"] {
  color: rgba(242, 240, 227, 0.85) !important;
  font-family: 'mono45-headline', monospace !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
  margin: 0 0 28px !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__subtitle"] * {
  font-family: inherit !important;
  color: inherit !important;
  font-weight: 300 !important;
}

/* --- Content + fields layout --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__content"] {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  margin: 0 !important;
  text-align: left !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__fields"] {
  display: block !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__field"] {
  margin: 0 !important;
  max-width: none !important;
  font-family: 'mono45-headline', monospace !important;
  position: relative !important;
}

/* --- Email input: transparent bg, cream text, underlined bottom --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__control"],
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-form-control {
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(242, 240, 227, 0.3) !important;
  border-radius: 0 !important;
  outline: none !important;
  padding: 12px 0 !important;
  color: rgba(242, 240, 227, 0.9) !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  line-height: normal !important;
  text-transform: none !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__control"]:focus,
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-form-control:focus {
  border-color: rgba(242, 240, 227, 0.6) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Floating label = "EMAIL ADDRESS" placeholder text */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__label"],
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-form-label {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  border: none !important;
  background: transparent !important;
  color: rgba(242, 240, 227, 0.4) !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  line-height: normal !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

/* --- Submit button: cream pill, dark green text, hover lift
       (matches the #coach-bg / #coach-cta / #coach-intro button recipe) --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__footer"] {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__button"],
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-btn {
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  background: #d4ccb5 !important;
  color: #3a3a2e !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 16px 36px !important;
  font-family: 'mono45-headline', monospace !important;
  font-weight: 300 !important;
  font-size: 10px !important;
  line-height: normal !important;
  letter-spacing: 2.4px !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  text-wrap: balance !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__button"] *,
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-btn * {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__button"]:hover,
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-btn:hover {
  background: #c9c0a7 !important;
  color: #3a3a2e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
  opacity: 1 !important;
}

/* --- Close button (X in top-right): cream, subtle hover --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__modal-close"],
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-modal__close {
  color: rgba(242, 240, 227, 0.7) !important;
  background: transparent !important;
  border: none !important;
  width: 36px !important;
  height: 36px !important;
  padding: 8px !important;
  top: 12px !important;
  right: 12px !important;
  cursor: pointer !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__modal-close"]:hover,
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-modal__close:hover {
  color: rgb(242, 240, 227) !important;
  transform: scale(1.05) !important;
}

/* --- Success / error states --- */
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__success-message"] {
  color: rgb(242, 240, 227) !important;
  font-family: 'Instrument Serif', 'EB Garamond', serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  letter-spacing: -0.02em !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__success-message"] * {
  color: inherit !important;
  font-family: inherit !important;
}
[data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__error"] {
  color: rgba(242, 240, 227, 0.85) !important;
  font-family: 'mono45-headline', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.5px !important;
}

/* --- Mobile: tighter padding + slightly smaller type --- */
@media only screen and (max-width: 600px) {
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__modal-dialog"],
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-modal__dialog {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin: 12px !important;
  }
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__modal-content"],
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-modal__content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__wrapper"] {
    padding: 78px 28px 40px !important;
  }
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__wrapper"]::before {
    top: 28px !important;
    left: 28px !important;
    width: 90px !important;
  }
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__title"] {
    font-size: 32px !important;
    margin-bottom: 16px !important;
  }
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 [class$="__button"],
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 .fd-btn {
    width: 100% !important;
    text-align: center !important;
  }
}

/* ==========================================================================
   Home intro — yellow accent code block (mobile-only)
   --------------------------------------------------------------------------
   Block #block-yui_3_17_2_1_1778194166737_6721 in #home-intro injects a
   small yellow line/divider that mirrors the coaching page's accent.
   Only show it at mobile widths so desktop stays clean.
   ========================================================================== */
@media only screen and (min-width: 768px) {
  #home-intro #block-yui_3_17_2_1_1778194166737_6721,
  #home-intro .fe-block:has(#block-yui_3_17_2_1_1778194166737_6721) {
    display: none !important;
  }
}

/* ==========================================================================
   Flodesk popup — mobile-only, 5-second delay
   --------------------------------------------------------------------------
   Hide the popup on desktop entirely. On mobile, keep it hidden until JS
   adds .nourish-popup-ready after a 5-second timeout.
   ========================================================================== */

/* Desktop: never show the popup */
@media only screen and (min-width: 768px) {
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081 {
    display: none !important;
  }
}

/* Mobile: hidden by default, revealed when JS adds .nourish-popup-ready */
@media only screen and (max-width: 767px) {
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081:not(.nourish-popup-ready) {
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }
  [data-ff-el="root"].ff-66da51e424e4c60461d2f081.nourish-popup-ready {
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transition: opacity 0.3s ease !important;
  }
}

/* Build: 20260513T010000Z */
