@font-face {
  font-family: "Noto Serif";
  src: url("fonts/noto-serif/NotoSerif-Latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Noto Serif";
  src: url("fonts/noto-serif/NotoSerif-LatinExt.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0300-036F, U+1D00-1DBF, U+1E00-1EFF, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Shantell Sans";
  src: url("fonts/shantell-sans/ShantellSans-ItalicLatin.woff2") format("woff2");
  font-weight: 400 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Open Sauce Sans";
  src: url("fonts/open-sauce/OpenSauceSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sauce Sans";
  src: url("fonts/open-sauce/OpenSauceSans-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sauce Sans";
  src: url("fonts/open-sauce/OpenSauceSans-SemiBold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sauce Sans";
  src: url("fonts/open-sauce/OpenSauceSans-SemiBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Metric-adjusted Arial fallback — mirrors the @font-face Next.js auto-generates
   with `next/font/local`. Keeps the eyebrow / body text at the same visual size
   whether Open Sauce Sans has loaded yet or not. */
@font-face {
  font-family: "Open Sauce Sans Fallback";
  src: local("Arial");
  ascent-override: 90.93%;
  descent-override: 21.55%;
  line-gap-override: 0%;
  size-adjust: 109.98%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Match Next.js: clip horizontal overflow so percent-based column widths
     don't lose ~10–15px to the reserved scrollbar gutter. */
  overflow-x: clip;
  overscroll-behavior-x: none;
}

body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern", "liga", "calt";
}

body.onescript-page {
  overflow-x: clip;
  overscroll-behavior-x: none;
}

:root {
  --color-stone-50:  #F7F7F8;
  --color-stone-100: #EEF0F1;
  --color-stone-150: #E3E6E8;
  --color-stone-200: #D7DCDF;
  --color-stone-300: #C3CAD0;
  --color-stone-400: #ACB6BE;
  --color-stone-500: #82909B;
  --color-stone-600: #636F79;
  --color-stone-700: #4A5259;
  --color-stone-800: #31363A;
  --color-surface-page: #ffffff;
  --color-surface-section-alt: var(--color-stone-50);
  --color-surface-section-grouped: var(--color-stone-100);
  --color-surface-section-strong: var(--color-stone-200);
  --color-surface-callout-subtle: var(--color-stone-150);
  --color-surface-callout-contrast: var(--color-stone-200);
  --color-border-cool-subtle: var(--color-stone-150);
  --color-border-cool: var(--color-stone-300);
  --color-border-cool-muted: var(--color-stone-200);
  --color-text-body-cool: var(--color-stone-600);
  --color-text-meta-cool: var(--color-stone-500);
  --color-eyebrow-structural: var(--color-blue-600);
  --color-text-default: #0A1628;
  --color-blue-50:  #F0F9FF;
  --color-blue-100: #D6EEFF;
  --color-blue-200: #A8DBFF;
  --color-blue-300: #66BFFF;
  --color-blue-500: #0074C9;
  --color-blue-600: #005C9E;
  --color-blue-700: #004475;
  --color-blue-800: #002A47;
  --color-blue-900: #0A1628;
  --color-navy-900: #0A1628;
  --color-teal-500: #0074C9;
  --color-teal-500-pressed: #00487D;

  --color-code-panel-chrome: #1e1e1e;
  --color-code-body-surface: #141414;
  --color-code-panel-hairline: #2a2a2a;
  --color-code-foreground: #e8e8e8;
  --color-code-tab-inactive: #666666;
  --color-code-tab-hover-muted: #a0a0a0;
  --color-code-panel-meta: #888888;
  --color-code-method-pill-text: #a8c8a0;
  --color-code-method-pill-wash: rgba(168, 200, 160, 0.12);

  --font-noto-serif: "Noto Serif";
  --font-open-sauce: "Open Sauce Sans", "Open Sauce Sans Fallback";
  --font-shantell: "Shantell Sans";
  --font-jetbrains-mono: "JetBrains Mono";

  --marketing-page-gutter-x: 1.25rem;
  --marketing-grid-gap: 1rem;
  --marketing-card-grid-gap: var(--marketing-grid-gap);
  --marketing-section-pad-y: 3.84375rem;
  --marketing-container-inner-gap: 0.625rem;
  --form-field-gap: 0.875rem;
  --section-content-stack-gap: 1.75rem;
  --home-founder-navy-panel-pad-y: var(--section-content-stack-gap);
  --section-intro-title-body-gap: 0.45rem;
  --marketing-card-inset-lg: 0.875rem;
  --marketing-card-inset-md: 0.875rem;
  --marketing-shell-inset: 1.125rem;
  --marketing-card-inset-sm-y: 0.5rem;
  --marketing-card-inset-sm-x: 0.75rem;
  --marketing-card-inset-xs-y: 0.5rem;
  --marketing-card-inset-xs-x: 0.625rem;
  --marketing-card-inset-band-y: 0.625rem;
  --marketing-card-inset-prose-y: 0.5rem;
  --marketing-card-inset-prose-x: 0.625rem;
  --marketing-card-inset-bottom-extra: 0.125rem;

  --radius-xs: 4.679387px;
  --radius-sm: 7.798978px;
  --radius-md: 9.358775px;
  --radius-lg: 12.478366px;
  --radius-xl: 18.717549px;
  --radius-focus-deco: calc(var(--radius-xs) * 0.2);

  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-ui: 0.22s;
  --card-hover-scale: 1.018;
  --duration-nav: 0.28s;
  --title-line-height: 1.3;
  --eyebrow-title-gap: 8px;
  --onescript-site-nav-bar-height: 60px;
  --site-nav-mobile-panel-width: 75vw;

  --type-hero-display: 2.375rem;
  --type-h1:        1.875rem;
  --type-h2:        1.375rem;
  --type-h3:        1.25rem;
  --type-h4:        1rem;
  --type-h5:        0.875rem;
  --type-body-lg:   0.875rem;
  --type-body:      1rem;
  --type-caption:   0.875rem;
  --type-small:     0.75rem;
  --type-dense-body-xs: 0.6875rem;
  --type-eyebrow-sm: 0.5625rem;
}

@media (min-width: 768px) {
  :root {
    --type-hero-display: 2.75rem;
    --type-h1:       2.25rem;
    --type-h2:       1.75rem;
    --type-h3:       1.3125rem;
    --type-h4:       1.0625rem;
    --type-h5:       0.9375rem;
    --type-body-lg:  0.875rem;

    --marketing-page-gutter-x: 5.5rem;
    --marketing-grid-gap: 2rem;
    --marketing-section-pad-y: 3.625rem;
    --marketing-container-inner-gap: 0.875rem;
    --form-field-gap: 1rem;
    --section-content-stack-gap: 2rem;
    --section-intro-title-body-gap: 0.72rem;
    --marketing-card-inset-lg: 1.125rem;
    --marketing-card-inset-md: 1.125rem;
    --marketing-shell-inset: 1.375rem;
    --marketing-card-inset-sm-y: 0.625rem;
    --marketing-card-inset-sm-x: 0.875rem;
    --marketing-card-inset-xs-y: 0.5625rem;
    --marketing-card-inset-xs-x: 0.75rem;
    --marketing-card-inset-band-y: 0.75rem;
    --marketing-card-inset-prose-y: 0.625rem;
    --marketing-card-inset-prose-x: 0.8125rem;
    --marketing-card-inset-bottom-extra: 0.25rem;
  }
}

@media (min-width: 1025px) {
  body.onescript-page {
    --onescript-page-column-width: 80%;
    --onescript-site-nav-column-width: 92%;
  }

  body.onescript-page .site-nav-chrome-root {
    --site-nav-bar-gutter-x: calc(var(--marketing-page-gutter-x) - 0.5rem);
  }

  :root {
    --type-hero-display: 3.25rem;
    --type-h1:       2.75rem;
    --type-h2:       2.125rem;
    --type-h3:       1.625rem;
    --type-h4:       1.125rem;
    --type-h5:       1rem;
    --type-body-lg:  1rem;

    --marketing-page-gutter-x: 2.5rem;
    --marketing-grid-gap: 1.25rem;
    --marketing-section-pad-y: 4.1875rem;
    --marketing-container-inner-gap: 0.875rem;
    --form-field-gap: 1rem;
    --section-content-stack-gap: 2.125rem;
    --home-founder-navy-panel-pad-y: 3rem;
    --section-intro-title-body-gap: 0.55rem;
    --marketing-card-inset-lg: 1.375rem;
    --marketing-card-inset-md: 1.375rem;
    --marketing-shell-inset: 1.5625rem;
    --marketing-card-inset-sm-y: 0.6875rem;
    --marketing-card-inset-sm-x: 1rem;
    --marketing-card-inset-xs-y: 0.5625rem;
    --marketing-card-inset-xs-x: 0.8125rem;
    --marketing-card-inset-band-y: 0.8125rem;
    --marketing-card-inset-prose-y: 0.625rem;
    --marketing-card-inset-prose-x: 0.9375rem;
    --marketing-card-inset-bottom-extra: 0.25rem;
  }
}

@media (min-width: 1025px) and (max-width: 1440px) {
  :root {
    --type-h1: 2.25rem;
  }
}

@media (min-width: 1441px) {
  body.onescript-page {
    --onescript-page-column-width: 66%;
  }

  :root {
    --type-h1: 2.75rem;
  }
}

.onescript-page {
  color: var(--color-text-default);
  background-color: var(--color-surface-page);
  font-size: var(--type-body);
  line-height: 1.5;
  overflow-x: clip;
  overscroll-behavior-x: none;
}

html, body {
  overflow-x: clip;
}
/* 
.onescript-page h1,
.onescript-page h2 {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 500;
  margin-top: 0;
} */

.onescript-page h1 {
  line-height: 1.1 !important;
}
/* 
.onescript-page h2 {
  line-height: var(--title-line-height) !important;
} */

/* .onescript-page h3,
.onescript-page h4,
.onescript-page h5,
.onescript-page h6 {
  font-family: "Open Sauce Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-weight: 600;
  margin-top: 0;
  line-height: var(--title-line-height);
} */

/* .onescript-page h1 { font-size: var(--type-hero-display); }
.onescript-page h2 { font-size: var(--type-h2); }
.onescript-page h3 { font-size: var(--type-h4); }
.onescript-page h4 { font-size: var(--type-h4); }
.onescript-page h5 { font-size: var(--type-h5); } */

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: 600;
  font-size: var(--type-caption);
  line-height: 1;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  padding: 16px 24px;
  border-radius: var(--radius-sm);
  background-color: var(--color-teal-500);
  color: #fff;
  transition: transform 0.12s var(--ease-out-expo),
              background-color 0.2s ease;
  will-change: transform;
}

.btn-primary:hover {
  background-color: var(--color-teal-500-pressed);
}

.btn-primary:active {
  transform: scale(0.96);
}

.btn-primary:focus-visible {
  outline: 2px solid var(--color-blue-500);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .btn-primary:active {
    transform: none;
  }
}

/* ──────────────────────────────────────────────────────────────────────────
   Scroll-reveal (mirrors design-system/components/FadeIn.tsx)
   - duration: tokens.revealDuration (0.28s)
   - easing:   tokens.easeOutExpo (cubic-bezier(0.16, 1, 0.3, 1))
   - offset:   translate3d(0, 16px, 0) scale(0.96) + blur(3px)
   - trigger:  IntersectionObserver in script.js (threshold ~0.1)
   ────────────────────────────────────────────────────────────────────────── */
/* The reveal animates the section's inner content, NOT the section itself,
   so background colours stay painted (no white-then-colour pop on scroll). */
.reveal > * {
  opacity: 0;
  transform: translate3d(0, 16px, 0) scale(0.96);
  transform-origin: 50% 50%;
  filter: blur(3px);
  transition:
    opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform, filter;
}

.reveal.reveal--in > * {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal > *,
  .reveal.reveal--in > * {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}

.site-nav-chrome-root {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: var(--color-navy-900);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  transition: background-color 0.32s var(--ease-out-expo),
              border-bottom-color 0.32s var(--ease-out-expo);
}

.site-nav-chrome-root.is-scrolled {
  background: #fff;
  border-bottom-color: var(--color-stone-200);
}

.site-nav-chrome-root.is-on-soft-hero {
  background: var(--color-blue-100);
  
  border-bottom-color: rgb(227, 230, 232);
}

.site-nav-logo-primary,
.site-nav-logo-secondary,
.site-nav-secondary-links a {
  transition: color 0.32s var(--ease-out-expo);
}

.site-nav-chrome-root.is-scrolled .site-nav-logo-primary,
.site-nav-chrome-root.is-scrolled .site-nav-secondary-links a,
.site-nav-chrome-root.is-on-soft-hero .site-nav-logo-primary,
.site-nav-chrome-root.is-on-soft-hero .site-nav-secondary-links a {
  color: var(--color-navy-900);
}

.site-nav-chrome-root.is-scrolled .site-nav-logo-secondary,
.site-nav-chrome-root.is-on-soft-hero .site-nav-logo-secondary {
  color: var(--color-stone-500);
}

.site-nav-chrome-root.is-scrolled .site-nav-separator::before,
.site-nav-chrome-root.is-on-soft-hero .site-nav-separator::before {
  background: var(--color-stone-300);
}

.site-nav-cta {
  padding-top: 12px;
  padding-bottom: 12px;
}

.site-nav-hamburger {
  display: none;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: #fff;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xs);
  transition: color 0.32s var(--ease-out-expo),
              background-color 0.18s var(--ease-out-expo);
}

.site-nav-hamburger svg {
  width: 24px;
  height: 24px;
  display: block;
}

.site-nav-hamburger:hover {
  background-color: rgba(255, 255, 255, 0.08);
}

.site-nav-chrome-root.is-scrolled .site-nav-hamburger,
.site-nav-chrome-root.is-on-soft-hero .site-nav-hamburger {
  color: var(--color-navy-900);
}

.site-nav-chrome-root.is-scrolled .site-nav-hamburger:hover,
.site-nav-chrome-root.is-on-soft-hero .site-nav-hamburger:hover {
  background-color: rgba(10, 22, 40, 0.06);
}

.mobile-cta-bar {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  padding: 10px 20px;
  background: var(--color-navy-900);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.18);
  box-sizing: border-box;
  transition: transform 0.32s var(--ease-out-expo),
              opacity 0.32s var(--ease-out-expo);
}

.mobile-cta-bar__btn {
  width: 100%;
  justify-content: center;
  padding-top: 14px;
  padding-bottom: 14px;
}

.mobile-cta-bar[data-hidden="true"] {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

.mobile-menu-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 200;
  opacity: 0;
  transition: opacity 0.32s var(--ease-out-expo);
}

.mobile-menu-backdrop[data-open="true"] {
  opacity: 1;
  pointer-events: auto;
}

.mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: var(--site-nav-mobile-panel-width, 75vw);
  max-width: 420px;
  background: var(--color-navy-900);
  z-index: 201;
  box-sizing: border-box;
  padding: var(--onescript-site-nav-bar-height) var(--marketing-page-gutter-x) calc(20px + env(safe-area-inset-bottom, 0px));
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.32s var(--ease-out-expo);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.28);
}

.mobile-menu[data-open="true"] {
  transform: translateX(0);
}

.mobile-menu__close {
  position: absolute;
  top: 10px;
  right: var(--marketing-page-gutter-x);
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  border-radius: var(--radius-xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.18s var(--ease-out-expo);
}

.mobile-menu__close:hover {
  background: rgba(255, 255, 255, 0.08);
}

.mobile-menu__close svg {
  width: 26px;
  height: 26px;
  display: block;
}

.mobile-menu__links {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 50px;
  margin-top: 0;
  flex: 1;
  line-height: 1.3;
}

.mobile-menu__link {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h2);
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  letter-spacing: -0.01em;
  transition: color 0.2s ease;
}

.mobile-menu__link:hover,
.mobile-menu__link:focus-visible {
  color: var(--color-blue-300);
  outline: none;
}

.mobile-menu__footer {
  margin-top: auto;
  margin-left: calc(var(--marketing-page-gutter-x) * -1);
  margin-right: calc(var(--marketing-page-gutter-x) * -1);
  padding: 20px var(--marketing-page-gutter-x) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.mobile-menu__cta {
  width: 100%;
  justify-content: center;
  padding-top: 16px;
  padding-bottom: 16px;
}

body.is-menu-open {
  overflow: hidden;
}

@media (max-width: 767px) {
  .mobile-cta-bar { display: block; }
  .mobile-menu { display: flex; }
  .mobile-menu-backdrop { display: block; pointer-events: none; }

  .site-nav-cta--desktop { display: none; }
  .site-nav-hamburger { display: inline-flex; }

  /* Back-mode pages: show the "Get in touch" CTA in the header instead
     of the hamburger on mobile (no mobile drawer needed since the brand
     logo + secondary nav links are already hidden). */
  .site-nav-chrome-root--back-mode .site-nav-cta--desktop { display: inline-flex; }
  .site-nav-chrome-root--back-mode .site-nav-hamburger { display: none; }

  .site-nav-chrome-root .site-nav-logo {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    line-height: 1.2;
    white-space: normal;
  }

  .site-nav-chrome-root .site-nav-logo-primary,
  .site-nav-chrome-root .site-nav-logo-secondary { line-height: 1.25; }

  
.site-nav-cta {
  padding: 12px;
}
}

@media (max-width: 767px) {
  .hero-actions { width: 100%; }
  .hero-actions .btn-primary { width: 100%; justify-content: center; }
}

a.link,
a.link:visited {
  color: #0074C9;
  font-size: 17px;
}

@media (max-width: 767px) {
  a.link,
  a.link:visited {
    font-size: 14px;
  }
}

a.link:hover,
a.link:focus-visible {
  color: var(--color-blue-600);
}

a.link.marketing-text-cta-link--on-dark,
a.link.marketing-text-cta-link--on-dark:visited {
  color: #A8DBFF;
}

a.link.marketing-text-cta-link--on-dark:hover,
a.link.marketing-text-cta-link--on-dark:focus-visible {
  color: var(--color-blue-100);
}

.site-nav-bar-grid {
  width: var(--onescript-site-nav-column-width, 100%);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--site-nav-bar-gutter-x, var(--marketing-page-gutter-x));
  padding-right: var(--site-nav-bar-gutter-x, var(--marketing-page-gutter-x));
  height: var(--onescript-site-nav-bar-height);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-nav-logo {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
}

.site-nav-logo-primary {
  font-weight: 600;
  font-size: var(--type-caption);
  letter-spacing: -0.3px;
  color: #fff;
}

.site-nav-logo-secondary {
  font-weight: 400;
  font-size: var(--type-caption);
  color: #fff;
}

.site-nav-cta-row {
  display: flex;
  align-items: center;
  gap: 32px;
}

.site-nav-secondary-links {
  display: none;
  align-items: center;
  gap: 48px;
}

.site-nav-secondary-links a {
  font-size: var(--type-caption);
  font-weight: 600;
  letter-spacing: -0.1px;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.18s var(--ease-out-expo);
}

.site-nav-secondary-links a:hover {
  opacity: 0.7;
}

.site-nav-separator {
  display: none;
  width: 1px;
  align-self: stretch;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}

.site-nav-separator::before {
  content: "";
  width: 1px;
  height: calc(100% - 16px);
  background: #636f79;
}

@media (min-width: 768px) {
  .site-nav-secondary-links {
    display: flex;
  }

  .site-nav-separator {
    display: flex;
  }
}

.navy-hero {
  position: relative;
  width: 100%;
  background-color: var(--color-navy-900);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  padding-top: calc(var(--onescript-site-nav-bar-height) + 4.556rem);
  padding-bottom: clamp(1.519rem, 4.05dvh, 2.531rem);
  box-sizing: border-box;
}

.navy-hero-column {
  /* Hero column uses viewport-based width so it ignores the vertical
     scrollbar gutter — matches Next.js (66vw at ≥1441px = 1267px on a
     1920 viewport, vs. 1257px with `%`). */
  width: 80vw;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
  text-align: left;
  color: #fff;
}

@media (min-width: 1441px) {
  .navy-hero-column { width: 66vw; }
}

@media (max-width: 1024px) {
  .navy-hero-column { width: 100%; }
}

.navy-hero-text-column {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 25.6px;
}

.eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: var(--title-line-height);
  color: #fff;
  margin: 0;
}

.home-pg .hero-title { margin-top: 0; }

/* Three-group hero text layout.
   .navy-hero-text-column is flex-column with gap: 25.6px, so the gap
   between these three groups is automatically 25.6px. Internal gaps:
   - heading group (eyebrow + title):     8px
   - copy group   (body + features):     24px
   - actions group (button):              n/a (single child) */
.hero-heading-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.hero-copy-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

/* Gap between the three hero groups by breakpoint:
   - desktop (>=1025px):  25.6px (default on .navy-hero-text-column)
   - tablet  (768–1024):  28px
   - mobile  (<=767):     21.6px */
@media (min-width: 768px) and (max-width: 1024px) {
  .navy-hero-text-column { gap: 28px; }
}

@media (max-width: 767px) {
  .navy-hero-text-column { gap: 21.6px; }
}

.hero-title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-hero-display);
  font-weight: 600;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -0.024em;
  margin: 0;
  max-width: 100%;
}

@media (max-width: 767px) {
  .hero-title { max-width: 300px; }


}

.hero-title-accent {
  font-style: normal;
  color: var(--color-blue-300);
}

.hero-body {
  font-size: var(--type-body-lg);
  line-height: 1.68;
  color: #fff;
  margin: 0;
  max-width: 100%;
  text-wrap: pretty;
}

.hero-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* margin-top: 3px; */
}

.hero-feature {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  padding: 2px 0;
  box-sizing: border-box;
  font-size: var(--type-body);
  color: #fff;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.01em;
}

.hero-feature-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  color: var(--color-blue-300);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hero-feature-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke-width: 2.25;
}

.hero-feature-label {
  color: var(--color-blue-300);
  font-weight: 600;
}

.hero-actions {
  margin-top: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}


@media (min-width: 1025px) {
  .navy-hero {
    padding-top: calc(var(--onescript-site-nav-bar-height) + 4.5rem);
    padding-bottom: 4.5rem;
  }
}

.stats {
  background-color: var(--color-blue-500);
  color: #fff;
  width: 100%;
  padding: var(--marketing-section-pad-y) 0
}

.stats-inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: visible;
}

@media (min-width: 768px) {
  .stats-inner {
    flex-direction: row;
  }
}

.stat {
  flex: 1 0 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
  padding: 30px 12px;
  box-sizing: border-box;
}

.stat-number-wrap {
  position: relative;
  width: fit-content;
  margin: 0 auto;
}

.stat-number {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: var(--type-hero-display);
  color: #fff;
  line-height: 1.1;
  margin: 0;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.024em;
}

.stat-label {
  font-size: var(--type-caption);
  color: var(--color-blue-50);
  line-height: 1.8;
  margin: 0;
  width: 100%;
}

.stat-deco {
  position: absolute;
  pointer-events: none;
  user-select: none;
  display: block;
}

.stat-deco-curl {
  width: 42px;
  height: 52px;
  top: 14px;
  left: -50px;
  transform: scaleY(-1) rotate(-9deg);
}

.stat-deco-underline {
  width: 144px;
  height: 12px;
  top: 82px;
  left: 50%;
  transform: translateX(-50%) rotate(-0.5deg);
  margin-top: 2px;
}

.stat-deco-pop {
  width: 75px;
  height: 72px;
  top: -31px;
  left: 97px;
  transform: rotate(51deg);
}

.home-trust-strip {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-trust-strip__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
  text-align: center;
}

.home-trust-strip__heading {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h2);
  font-weight: 500;
  color: var(--color-navy-900);
  letter-spacing: -0.04em;
  line-height: var(--title-line-height);
  margin: 0 0 6px;
}

.home-trust-strip__subtitle {
  font-size: var(--type-body);
  color: var(--color-stone-800);
  line-height: 1.78;
  margin: 0 0 var(--section-content-stack-gap);
  text-wrap: pretty;
}

.home-trust-strip__partners {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  align-items: center;
  justify-items: center;
}

.home-trust-strip__partner-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-decoration: none;
  transition: opacity 0.18s var(--ease-out-expo);
}

.home-trust-strip__partner-link:hover {
  opacity: 0.82;
}

.home-trust-strip__partner-link:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  justify-self: center;
  max-width: calc(50% - 8px);
}

.home-trust-strip__partner-logo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 65px;
  aspect-ratio: 187 / 72;
  object-fit: contain;
}

@media (min-width: 1025px) {
  .home-trust-strip__partners {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--marketing-container-inner-gap);
  }

  .home-trust-strip__partner-link:last-child:nth-child(odd) {
    grid-column: auto;
    justify-self: center;
    max-width: none;
  }

  .home-trust-strip__partner-logo {
    max-height: 108px;
  }

}



.home-trust-strip__credentials {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: var(--section-content-stack-gap);
  padding-top: var(--section-content-stack-gap);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--marketing-container-inner-gap);
}

.home-trust-strip__credentials-label {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h4);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: var(--title-line-height);
  color: var(--color-navy-900);
  margin: 0;
  text-align: center;
  width: 100%;
}

.home-trust-strip__credentials-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.marketing-brand-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--color-stone-200);
  border-radius: var(--radius-xs);
  padding: 4px 8px;
  background: var(--color-stone-100);
  font-size: 10px;
  font-weight: 500;
  color: var(--color-stone-800);
  line-height: 1.42;
  text-decoration: none;
  outline: none;
  transition: background-color 0.2s ease;
  box-sizing: border-box;
}

.marketing-brand-tag:hover {
  background: var(--color-stone-200);
}

.marketing-brand-tag:focus-visible {
  background: var(--color-stone-200);
  outline: 2px solid var(--color-teal-500);
  outline-offset: 2px;
}

.marketing-brand-tag svg {
  width: 14px;
  height: 14px;
  color: var(--color-stone-800);
  stroke-width: 2;
  flex-shrink: 0;
  display: block;
}

.home-founder {
  background-color: var(--color-blue-800);
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
  color: #fff;
}

.home-founder__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.home-founder__intro {
  margin-bottom: 42.8px;
  text-align: center;
}

@media (min-width: 1025px) {
  .home-founder__intro { text-align: left; }
}

@media (max-width: 1024px) {
  .home-founder__title-accent { display: block; }
}

.home-founder__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-blue-100);
  line-height: var(--title-line-height);
  margin: 0 0 8px;
}

.home-founder__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1) !important;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
}

.home-founder__title-accent {
  color: var(--color-blue-300);
}

.home-founder__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--section-content-stack-gap);
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-sizing: border-box;
}

.home-founder__polaroid {
  display: flex;
  justify-content: center;
  width: 100%;
}

.home-founder__copy {
  width: 100%;
  text-align: center;
  background: var(--color-blue-900);
  border-radius: var(--radius-lg);
  padding: var(--home-founder-navy-panel-pad-y) var(--marketing-card-inset-lg);
  box-sizing: border-box;
}

.home-founder__body {
  font-size: var(--type-body);
  color: #fff;
  line-height: 1.78;
  margin: 0;
  text-wrap: pretty;
}

.home-founder__body + .home-founder__body {
  margin-top: 1em;
}

.home-founder__closing {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 600;
  color: var(--color-blue-200);
  line-height: 1.3;
  margin: var(--section-content-stack-gap) 0 0;
  letter-spacing: normal;
}

.home-founder__cta-row {
  margin-top: var(--section-content-stack-gap);
  display: flex;
  justify-content: flex-start;
}

.marketing-text-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body-lg) !important;
  font-weight: 700;
  color: var(--color-blue-500);
  text-decoration: none;
  transition: color 0.2s ease;
  width: max-content;
  max-width: 100%;
}

.marketing-text-cta-link--on-dark { color: var(--color-blue-200); }
.marketing-text-cta-link--on-dark:hover,
.marketing-text-cta-link--on-dark:focus-visible { color: var(--color-blue-100); }


.marketing-text-cta-link svg{
  flex-shrink: 0;
    width: 1em;
    height: 1em;
    display: block;
}
.home-cs__cta-link { margin-top: 0; }
.home-onboarding__cta-row { margin-top: 8px; }

.home-onboarding__cta-row--mobile { display: none; }

@media (max-width: 1024px) {
  .home-onboarding__cta-row--desktop { display: none; }
  .home-onboarding__cta-row--mobile {
    display: flex;
    width: 100%;
    margin-top: 0;
  }
  .home-onboarding__cta-row--mobile .btn-primary {
    width: 100%;
    justify-content: center;
  }
  .home-founder__eyebrow{
    letter-spacing: 0.04em;
  }
}

.marketing-text-cta-link__text {
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
}

.marketing-text-cta-link__text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s var(--ease-out-expo);
}

.marketing-text-cta-link:hover,
.marketing-text-cta-link:focus-visible {
  color: var(--color-blue-600);
  outline: none;
}

.marketing-text-cta-link:hover .marketing-text-cta-link__text::after,
.marketing-text-cta-link:focus-visible .marketing-text-cta-link__text::after {
  transform: scaleX(1);
}

.marketing-text-cta-link__arrow {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  transition: transform 0.32s var(--ease-out-expo);
}

.marketing-text-cta-link:hover .marketing-text-cta-link__arrow,
.marketing-text-cta-link:focus-visible .marketing-text-cta-link__arrow {
  transform: translateX(4px);
}

.founder-polaroid {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  padding: 5.517% 5.517% 0;
  box-shadow: rgba(0, 0, 0, 0.12) 0px 4px 14px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
  transform: rotate(-2.7deg);
  margin: 0;
}

/* .article-pg-polo{
    transform: rotate(-1.5deg) !important;
} */

.founder-polaroid__aperture {
  position: relative;
  width: 100%;
  aspect-ratio: 290 / 255;
  background: var(--color-stone-100);
  border-radius: var(--radius-xs);
  overflow: hidden;
}

.founder-polaroid__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.founder-polaroid__chin {
  width: 100%;
  aspect-ratio: 290 / 56;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  box-sizing: border-box;
}

.founder-polaroid__signature {
  margin: 0;
  font-family: "Shantell Sans", "Caveat", ui-sans-serif, system-ui;
  font-size: 13.38px;
  font-style: italic;
  font-weight: 500;
  color: var(--color-blue-900);
  line-height: 1.35;
  text-align: center;
}

@media (min-width: 768px) {
  .founder-polaroid__signature { font-size: 13.38px; }
}

.founder-polaroid__signature-accent {
  color: var(--color-blue-500);
}

@media (max-width: 1024px) {
  .home-founder__cta-row { justify-content: center; }

  .home-founder__polaroid .founder-polaroid {
    transform: none;
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
}

@media (min-width: 1025px) {
  .home-founder__card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: var(--color-blue-900);
    border-radius: var(--radius-lg);
  }

  .home-founder__polaroid {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    background: var(--color-blue-900);
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
  }

  .home-founder__polaroid .founder-polaroid {
    width: 518px;
    height: 523px;
    max-width: 100%;
  }

  .home-founder__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--home-founder-navy-panel-pad-y) var(--marketing-card-inset-lg);
    text-align: left;
    background: transparent;
    border-radius: 0;
  }

  .home-founder__cta-row {
    margin-top: var(--section-content-stack-gap);
  }
}

@media (prefers-reduced-motion: reduce) {
  .founder-polaroid {
    transform: none;
  }

  .marketing-text-cta-link::after,
  .marketing-text-cta-link__arrow {
    transition: none;
  }
}

.home-commitment {
  background-color: var(--color-surface-section-alt);
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-commitment__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.home-commitment__intro {
  text-align: center;
  width: 100%;
}

.home-commitment__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blue-600);
  line-height: var(--title-line-height);
  margin: 0;
}

.home-commitment__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h2);
  font-weight: 500;
  letter-spacing: -0.04em;
  color: var(--color-navy-900);
  line-height: var(--title-line-height);
  margin: 8px 0 0;
}

@media (max-width: 1024px) {

.marketing-quote-callout__inner{
  padding: 92px 18px 32px !important;
}

.operating-model-split__column{
  padding: 26px 18px 22px !important;
}

}
@media (max-width: 767px) {
  .home-commitment__title {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
    .stat-deco-curl{
    top: 5px !important;
  }
  .stat-deco-underline{
    top: 70px;
  }
  .stat-deco-pop{
    left: 70px;
  }
  .stats{
    padding: calc(var(--marketing-section-pad-y) * .35) 0 !important;
  }

  .home-founder__copy{
    padding-left: 28px;
    padding-right: 28px;
    text-wrap: pretty;
  }

  .home-founder__closing{
    line-height: 1.3;
    text-wrap: balance;
  }
  .founder-polaroid__signature{
    font-size: 10px;
  }


  .home-pg-mark .marketing-quote-callout__attribution{
        opacity: 0.67;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-wrap: pretty;
  }
  .operating-model-split__column{
   padding: 22px 14px 16px 14px !important;
  }
  .home-pg-callout{
    padding: 14px 14px 16px !important;
  }
  .flagship-card{
    height: auto !important;
    min-height: 0 !important;
  }
  .flagship-card__image{
    aspect-ratio: auto !important;
    height: 184px !important;
    width: 100% !important;
    flex: 0 0 184px !important;
    background: transparent !important;
    display: block !important;
    overflow: hidden !important;
  }
  .flagship-card__logo-pill {
    padding: 0 !important;
  }
  .flagship-card__logo-pill img{
    height: 48px !important;
  }
  .flagship-card__content{
    padding: 24px 28px !important;
  }

  .flagship-card__image picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }
  .flagship-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
  }

  .integration-card__lead{
    font-size: var(--type-small) !important;
  }
  .integration-card{
    padding: 24px 20px 0 !important;
  }
  .home-pg-callout{
    border: 1px solid #D6EEFF !important;
  }
  .home-cs__stat-pill{
    padding: 14px 14px 16px !important;
  }
  .home-cs__stat-pills{
    margin-bottom: 28px;
  }
  .manifesto-card{
    padding: 34px 30px 36px !important;
  }
  .qualification-card{
    padding: 30px 14px 32px !important;
  }
  .qualification-list__item{
    align-items: center !important;
  }
  /* #faqs-title{
    max-width: 270px;
  } */
}

.marketing-quote-callout {
  position: relative;
  width: 100%;
  background: var(--color-blue-100);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: var(--section-content-stack-gap);
  min-height: 179px;
}

.marketing-quote-callout__glyph {
  position: absolute;
  top: var(--section-content-stack-gap);
  left: 50%;
  transform: translateX(-50%);
  font-size: 80px;
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 600;
  color: var(--color-navy-900);
  letter-spacing: -0.02em;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

.marketing-quote-callout__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--section-content-stack-gap);
  padding-top: calc(var(--section-content-stack-gap) * 2 + 1.75rem);
  padding-bottom: var(--section-content-stack-gap);
padding-left: calc(var(--marketing-card-inset-lg) + 1.5rem);
    padding-right: calc(var(--marketing-card-inset-lg) + 1.5rem);
  width: 100%;
  box-sizing: border-box;
}

.marketing-quote-callout__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 400;
  color: var(--color-navy-900);
  line-height: 1.78;
  margin: 0;
}

.marketing-quote-callout__body strong {
  color: var(--color-blue-500);
  font-weight: 600;
}

.marketing-quote-callout__attribution {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-small);
  font-weight: 600;
  color: var(--color-navy-900);
  opacity: 0.67;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0;
}

.home-how-it-works {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-how-it-works__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.home-how-it-works__intro {
  margin-bottom: var(--section-content-stack-gap);
}

.home-how-it-works__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blue-600);
  line-height: var(--title-line-height);
  margin: 0 0 8px;
}

.home-how-it-works__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  letter-spacing: -0.024em;
  color: var(--color-navy-900);
  line-height: 1.1;
  margin: 0 0 16px;
}

@media (max-width: 767px) {
  .home-why__title {
    max-width: 320px;
  }
}

.mobile-only-br { display: none; }
@media (max-width: 767px) {
  .mobile-only-br { display: inline; }
}

.home-how-it-works__title-accent {
  color: var(--color-blue-500);
}

.home-how-it-works__subtitle {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif !important;
  font-size: var(--type-h3);
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  line-height: var(--title-line-height);
  margin: 0 0 12px;
}

.home-how-it-works__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  color: var(--color-stone-600);
  line-height: 1.78;
  /* margin: 0; */
}

.operating-model-split {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--color-stone-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.operating-model-split__grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
}

@media (min-width: 768px) {
  .operating-model-split__grid {
    grid-template-columns: 1fr 1fr;
  }
  
}

.operating-model-split__column {
  padding: 30px 22px 26px;
  /* padding-top: calc(var(--marketing-card-inset-lg) + 0.5rem); */
  box-sizing: border-box;
}

.operating-model-split__column--retain {
  background: #fff;
  color: var(--color-blue-800);
  border-top: 1px solid var(--color-stone-200);
}

.operating-model-split__column--retain:first-child {
  border-top: 0;
}

.operating-model-split__column--handles {
  background: var(--color-blue-700);
  color: #fff;
  border-top: 1px solid var(--color-blue-600);
}

@media (min-width: 768px) {
  .operating-model-split__column--retain {
    border-top: 0;
  }

  .operating-model-split__column--handles {
    border-top: 0;
    border-left: 1px solid var(--color-blue-600);
  }
}

.operating-model-split__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h5);
  font-weight: 600;
  color: inherit;
  margin: 0 0 var(--marketing-container-inner-gap);
  line-height: var(--title-line-height);
  letter-spacing: -0.02em;
}

.operating-model-split__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.operating-model-split__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  font-size: var(--type-caption);
  font-weight: 400;
  color: inherit;
  line-height: 1.6;
}

.operating-model-split__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.operating-model-split__icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.75;
  color: inherit;
  display: block;
}

.marketing-teal-policy-callout {
  margin-top: var(--section-content-stack-gap);
  background: #ffffff;
  border: 1px solid rgb(215, 220, 223);
  border-radius: var(--radius-md);
  padding: 22px;
  padding-bottom: calc(var(--marketing-card-inset-md) + var(--marketing-card-inset-bottom-extra));
  display: flex;
  align-items: flex-start;
  gap: 14px;
  box-sizing: border-box;
}
.home-pg-callout{
  background-color: #F0F9FF !important;
}

.marketing-teal-policy-callout__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-blue-600);
  margin-top: 0;
}

.marketing-teal-policy-callout__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke-width: 1.75;
}

.marketing-teal-policy-callout__content {
  flex: 1;
  min-width: 0;
}

.marketing-teal-policy-callout__kicker {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blue-600);
  margin: 0 0 8px;
  line-height: var(--title-line-height);
}

.marketing-teal-policy-callout__headline {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--color-blue-800);
  line-height: var(--title-line-height);
  margin: 0 0 6px;
}

.marketing-teal-policy-callout__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-small);
  color: var(--color-blue-800);
  line-height: 1.6;
  margin: 0;
}

.marketing-teal-policy-callout__body a {
  color: inherit;
  text-decoration: underline;
}

.home-why {
  background-color: var(--color-blue-800);
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
  color: #fff;
}

.home-why__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.home-why__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--section-content-stack-gap);
  align-items: start;
}

@media (min-width: 1025px) {
  .home-why__grid {
    grid-template-columns: 9fr 11fr;
    gap: var(--marketing-grid-gap);
    align-items: center;
  }

  .home-why__intro,
  .home-why__pillars {
    min-width: 0;
  }
}

.home-why__intro {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.home-why__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0;
  line-height: var(--title-line-height);
}

.home-why__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  letter-spacing: -0.024em;
  line-height: 1.1;
  color: #fff;
  margin: 0;
  /* max-width: 500px; */
}

.home-why__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  color: #fff;
  line-height: 1.78;
  margin: 4px 0 0;
  text-wrap: pretty;
  /* max-width: 480px; */
}

.navy-feature-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--marketing-container-inner-gap);
}

@media (min-width: 1024px) {
  .navy-feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.navy-feature-grid__card {
  background: var(--color-blue-700);
  border-radius: var(--radius-md);
  padding: var(--marketing-card-inset-lg);
  display: flex;
  flex-direction: column;
  gap: 24px;
  box-sizing: border-box;
}

.navy-feature-grid__icon {
  width: 32px;
  height: 32px;
  color: var(--color-blue-200);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.navy-feature-grid__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke-width: 1.5;
}

.navy-feature-grid__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.navy-feature-grid__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h5);
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
  margin: 0;
  letter-spacing: -0.02em;
}

.navy-feature-grid__body {
  font-size: var(--type-caption);
  color: var(--color-blue-100);
  line-height: 1.6;
  margin: 0;
  text-wrap: pretty;
}

.home-specialisms {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-specialisms__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.home-specialisms__intro {
  margin-bottom: var(--section-content-stack-gap);
}

.home-specialisms__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blue-600);
  margin: 0 0 8px;
  line-height: var(--title-line-height);
}

.home-specialisms__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  letter-spacing: -0.024em;
  line-height: 1.1;
  color: var(--color-navy-900);
  margin: 0 0 16px;
}

.home-specialisms__title-accent {
  color: var(--color-blue-500);
}

.home-specialisms__body {
  font-size: var(--type-caption);
  color: var(--color-stone-600);
  line-height: 1.78;
  margin: 0;
}

.flagship-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border-cool-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #fff;
  box-sizing: border-box;
  margin-bottom: 20px;
  height: 360px;
}

.flagship-card__image {
  background: var(--color-blue-50);
  /* display: flex; */
  align-items: center;
  /* justify-content: center; */
  overflow: hidden;
  /* aspect-ratio: 16 / 9; */
}

.flagship-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
      object-position: center top;
}

.flagship-card__content {
  padding: var(--marketing-card-inset-lg);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Three-group flagship card content layout.
   Outer gap (20px on .flagship-card__content) sits between text-group, logos, and CTA.
   Inner gap (16px) sits between the title and the body. */
.flagship-card__text-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.flagship-card__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif !important;
  font-size: var(--type-h3);
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  line-height: 1.3 !important; 
  margin: 0;
}

.flagship-card__body {
  font-size: var(--type-caption);
  color: var(--color-stone-800);
  line-height: 1.8;
  margin: 0;
  text-wrap: pretty;
}

.flagship-card__logos {
  display: flex;
  gap: 8px;
  align-items: stretch;
  width: 100%;
  flex-wrap: nowrap;
  margin-top: 14px;
}

.flagship-card__logo-pill {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: var(--radius-xs);
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.18s var(--ease-out-expo);
}

.flagship-card__logo-pill:hover {
  opacity: 0.82;
}

.flagship-card__logo-pill img {
  display: block;
  width: 100%;
  height: 48px !important;
  object-fit: contain;
  aspect-ratio: auto 374 / 144;
}

.flagship-card__cta {
  margin-top: 14px;
}

@media (min-width: 1025px) {
  .flagship-card {
    flex-direction: row;
    align-items: stretch;
    min-height: 362px;
  }

  .flagship-card__image {
    flex: 0 0 40%;
    /* aspect-ratio: auto; */
  }

  .flagship-card__content {
    flex: 1 1 60%;
    padding: calc(var(--marketing-card-inset-lg) * 2);
    justify-content: center;
  }

  .flagship-card__logos {
    flex-wrap: nowrap;
  }

  .flagship-card__logo-pill {
    flex: 1;
  }

}

.home-specialisms__secondary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: 100%;
}

@media (min-width: 1024px) {
  .home-specialisms__secondary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.marketing-icon-card {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: var(--marketing-card-inset-lg);
  background: var(--color-surface-page);
  border: 1px solid var(--color-border-cool-subtle);
  border-radius: var(--radius-lg);
  box-sizing: border-box;
}

.marketing-icon-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--color-blue-100);
  border-radius: var(--radius-xs);
  flex-shrink: 0;
  color: var(--color-navy-900);
}

.marketing-icon-card__icon svg {
  width: 28px;
  height: 28px;
  display: block;
  stroke-width: 1.75;
}

.marketing-icon-card__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.marketing-icon-card__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif !important;
  font-size: var(--type-h4);
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  line-height: 1.3 !important;
  margin: 0;
}

.marketing-icon-card__body {
  font-size: var(--type-small);
  color: var(--color-stone-800);
  line-height: 1.8;
  margin: 0;
  text-wrap: pretty;
}
.clicnical-eyebrow{
  color: var(--color-blue-600) !important;
}
.soft-hero {
  background-color: var(--color-blue-100);
  color: var(--color-navy-900);
  padding-top: calc(var(--onescript-site-nav-bar-height) + 3rem);
  padding-bottom: 3rem;
}

@media (min-width: 1025px) {
  .soft-hero {
    padding-top: calc(var(--onescript-site-nav-bar-height) + 4rem);
    padding-bottom: 4rem;
  }
}

.soft-hero--dense {
  padding-top: calc(var(--onescript-site-nav-bar-height) + 2rem);
  padding-bottom: 4.3rem;
}

@media (min-width: 1025px) {
  .soft-hero--dense {
    padding-top: calc(var(--onescript-site-nav-bar-height) + 3rem);
    padding-bottom: 4.3rem;
  }
}

.soft-hero__inner {
  /* Hero inner uses vw for scrollbar-independent width — matches Next.js. */
  width: 80vw;
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
  text-align: center;
}

@media (min-width: 1441px) {
  .soft-hero__inner { width: 66vw; }
}

@media (max-width: 1024px) {
  .soft-hero__inner { width: 100%; }
}

.soft-hero__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  letter-spacing: -0.024em;
  line-height: 1.1;
  color: var(--color-navy-900);
  margin: 0 0 25.6px;
  text-align: left;
}

.soft-hero__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body-lg);
  color: var(--color-stone-800);
  line-height: 1.68;
  /* max-width: 620px; */
  margin: 0 auto;
  text-align: left;
}

.wm-page__section {
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
  background-color: #F7F7F8;
}

.wm-page__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.wm-section--white { background-color: #fff; }
.wm-section--navy { background-color: var(--color-blue-800); color: #fff; }

.wm-section__intro { margin-bottom: var(--section-content-stack-gap); }

.wm-coverage {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--section-content-stack-gap);
  align-items: start;
}

@media (min-width: 1025px) {
  .wm-coverage {
    grid-template-columns: 1fr 1fr;
    gap: var(--marketing-grid-gap);
    align-items: center;
  }
}

.founder-cta{
  padding: 84px 0 !important;
  max-height: 303px;
}

.wm-coverage__intro .section-title {
  max-width: 460px;
  line-height: 1.1;
}

.wm-coverage__intro .section-body {
  max-width: 460px;
}

.wm-pg-cards .section-body{
  max-width: none;
}

.wm-coverage__heading {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;

    font-size: var(--type-h4);
      font-weight: 500;
  color: rgb(10, 22, 40);
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin: 0 0 16px 18px;
  /* max-width: 460px; */
}

.wm-coverage__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 0 24px;
}

.wm-coverage__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 20px;
  border-radius: var(--radius-lg);
  min-height: 110px;
  box-sizing: border-box;
  text-align: center;
}

.wm-coverage__card--nhs    { background: var(--color-navy-900); color: var(--color-blue-100); }
.wm-coverage__card--ins    { background: #4EC99B;               color: #0E2E18; }
.wm-coverage__card--priv   { background: var(--color-blue-200); color: var(--color-blue-800); }
.wm-coverage__card--pharma { background: rgba(229, 168, 59, 0.25);               color: #9a6210; }

.wm-coverage__card-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wm-coverage__card-icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 1.6;
}

.wm-coverage__card--nhs    .wm-coverage__card-icon { color: #D6EEFF; }
.wm-coverage__card--ins    .wm-coverage__card-icon { color: #185c47; }
.wm-coverage__card--priv   .wm-coverage__card-icon { color: #002A47; }
.wm-coverage__card--pharma .wm-coverage__card-icon { color: #9a6210; }

.wm-coverage__card-label {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h5);
  font-weight: 600;
  color: inherit;
  margin: 0;
  letter-spacing: -0.01em;
}

/* ------------------------------------------------------------------
 * Weight-management "Built into the platform" list (wm-builtin)
 * Rebuilt from scratch with flex only — matches Next.js MarketingPillarList
 * spec at every breakpoint.
 *
 * Layout:
 *   - Desktop/tablet (≥769px): title column + body inline, divided rows.
 *   - Mobile (≤768px): title stacks above body; body indents under icon.
 * ------------------------------------------------------------------ */
.wm-builtin {
  background: #ffffff;
  border-radius: var(--radius-xl);
  padding: 8px 32px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
}

.wm-builtin__row {
  display: flex;
  align-items: center;
  padding: 16px 0;
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid var(--color-stone-200);
}

.wm-builtin__row:last-child {
  border-bottom: 0;
}

.wm-builtin__title-col {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 388px;
  flex-shrink: 0;
}

.wm-builtin__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--color-navy-900);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wm-builtin__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.wm-builtin__title-col > svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--color-navy-900);
  display: block;
}

.wm-builtin__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--color-navy-900);
  line-height: 1.6;
  letter-spacing: -0.01em;
  margin: 0;
}

.wm-builtin__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-small);
  color: var(--color-stone-800);
  line-height: 1.78;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}

/* Tablet + desktop (≥769px): title flexes; body fills 65% of the row. */
@media (min-width: 769px) {
  .wm-builtin__title-col {
    flex: 1 1 0;
    width: auto;
  }
  .wm-builtin__body {
    flex: 0 0 65%;
    max-width: 65%;
  }
}

/* Mobile (≤768px): row stacks; body indents under the icon so its left
   edge aligns with the title text after the icon + gap. */
@media (max-width: 768px) {
  .wm-builtin {
    padding-left: 16px;
    padding-right: 16px;
  }
  .wm-builtin__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  .wm-builtin__title-col {
    width: auto;
  }
  .wm-builtin__body {
    padding-left: 32px;
  }
}

.wm-platform__subhead {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif !important;
  font-size: var(--type-h3);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  margin: 0 0 14px;
}

.wm-programmes {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wm-flagship {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border-cool-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #fff;
  box-sizing: border-box;
}

.wm-flagship__image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #FFB8B1;
}

.wm-flagship__image img {
  width: 57.5%;
  max-width: 100%;
  max-height: 80%;
  object-fit: contain;
  display: block;
}

.wm-flagship__content {
  padding: var(--marketing-card-inset-lg);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wm-flagship__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif !important;
  font-size: var(--type-h2);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  line-height: 1.3;
  margin: 0;
}

.wm-flagship__body {
  font-size: var(--type-caption);
  color: var(--color-stone-800);
  line-height: 1.78;
  margin: 0;
  text-wrap: pretty;
}

@media (min-width: 1025px) {
  .wm-flagship {
    flex-direction: row;
    align-items: stretch;
    min-height: 360px;
  }

  .wm-flagship__image {
    flex: 0 0 40%;
    aspect-ratio: auto;
  }

  .wm-flagship__content {
    flex: 1 1 60%;
    padding: calc(var(--marketing-card-inset-lg) * 2);
    justify-content: center;
  }
}

.wm-chip {
  display: inline-flex;
  align-items: center;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  width: max-content;
  max-width: 100%;
  text-transform: uppercase;


    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 2px 9px;
    border-radius: 4.679387px;
    align-self: flex-start;
}

.wm-chip--navy   { background: var(--color-navy-900);  color: var(--color-blue-100); }
.wm-chip--green  { background: #4EC99B;                color: #185c47; }
.wm-chip--blue   { background: var(--color-blue-200);  color: #002A47; }
.wm-chip--amber  { background: rgba(229, 168, 59, 0.25); color: #9a6210; }

.wm-programmes__secondary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 1024px) {
  .wm-programmes__secondary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.wm-programme-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border-cool-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: #fff;
}

.wm-programme-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: 180px;
  width: 100%;
  flex-shrink: 0;
}

.wm-programme-card__image img {
  width: 90%;
  max-height: 90%;
  object-fit: contain;
  display: block;
}

.wm-programme-card--vitality .wm-programme-card__image { background: #FF005E; }
.wm-programme-card--slimmr   .wm-programme-card__image { background: #79A3D6; }
.wm-programme-card--liva     .wm-programme-card__image { background: #FCF6ED; }

.wm-programme-card__content {
  padding: var(--marketing-card-inset-lg);
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.onescript-page .wm-programme-card__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h4);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  line-height: 1.3;
  margin: 0;
}

.wm-programme-card__body {
  font-size: var(--type-caption);
  color: var(--color-stone-800);
  line-height: 1.6;
  margin: 0;
  text-wrap: pretty;
}

.contact-form-section {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.contact-form-section__inner {
  width: var(--onescript-page-column-width, 100%);
  /* max-width: 720px; */
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.soft-hero__callout {
  margin-top: 37.6px;
  text-align: left;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--form-field-gap);
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-field__label {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--color-navy-900);
  line-height: 1.4;
}

.form-field__optional {
  margin-left: 4px;
  font-weight: 400;
  color: var(--color-stone-500);
}

.form-field__input,
.form-field__textarea {
  width: 100%;
  background: #fff;
  border: 1px solid var(--color-stone-150);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  line-height: 1.5;
  color: var(--color-navy-900);
  box-sizing: border-box;
  transition: border-color 0.2s var(--ease-out-expo);
}

.form-field__input:focus,
.form-field__textarea:focus {
  outline: none;
  border-color: var(--color-teal-500);
}

.form-field--error .form-field__input,
.form-field--error .form-field__textarea {
  border-color: #C0392B;
  background: #FDF5F4;
}

.form-field--error .form-field__input:focus,
.form-field--error .form-field__textarea:focus {
  border-color: #C0392B;
}

.form-field__error {
  display: none;
  margin: 6px 0 0;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-small);
  font-weight: 500;
  color: #C0392B;
  line-height: 1.4;
}

.form-field--error .form-field__error {
  display: block;
}

.form-radio-group--error .form-radio-option {
  border-color: #C0392B;
}

.form-radio-group--error .form-field__error {
  display: block;
}

.form-field__textarea {
  min-height: 140px;
  resize: vertical;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
}

@media (max-width: 600px) {
  .form-field__input,
  .form-field__textarea {
    font-size: 16px;
  }
}

.form-radio-group {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-radio-group__legend {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--color-navy-900);
  padding: 0;
  margin-bottom: 4px;
}

.form-radio-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-radio-option {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--color-stone-150);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  line-height: 1.5;
  color: var(--color-navy-900);
  cursor: pointer;
  transition: border-color 0.18s var(--ease-out-expo),
              background-color 0.18s var(--ease-out-expo);
}

.form-radio-option:hover {
  border-color: var(--color-stone-300);
  background: var(--color-stone-50);
}

.form-radio-option input[type="radio"] {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--color-teal-500);
}

.form-radio-option:has(input[type="radio"]:checked) {
  border-color: var(--color-navy-900);
}

.form-radio-option:has(input[type="radio"]:checked) .form-radio-option__label {
  font-weight: 600;
}

.contact-form__submit-row { margin-top: 8px; }

.contact-form__submit {
  width: 100%;
  justify-content: center;
  padding-top: 16px;
  padding-bottom: 16px;
}

.contact-form__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.form-success {
  background: var(--color-blue-50);
  border: 1px solid var(--color-blue-100);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  text-align: center;
}

.form-success__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h3);
  font-weight: 500;
  color: var(--color-navy-900);
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}

.form-success__body {
  font-size: var(--type-body-lg);
  color: var(--color-stone-700);
  line-height: 1.6;
  margin: 0;
}

.form-success__body a {
  color: var(--color-teal-500);
  text-decoration: underline;
}

.form-success { margin-bottom: var(--section-content-stack-gap); }

.article-hero {
  background-color: var(--color-blue-100);
  color: var(--color-navy-900);
  padding-top: calc(var(--onescript-site-nav-bar-height) + 2rem);
  padding-bottom: 2.5rem;
}

@media (min-width: 1025px) {
  .article-hero {
    padding-top: calc(var(--onescript-site-nav-bar-height) + 3rem);
    padding-bottom: 3rem;
  }
}

.article-hero__inner {
  /* Hero inner uses vw for scrollbar-independent width — matches Next.js. */
  width: 80vw;
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

@media (min-width: 1441px) {
  .article-hero__inner { width: 66vw; }
}

@media (max-width: 1024px) {
  .article-hero__inner { width: 100%; }
}

.site-nav-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 24px;
  border-radius: var(--radius-md);
  border: 1.5px solid rgba(10, 22, 40, 0.4);
  background: transparent;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--color-navy-900);
  text-decoration: none;
  transition: background-color 0.18s var(--ease-out-expo),
              border-color 0.18s var(--ease-out-expo),
              color 0.18s var(--ease-out-expo);
  white-space: nowrap;
}

.site-nav-back:hover,
.site-nav-back:focus-visible {
  background-color: var(--color-blue-800);
  border-color: var(--color-blue-800);
  color: #fff;
  outline: none;
}

/* Over a navy hero (no .is-scrolled / .is-on-soft-hero class yet) → light back button */
.site-nav-chrome-root:not(.is-scrolled):not(.is-on-soft-hero) .site-nav-back {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
}

.site-nav-chrome-root:not(.is-scrolled):not(.is-on-soft-hero) .site-nav-back:hover,
.site-nav-chrome-root:not(.is-scrolled):not(.is-on-soft-hero) .site-nav-back:focus-visible {
  background-color: #fff;
  border-color: var(--color-navy-900);
  color: var(--color-navy-900);
}

.site-nav-back svg {
  width: 13px;
  height: 13px;
  display: block;
  stroke-width: 2.2;
}

.site-nav-chrome-root--back-mode .site-nav-logo { display: none; }
.site-nav-chrome-root--back-mode .site-nav-secondary-links { display: none; }
.site-nav-chrome-root--back-mode .site-nav-separator { display: none; }

.article-hero__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blue-600);
  line-height: var(--title-line-height);
  margin: 0 0 26px;
}

.article-hero__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  color: var(--color-navy-900);
  letter-spacing: -0.024em;
  line-height: 1.1;
  margin: 0 0 25.6px;
  text-wrap: balance;
}

.article-hero__dek {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body-lg);
  font-style: italic;
  color: var(--color-stone-700);
  line-height: 1.68;
  margin: 0 0 25.6px;
}

.article-hero__meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-small);
  color: var(--color-stone-600);
  line-height: 1.6;
  font-weight: 400;
}

.article-hero__byline {
  font-weight: 600;
  color: rgb(10, 22, 40);
}

.article-hero__meta-sep { color: var(--color-stone-500); }

.article-body {
  background-color: #fff;
padding: 56px 0;
}

.article-body__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
  text-wrap: pretty;
}


.onescript-page .article-paragraph {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.75;
  color: var(--color-navy-900);
  margin: 0 0 1.5rem;
}

.onescript-page .article-paragraph--lede {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.65;
}

.article-paragraph em,
.article-standalone-line em { font-style: italic; }

.article-standalone-line {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-style: italic;
  line-height: 1.75;
  color: var(--color-navy-900);
  margin: 0 0 1.5rem;
}

.article-divider {
  width: 40px;
  height: 0;
  border: 0;
  border-top: 1px solid var(--color-stone-300);
  margin: 2.5rem auto;
}

.article-callout {
  margin: 2.5rem 0;
}

.article-opening-split {
  display: grid;
  gap: var(--section-content-stack-gap);
  align-items: center;
  margin-bottom: 1.5rem;
}

@media (min-width: 1025px) {
  .article-opening-split {
    grid-template-columns: 1fr 495px;
    gap: 2.5rem;
    align-items: center;
  }
}

.article-opening-split__polaroid {
  display: flex;
  justify-content: center;
}

.article-opening-split__polaroid .founder-polaroid {
  max-width: 550px;
}

.article-pg-poloroid .founder-polaroid {
  max-width: 495px;
  transform: rotate(-1.5deg) !important;
}

@media (max-width: 1024px) {
  .article-opening-split__polaroid .founder-polaroid {
    max-width: 100%;
    width: 100%;
    margin: 0;
    transform: none;
  }
}

.article-read-next {
  background-color: var(--color-stone-50);
  padding: 2.1875rem 0;
}

@media (min-width: 1025px) {
  .article-read-next { padding: 3.5rem 0; }
}

.article-read-next__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.article-read-next__heading {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h3);
  font-weight: 600;
  color: var(--color-navy-900);
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}

.article-read-next__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

@media (min-width: 768px) {
  .article-read-next__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.article-read-next .explore-card__eyebrow {
  display: inline-flex;
  background: var(--color-stone-100);
  color: var(--color-blue-700);
  padding: 4px 8px;
  border-radius: 4.5px;
  width: max-content;


    font-size: var(--type-eyebrow-sm);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #005C9E;
    line-height: var(--title-line-height);
    margin-top: 0;
}

.article-read-next__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 20px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body-lg);
  font-weight: 700;
  color: var(--color-blue-500);
  text-decoration: none;
  transition: color 0.2s ease;
}

.article-read-next__back > span {
  position: relative;
  display: inline-block;
}

.article-read-next__back > span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s var(--ease-out-expo);
}

.article-read-next__back:hover > span::after,
.article-read-next__back:focus-visible > span::after {
  transform: scaleX(1);
}

.article-read-next__back:hover,
.article-read-next__back:focus-visible {
  color: var(--color-blue-600);
  outline: none;
}

.article-read-next__back-arrow {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: block;
  transition: transform 0.32s var(--ease-out-expo);
}

.article-read-next__back:hover .article-read-next__back-arrow,
.article-read-next__back:focus-visible .article-read-next__back-arrow {
  transform: translateX(-4px);
}

.faq-pg-body{
  color: rgb(74, 82, 89) !important;
  line-height: 1.68;
}

.faqs-list {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.faqs-list__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.faq-accordion-shell {
  display: flex;
  flex-direction: column;
  gap: var(--section-content-stack-gap);
}

.faq-group { display: block; }

.insights-list {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.insights-list__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.insights-list__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 479px) {
  .insights-list__grid {
    grid-template-columns: 1fr;
  }
}

.home-clinical {
  background-color: var(--color-stone-50);
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-clinical__inner,
.home-integration__inner,
.home-cs__inner,
.home-manifesto__inner,
.home-fit__inner,
.home-onboarding__inner,
.home-faqs__inner,
.home-more__inner,
.home-final-cta__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.home-clinical__intro {
  margin-bottom: var(--section-content-stack-gap);
}

.section-eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blue-600);
  margin: 0 0 8px;
  line-height: var(--title-line-height);
}

.section-eyebrow--on-dark { color: var(--color-blue-100); }
.section-eyebrow--neutral { color: var(--color-stone-500); }

.section-title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  letter-spacing: -0.024em;
  line-height: 1.05;
  color: var(--color-navy-900);
  margin: 0 0 16px;
}

.section-title--on-dark { color: #fff; }
.section-title-accent { color: var(--color-blue-500); }

.section-body {
  font-size: 14px !important;
  color: var(--color-stone-800);
  line-height: 1.78;
  margin: 0;
}

.clinical-body{
  font-size: 14px !important;
  color: var(--color-stone-600) !important;

}

.section-body--on-dark { color: rgba(255,255,255,0.92); }

.video-card {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  width: 100%;
}

.video-card__media-picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.video-card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.video-card[data-playing="true"] .video-card__media-picture { display: none; }

.video-card__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
  background: #000;
  z-index: 1;
}

.video-card[data-playing="true"] .video-card__media,
.video-card[data-playing="true"] .video-card__overlay,
.video-card[data-playing="true"] .video-card__play,
.video-card[data-playing="true"] .video-card__credit {
  display: none;
}

.video-card[data-playing="true"] .video-card__video {
  display: block;
}

.video-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 22, 40, 0.33);
}

.video-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  cursor: pointer;
  transition: transform 0.12s var(--ease-out-expo), background-color 0.2s ease;
}

.video-card__play:hover { background: #fff; }
.video-card__play:active { transform: translate(-50%, -50%) scale(0.96); }

.video-card__play svg {
  width: 22px;
  height: 22px;
  /* margin-left: 3px; */
  color: var(--color-navy-900);
  display: block;
}

@media (max-width: 767px) {
  .video-card__play {
    width: 60px;
    height: 60px;
  }
  .video-card__play svg {
    width: 30px;
    height: 30px;
  }
  .home-how-it-works__subtitle {
      max-width: 300px;
  }
}

.video-card__credit {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 100px 40px 40px;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
  display: flex;
  align-items: center;
  gap: 20px;
  box-sizing: border-box;
}

.video-card__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  object-fit: cover;
}

.video-card__credit-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.video-card__name {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 600;
  color: var(--color-blue-300);
  line-height: 1.4;
  margin: 0;
}

.video-card__role {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 600;
  color: var(--color-blue-50);
  line-height: 1.4;
  margin: 0;
}

.video-card__creds {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--color-stone-400);
  line-height: 1.5;
  margin: 0;
  letter-spacing: -0.01em;
}

@media (max-width: 768px) {
  .video-card { aspect-ratio: 16 / 21.6; }
  .video-card__credit { padding: 60px 24px 24px; flex-direction: column; align-items: flex-start; gap: 14px; }
  .video-card__avatar { width: 56px; height: 56px; }
}

.home-integration {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-integration__intro { margin-bottom: 44.4px; }

.integ{
  color: var(--color-blue-600) !important;
}

.integ-body{
  color: var(--color-stone-600) !important;
}

.integration-flow {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
}

@media (min-width: 768px) {
  .integration-flow {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.integration-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  border-radius: var(--radius-lg);
  border: 1px solid #E3E6E8;

  padding: 32px 20px 0;
  background: var(--color-stone-50);
  overflow: hidden;
  box-sizing: border-box;
  text-align: center;
}

@media (min-width: 768px) {
  .integration-card--side {
    align-self: center;
    height: 90%;
  }
  .integration-card--center {
    align-self: stretch;
    height: 100%;
  }
}

.integration-card__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.integration-card--center {
  background: var(--color-blue-700);
  /* border-color: var(--color-blue-700); */
  color: #fff;
  text-align: center;
}

.integration-card__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif !important;
  font-size: var(--type-h4);
  font-weight: 500;
  color: var(--color-navy-900);
  margin: 0;
  letter-spacing: -0.02em;
  line-height: var(--title-line-height);
  text-align: center;
}

.integration-card--center .integration-card__title {
  color: #fff;
  /* font-size: var(--type-h3); */
}

.integration-card__lead {
  font-size: var(--type-caption);
  color: var(--color-stone-700);
  line-height: 1.78;
  margin: 0;
  text-align: center;
}

.integration-card--center .integration-card__lead { color: var(--color-blue-100); }

.integration-card__image {
  width: 100%;
  flex: 1 1 auto;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: var(--color-blue-100);
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  line-height: 0;
}

.integration-card__image svg {
  display: block;
  width: 100%;
  height: auto;
}

.integration-flow__connector {
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-blue-100);
  border: 1px solid #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
}

.integration-flow__connector svg {
  width: 14px;
  height: 14px;
  color: var(--color-navy-900);
  display: block;
}

.integration-flow__connector--left { left: calc(33.333% - 20px); }
.integration-flow__connector--right { left: calc(66.666% - 20px); }

@media (max-width: 767px) {
  .integration-flow {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 12px auto 12px auto;
    justify-items: center;
    overflow: visible;
    position: relative;
    gap: 0;
  }

  .integration-card--side { width: 82.5%; height: 173px !important; }
  .integration-card--center { width: 100%; height: 203px !important;}

  .integration-card:nth-of-type(1) { grid-row: 1; }
  .integration-card:nth-of-type(2) { grid-row: 3; }
  .integration-card:nth-of-type(3) { grid-row: 5; }

  .integration-flow__connector {
    position: relative;
    top: auto;
    left: auto;
    bottom: auto;
    transform: none;
    margin: 0;
    align-self: center;
    justify-self: center;
    z-index: 2;
  }

  .integration-flow__connector--left { grid-row: 2; }
  .integration-flow__connector--right { grid-row: 4; }

  .integration-flow__connector svg {
    transform: rotate(90deg);
  }

  .integration-pillars{
    padding: 8px 16px !important;
  }
  .integration-pillar__body{
    margin-left: 30px !important;
  }
}

.integration-pillars {
  margin-top: 68px;
  background: var(--color-stone-50);
  /* border: 1px solid var(--color-stone-200); */
  border-radius: 18.5px;
  overflow: hidden;
  padding: 8px 32px;
}

.integration-pillar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid rgb(227, 230, 232);
}

.integration-pillar:last-child { border-bottom: 0; }

@media (min-width: 768px) {
  .integration-pillar {
    grid-template-columns: minmax(220px, 1fr) 2fr;
    gap: var(--marketing-grid-gap);
    align-items: center;
  }
}

/* Tablet (iPad Air range): shrink the title column to its content so the
   short titles don't leave a dead gap before the body column. */
@media (min-width: 768px) and (max-width: 1024px) {
  .integration-pillar {
    grid-template-columns: auto 1fr;
  }
}

.integration-pillar__heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.integration-pillar__icon {
  width: 20px;
  height: 20px;
  color: var(--color-navy-900);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.integration-pillar__icon svg { width: 100%; height: 100%; display: block; }

.integration-pillar__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--color-navy-900);
  margin: 0;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.integration-pillar__body {
  font-size: var(--type-small);
  color: var(--color-stone-800);
  line-height: 1.78;
  margin: 0;
}

.integration-cta-row {
  margin-top: var(--section-content-stack-gap);
  display: flex;
}

@media (max-width: 767px) {
  .integration-cta-row { width: 100%; }

}

.cust-service{
    font-weight: 600;
    margin-bottom: 20px !important;
    line-height: 1.1;
}

.home-cs__content .section-eyebrow{
  color: var(--color-blue-600);
  margin-bottom: 14px;
}
.home-cs__content .section-body{
  font-size: 16px !important;
  margin-bottom: 34px !important; 

}
.home-cs {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-cs__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--section-content-stack-gap);
  align-items: center;
}
@media (max-width: 1024px) {
  .home-cs__content {
    order: 2;
    text-align: center;
    align-items: center;
  }
  .home-cs__polaroid-wrap { order: 1; }
  .home-cs__content .home-cs__cta-link { align-self: center; }
}

@media (min-width: 1025px) {
  .home-cs__row { grid-template-columns: 1fr 1fr; gap: calc(var(--marketing-grid-gap) + var(--section-content-stack-gap)); }
}

.home-cs__content { display: flex; flex-direction: column;  }

.home-cs__stat-pills {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--marketing-grid-gap);
  margin-bottom: 34px;
}

.home-cs__stat-pill {
  background: var(--color-blue-800);
  border-radius: var(--radius-xl);
  padding: 22px 22px 27px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: center;
  gap: 4px;
}

.home-cs__stat-value {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h2);
  font-weight: 600;
  color: var(--color-blue-200);
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  margin: 0;
  letter-spacing: -0.04em;
}

.home-cs__stat-label {
  font-size: var(--type-dense-body-xs);
  color:#ffffff;
  line-height: 1.6;
  margin: 0;
}

.home-cs__polaroid-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.home-cs__polaroid {
  width: 100%;
  max-width: 100%;
  transform: none;
  margin: 0;
}

@media (min-width: 1025px) {
  .home-cs__polaroid {
    width: 518px;
    height: 523px;
    max-width: 100%;
    transform: rotate(-1.5deg);
    margin: 0 auto;
  }
}

.home-manifesto {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}
.home-manifesto__intro .section-eyebrow{
  color: var(--color-blue-600) !important;
}

.home-manifesto__intro .section-body{
  font-size: 16px !important;
  color: #31363A !important;
}
.home-manifesto__intro { margin-bottom: var(--section-content-stack-gap); }

.manifesto-card {
  background: var(--color-blue-700);
  border: 1px solid var(--color-blue-600);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  color: #fff;
}

@media (min-width: 1025px) {
  .manifesto-card { padding: 41px 38px 45px; }
}

.manifesto-card__eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-blue-100);
  margin: 0 0 12px;
  line-height: 1.3;
}

.manifesto-card__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif !important;
  font-size: var(--type-h3);
  font-weight: 600;
  color: var(--color-blue-50);
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
}

.manifesto-card__body {
  font-size: var(--type-caption);
  color: var(--color-blue-50);
  line-height: 1.78;
  margin: 0;
  letter-spacing: 0.005em;
}

.home-manifesto__cta-row {
  margin-top: var(--section-content-stack-gap);
  display: flex;
}

@media (max-width: 767px) {
  .home-manifesto__cta-row { justify-content: left; }
}

.home-fit {
  background-color: #F7F7F8;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}
.home-fit__intro .section-eyebrow{
  color: var(--color-blue-600) !important;
}
.home-fit__intro { margin-bottom: var(--section-content-stack-gap); }

.qualification-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 1025px) {
  .qualification-grid { grid-template-columns: 1fr 1fr; align-items: stretch; }
}

@media (max-width: 1024px) {
  /* .home-fit__intro .section-body { max-width: 480px; } */
  .home-fit__cta-row { width: 100%; }
  .home-fit__cta-row .btn-primary {
    width: 100%;
    justify-content: center;
  }
}

.qualification-card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-stone-200);
  padding: 34px 22px 38px;
  background: #fff;
}

.qualification-card--positive { background: var(--color-blue-100); border-color: var(--color-blue-100); }

.qualification-card__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h4);
  font-weight: 600;
  color: var(--color-stone-800);
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin: 0 0 24px;
}

.qualification-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.qualification-list__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--type-caption);
  color: var(--color-stone-800);
  line-height: 1.6;
}

.qualification-list__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  /* margin-top: 2px; */
}

.qualification-list__icon svg { width: 15px; height: 100%; display: block; stroke-width: 2.65; }
.qualification-card--positive .qualification-list__icon { color: var(--color-blue-500); }
.qualification-card--negative .qualification-list__icon { color: var(--color-stone-400); }

.home-fit__footnote {
  font-size: var(--type-caption);
  color: var(--color-stone-500);
  font-style: italic;
  margin: var(--marketing-container-inner-gap) 0 0;
}

.home-fit__cta-row { margin-top: var(--section-content-stack-gap); }

.home-onboarding {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-onboarding__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--section-content-stack-gap);
  align-items: center;
}

@media (min-width: 1025px) {
  .home-onboarding__grid { grid-template-columns: 1fr 1fr; gap: var(--marketing-grid-gap); }
}
.home-onboarding__lead .section-eyebrow{
  color: var(--color-blue-600) !important;
}

.home-onboarding__lead .section-title{
  line-height: 1.1 !important;
}

.home-onboarding__lead .section-body{
  margin-bottom: 8.8px;
}
.home-onboarding__lead { display: flex; flex-direction: column;  }

.home-onboarding__cta-row{
  margin-top: 20px !important;
}
.home-onboarding__timeline {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.onboarding-step {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-radius: var(--radius-md);
  color: #fff;
  box-sizing: border-box;
}

.onboarding-step--1 { background: var(--color-blue-500); }
.onboarding-step--2 { background: var(--color-blue-600); }
.onboarding-step--3 { background: var(--color-blue-700); }
.onboarding-step--4 { background: var(--color-blue-800); }

.onboarding-step__badge {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  color: var(--color-navy-900);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px !important;
}

.onboarding-step__text { flex: 1; }

.onboarding-step__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h4);
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: var(--title-line-height);
  margin: 0 0 4px;
}

.onboarding-step__body {
  font-size: var(--type-dense-body-xs);
  color: rgba(255,255,255,0.85);
  line-height: 1.6;
  margin: 0;
}

.home-faqs {
  background-color: #F7F7F8;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-faqs__intro .section-eyebrow{
  color: var(--color-blue-600) !important;
}

.home-faqs__intro { margin-bottom: var(--section-content-stack-gap); }

.faq-accordion__group-label {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h6);
  font-weight: 600;
  color: var(--color-stone-700);
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  line-height: 1.3;
}
.faq-pg-cta .home-final-cta__title{
  margin-bottom: 32px !important;
}
.faq-accordion {
  border: 1px solid var(--color-stone-200);
  border-radius: var(--radius-lg);
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15,23,42,0.05);
}

.faq-item {
  border-bottom: 1px solid var(--color-stone-200);
  background: #fff;
}

.faq-item:last-child { border-bottom: 0; }

.faq-item__summary {
  list-style: none;
  cursor: pointer;
  padding: 13px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  background-color: var(--color-surface-page, #fff);
  transition: background-color 0.15s ease;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: rgb(10, 22, 40);
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.faq-item:not([open]) .faq-item__summary:hover {
  background-color: var(--color-stone-50, #F7F7F8);
}

.faq-item__summary::-webkit-details-marker { display: none; }
.faq-item__summary::marker { content: ""; }

@media (min-width: 768px) {
    .faq-item__answer { padding-bottom: 20px !important; }
}

.faq-item__question {
  flex: 1;
}

.faq-item__chevron {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-xs);
  background: var(--color-stone-50);
  border: 1px solid var(--color-stone-200);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-stone-700);
  transition: transform 0.32s var(--ease-out-expo);
}

.faq-item__chevron svg { width: 14px; height: 14px; stroke-width: 2.5; display: block; color: rgb(0, 42, 71);}

.faq-item[open]:not(.is-closing) .faq-item__chevron {
  transform: rotate(180deg);
}

.faq-item__answer-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.32s var(--ease-out-expo);
}

.faq-item[open]:not(.is-closing) .faq-item__answer-wrapper {
  grid-template-rows: 1fr;
}

.faq-item__answer-inner {
  min-height: 0;
  overflow: hidden;
}

.faq-item__answer {
  padding: 6px 80px 20px 22px;
  font-size: var(--type-caption);
  color: var(--color-stone-600);
  line-height: 1.6;
  margin: 0;
  opacity: 0;
  transition: opacity 0.24s var(--ease-out-expo);
}

.faq-item[open]:not(.is-closing) .faq-item__answer {
  opacity: 1;
  transition: opacity 0.28s var(--ease-out-expo) 0.08s;
}

.faq-item__answer a {
  color: var(--color-blue-500);
  text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
  .faq-item__answer-wrapper,
  .faq-item__answer,
  .faq-item__chevron { transition: none; }
}

.home-faqs__cta-row { margin-top: var(--section-content-stack-gap); }

.home-more {
  background-color: #fff;
  padding-top: var(--marketing-section-pad-y);
  padding-bottom: var(--marketing-section-pad-y);
}

.home-more__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h3);
  font-weight: 600;
  color: var(--color-navy-900);
  letter-spacing: 0;
  margin: 0 0 var(--section-content-stack-gap);
  line-height: 1.1 !important;
}

.home-more__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (min-width: 1025px) {
  .home-more__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.explore-card {
  background: var(--color-surface-page);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-cool-subtle);
  box-shadow: none;
  padding: calc(var(--marketing-card-inset-sm-y) + 0.12rem) var(--marketing-card-inset-sm-x) calc(var(--marketing-card-inset-sm-y) + var(--marketing-card-inset-bottom-extra));
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  transition: transform var(--duration-ui) var(--ease-out-expo), box-shadow var(--duration-ui) var(--ease-out-expo);
}

.explore-card:hover {
  transform: scale(var(--card-hover-scale));
}

.explore-card--static {
  cursor: default;
  opacity: 0.55;
}
.explore-card--static:hover { transform: none; }

.explore-card__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #005C9E;
  background-color: var(--color-stone-100);
  border-radius: var(--radius-xs);
  padding: 4px 8px;
  width: fit-content;
  line-height: 1.3;
  margin: 0 0 16px;
}

.explore-card__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-h4);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  margin: 0 0 8px;
  line-height: var(--title-line-height);
  text-wrap: balance;
}

.explore-card__meta {
  font-size: var(--type-small);
  color: var(--color-stone-600);
  margin: 0;
  line-height: 1.6;
}

.explore-card__cta {
  margin-top: auto;
  padding-top: 14px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-blue-500);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
}

.explore-card__cta-text {
  position: relative;
  display: inline-block;
}

.explore-card__cta-text::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s var(--ease-out-expo);
}

.explore-card:hover .explore-card__cta-text::after {
  transform: scaleX(1);
}

.explore-card__cta-arrow {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.32s var(--ease-out-expo);
}

.explore-card__cta svg{
  height: 1em;
  width: 1em;
}

.explore-card:hover .explore-card__cta-arrow {
  transform: translateX(4px);
}

.home-final-cta {
  background-color: var(--color-blue-800);
  color: #fff;
  padding: calc(var(--marketing-section-pad-y) * 1.5) 0;
}

.home-final-cta__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  /* gap: 6px; */
}

.contact-pg-alert{
  padding: 22px !important;
}


.home-final-cta__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  color: #fff;
  margin: 0 auto;
  letter-spacing: -0.024em;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 8.8px;
}

.home-final-cta__title em {
  color: rgb(36, 164, 255);
  font-style: italic;
  font-weight: 500;
}

.home-final-cta__body {
  font-size: var(--type-body);
  color: #fff;
  line-height: 1.78;
  max-width: 660px;
  margin: 0 0 25px;
}

.home-pg-cta-body{
  margin-bottom: 32px;
}
@media (max-width: 1024px) {
  .home-final-cta__content { width: 100%; align-items: stretch; }
  .home-final-cta__title,
  .home-final-cta__body { text-align: center; }
  .home-final-cta__content .btn-primary {
    width: 100%;
    justify-content: center;
  }
.site-nav-cta
  .home-final-cta{
    padding: var(--marketing-section-pad-y) 0 !important;
  }

  .faq-cta{
    gap: 20px;
  }
}

.site-footer {
  background: var(--color-navy-900);
  border-top: 0;
  padding: 40px 0;
}

.site-footer__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.site-footer__legal {
  font-size: var(--type-small);
  color: #ACB6BE;
  line-height: 1.78;
  margin: 0;
}

.site-footer__legal a {
  color: rgb(172, 182, 190);
  text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

#cs-title{
    max-width: 350px;
}
#onboarding-title{
    max-width: 400px;
}

.home-cs{
        background-color: #F7F7F8;
        padding: var(--marketing-section-pad-y) 0 !important;
}

@media (max-width: 767px){
  .home-final-cta__title{
    max-width: 300px;
  }

  .wm{
    max-width: none;
  }

  #cs-title{
    max-width: 250px !important;
  }
  #wm-platform-title{
    max-width: 300px;
  }
}

@media (max-width: 1024px){
  #cs-title{
    max-width: none;
  }
}

/* ------------------------------------------------------------------
 * Non-home page hero overrides (FAQs, Insights, Contact)
 * Matches Next.js .soft-hero--dense from globals.css exactly:
 * the hero is a flex column that vertically centres its content
 * inside a min-height of 79dvh (mobile) / 99dvh (desktop),
 * which is what produces the large breathing space above the title.
 * ------------------------------------------------------------------ */
.soft-hero--page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  min-height: max(79dvh, min-content);
  padding-top: calc(var(--onescript-site-nav-bar-height) + 2.75rem);
  padding-bottom: 2.75rem;
}

@media (min-width: 1025px) {
  .soft-hero--page {
    min-height: max(99dvh, min-content);
    padding-top: calc(var(--onescript-site-nav-bar-height) + 4.3rem);
    padding-bottom: 4.3rem;
  }
}

/* ------------------------------------------------------------------
 * Insight article page hero override
 * Applies to /insights/<slug> pages (article-hero--page).
 * Matches the Next.js SoftHero dense behaviour: flex column that
 * vertically centres its content inside a min-height of 79dvh
 * (mobile) / 99dvh (desktop).
 * ------------------------------------------------------------------ */
.article-hero--page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  min-height: max(79dvh, min-content);
  padding-top: calc(var(--onescript-site-nav-bar-height) + 2.75rem);
  padding-bottom: 2.75rem;
}

@media (min-width: 1025px) {
  .article-hero--page {
    min-height: max(99dvh, min-content);
    padding-top: calc(var(--onescript-site-nav-bar-height) + 4.3rem);
    padding-bottom: 4.3rem;
  }
}

/* ------------------------------------------------------------------
 * Weight-management "What built for actually means" layout
 * Stacks the intro above the feature cards (full width) instead of
 * the side-by-side layout used elsewhere by .home-why__grid.
 * ------------------------------------------------------------------ */
@media (min-width: 1025px) {
  .wm-built-for-grid {
    grid-template-columns: 1fr;
    gap: var(--section-content-stack-gap);
    align-items: start;
  }
}

/* ------------------------------------------------------------------
 * Weight-management coverage section (NHS / Insurance / Private / Pharma)
 * Compact cards + lighter description, matching the Next.js build.
 * Scoped to .wm-coverage--compact so the base styles stay untouched.
 * ------------------------------------------------------------------ */
.wm-coverage--compact .wm-coverage__body {
  color: var(--color-stone-600);
}

.wm-coverage--compact .wm-coverage__card {
  min-height: 0;
  gap: 12px;
  justify-content: flex-start;
}

/* ==================================================================
 * BLUECO HEALTHCARE ONE-PAGER
 * All classes prefixed with `bc-` so they don't collide with the
 * existing onescript pages. Lives only on index.html.
 * ================================================================== */

/* ----- Page shell ------------------------------------------------- */
.blueco-page {
  background: #fff;
  color: var(--color-navy-900);
}

.bc-main {
  flex: 1;
}

/* Mobile-only line breaks inside Blueco titles — hidden on desktop, shown
   inline on mobile via the .bc-mobile-br rule in the mobile @media block. */
.bc-mobile-br { display: none; }

/* Nav: solid navy by default (matches the hero), white background on scroll. */
.blueco-page .site-nav-chrome-root {
  background-color: var(--color-navy-900);
  transition: background-color 0.24s var(--ease-out-expo);
}
.blueco-page .site-nav-chrome-root.is-scrolled {
  background-color: #fff;
  box-shadow: 0 1px 0 rgba(10, 22, 40, 0.06);
}
.blueco-page .site-nav-logo-primary {
  color: #fff;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-weight: 600;
  transition: color 0.24s var(--ease-out-expo);
  font-size: 18px !important;
}
.blueco-page .site-nav-chrome-root.is-scrolled .site-nav-logo-primary {
  color: var(--color-navy-900);
}
.blueco-page .site-nav-hamburger {
  color: #fff;
}
.blueco-page .site-nav-chrome-root.is-scrolled .site-nav-hamburger {
  color: var(--color-navy-900);
}

/* ----- Section shells -------------------------------------------- */
.bc-section {
  padding: var(--marketing-section-pad-y) 0;
  background: #fff;
}

.bc-section__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

/* ----- 1. HERO --------------------------------------------------- */
.bc-hero {
  background-color: var(--color-navy-900);
  color: #fff;
  padding-top: calc(var(--onescript-site-nav-bar-height) + 4.5rem);
  padding-bottom: 4.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: max(68dvh, min-content);
}

@media (min-width: 1025px) {
  .bc-hero {
    /* padding-top: calc(var(--onescript-site-nav-bar-height) + 5.5rem); */
    /* padding-bottom: 5.5rem; */
    min-height: max(70dvh, min-content);
  }
}

.bc-hero__inner {
  /* Hero uses vw so it spans the FULL viewport width (66vw at ≥1441px =
     1267px on a 1920 viewport, ignoring scrollbar). Other sections keep
     `%` so they stay at 1257px (subtracting the scrollbar gutter). */
  width: 80vw;
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

@media (min-width: 1441px) {
  .bc-hero__inner { width: 66vw; }
}

@media (max-width: 1024px) {
  .bc-hero__inner { width: 100%; }
}

.bc-hero__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-hero-display);
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.024em;
  line-height: 1.1;
  margin: 0 0 28px;
}

.bc-hero__title-accent {
  font-style: normal;
  color: var(--color-blue-300);
}

.bc-hero__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body-lg);
  line-height: 1.68;
  color: #fff;
  margin: 0;
}

/* ----- 2. ONESCRIPT FEATURE CARD --------------------------------- */
.bc-section--feature {
  background: #fff;
}

/*
 * Onescript flagship card — exact port of the Next.js `marketing-flagship-card`
 * + `blueco-onescript-feature-card` spec (globals.css lines 3292–3402, 3762–3781, 3999–4002).
 *
 * Desktop (≥1025px): side-by-side row, 460px tall, 40% image / 60% content.
 * Tablet (≤1024px):  stacks, image 357px tall.
 * Mobile (≤768px):   stacks, image 265px tall.
 */
.bc-feature-card {
  display: flex;
  height: 460px;
  overflow: hidden;
  border: none;
  border-radius: 18.717549px;
  background-color: var(--color-blue-600);
  box-sizing: border-box;
}

.bc-feature-card__image {
  flex: 0 0 40%;
  background-color: var(--color-stone-50);
}

.bc-feature-card__image picture {
  display: block;
  width: 100%;
  height: 100%;
}

.bc-feature-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.bc-feature-card__content {
  flex: 0 0 60%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  padding: 28px calc(var(--marketing-card-inset-lg) * 2);
  box-sizing: border-box;
  min-width: 0;
  color: #fff;
}

@media (max-width: 1024px) {
  .bc-feature-card {
    flex-direction: column;
    height: auto;
  }
  .bc-feature-card__image {
    flex: 0 0 auto;
    width: 100%;
    height: 357px;
    overflow: hidden;
  }
  .bc-feature-card__content {
    flex: 0 0 auto;
    padding: 24px calc(var(--marketing-card-inset-lg) * 2);
  }
}

@media (max-width: 768px) {
  .bc-feature-card__image {
    height: 265px;
  }
  .bc-feature-card__content {
    padding-left: var(--marketing-card-inset-lg);
    padding-right: var(--marketing-card-inset-lg);
  }
  .bc-hero__title{
    margin-bottom: 21.6px;
  }
}

.bc-feature-card__lockup {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.bc-feature-card__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-blue-100);
  line-height: 1.3;
  margin: 0;
}

.bc-feature-card__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h2);
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin: 0;
}

.bc-feature-card__copy {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bc-feature-card__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  line-height: 1.6;
  color: #fff;
  margin: 0;
}

.bc-feature-card__tagline {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  margin: 0;
}

.bc-feature-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  background: #fff;
  color: var(--color-teal-500);
  border-radius: var(--radius-sm);
  padding: 12px 32px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  transform: scale(1);
  transition:
    transform 0.12s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.2s ease,
    opacity 0.18s var(--ease-out-expo);
}

.bc-feature-card__cta:hover { background-color: var(--color-stone-150, #e3e6e8); }
.bc-feature-card__cta:active { transform: scale(0.96); }

@media (prefers-reduced-motion: reduce) {
  .bc-feature-card__cta:active { transform: none; }
}

.bc-feature-card__cta-arrow {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.32s var(--ease-out-expo);
}

.bc-feature-card__cta:hover .bc-feature-card__cta-arrow { transform: translateX(4px); }

/* Full-width CTA buttons on tablet and mobile (≤1024px). */
@media (max-width: 1024px) {
  .bc-feature-card__cta {
    align-self: stretch;
    justify-content: center;
  }
  .bc-final-cta__inner > .btn-primary {
    width: 100%;
    justify-content: center;
  }
}

/* ----- 3. GOVERNANCE --------------------------------------------- */
.bc-section--governance { background: var(--color-stone-50); }

.bc-governance {
  text-align: center;
}

.bc-governance__eyebrow,
.bc-healthcare__eyebrow,
.bc-about__eyebrow {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-stone-600);
  line-height: 1.3;
  margin: 0 0 16px;
}

.bc-governance__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--color-blue-900);
  text-align: center;
  margin: 0 0 16px;
}

.bc-governance__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  color: var(--color-stone-800);
  line-height: 1.6;
  margin: 0 0 28px;
}

.bc-governance__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.bc-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid rgba(44, 44, 44, 0.1);
  border-radius: var(--radius-xs);
  padding: 4px 10px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px !important;
  font-weight: 700;
  line-height: 1.6;
  color: rgb(99, 111, 121);
  text-decoration: none;
  transition: background-color 0.18s var(--ease-out-expo);
}

.bc-chip:hover { background-color: var(--color-stone-50); }

.bc-chip svg {
  width: 14px;
  height: 14px;
  color: var(--color-stone-800);
  flex-shrink: 0;
}

/* ----- 4. HEALTHCARE SERVICES ------------------------------------ */
.bc-section--healthcare { background: #fff; }

.bc-healthcare {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Intro lockup — eyebrow / title / body stacked tightly with their own
   margin-bottoms. The parent's 32px gap then separates the whole intro
   from the cards below, not from each line of the lockup. */
.bc-healthcare__intro {
  display: block;
}

.bc-healthcare__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-hero-display);
  font-weight: 600;
  color: var(--color-blue-900);
  letter-spacing: -0.024em;
  line-height: 1;
  margin: 0 0 16px;
  text-wrap: balance;
}

.bc-healthcare__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  color: var(--color-stone-800);
  line-height: 1.6;
  margin: 0;
}

.bc-healthcare__notes {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bc-healthcare__note {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  color: var(--color-stone-800);
  line-height: 1.6;
  margin: 0;
}

.bc-healthcare__note--muted {
  color: var(--color-stone-600);
  font-style: italic;
  text-wrap: pretty;
}

.bc-healthcare__note strong { font-weight: 600; line-height: 1.5; }

.bc-healthcare__inline-cta {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.bc-healthcare__inline-cta:hover { opacity: 0.8; }

/* Clinical lead card (Dr Dawn) */
.bc-clinical-lead {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 32px;
  background: var(--color-blue-600);
  border-radius: 16px;
  overflow: hidden;
  box-sizing: border-box;
}

.bc-clinical-lead__photo {
  width: 125px;
  height: 125px;
  border-radius: 16px;
  overflow: hidden;
  flex-shrink: 0;
  background: #a89c90;
}

.bc-clinical-lead__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.bc-clinical-lead__copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.bc-clinical-lead__label {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-blue-100);
  line-height: 1.3;
  margin: 0;
}

.bc-clinical-lead__name {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--color-blue-50);
  line-height: 1.6;
  margin: 0;
}

.bc-clinical-lead__bio {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 400;
  color: var(--color-blue-100);
  line-height: 1.7;
  margin: 0;
}


/* Expander */
.bc-expander {
  background: var(--color-stone-50);
  border-radius: 16px;
  padding: 24px 32px;
  box-sizing: border-box;
  transition: background-color 160ms var(--ease-out-expo);
}

.bc-expander:not([open]) { cursor: pointer; }

.bc-expander:not([open]):hover {
  background: var(--color-stone-100);
}

.bc-expander__summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.bc-expander__summary::-webkit-details-marker { display: none; }
.bc-expander__summary::marker { content: ""; }

.bc-expander__label {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: var(--color-blue-900);
  flex: 1 1 auto;
}

.bc-expander__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.bc-expander__icon svg {
  width: 20px;
  height: 20px;
  color: var(--color-blue-900);
}

.bc-expander__icon--minus { display: none; }
.bc-expander[open] .bc-expander__icon--plus { display: none; }
.bc-expander[open] .bc-expander__icon--minus { display: inline-flex; }

.bc-expander__panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 16px;
}

/* Checklist inside expander */
.bc-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  margin-bottom: 20px;
}

.bc-checklist__row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(132, 132, 132, 0.16);
}

.bc-checklist__row:last-child { border-bottom: none; }

.bc-checklist__icon {
  width: 24px;
  height: 24px;
  color: var(--color-teal-500);
  flex-shrink: 0;
}

.bc-checklist__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
}

.bc-checklist__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 700;
  color: var(--color-navy-900);
  line-height: 1.8;
  margin: 0;
}

.bc-checklist__sub {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 400;
  color: var(--color-stone-600);
  line-height: 1.8;
  margin: 0;
  text-wrap: pretty;
}

/* MDT callout */
.bc-mdt {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 24px;
  background: #fff;
  border-radius: var(--radius-lg);
  width: 100%;
  box-sizing: border-box;
}

.bc-mdt__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  color: var(--color-navy-900);
}

.bc-mdt__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  flex: 1 1 auto;
}

.bc-mdt__lockup {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.bc-mdt__label {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-stone-600);
  line-height: 1.3;
  margin: 0;
}

.bc-mdt__headline {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: var(--color-navy-900);
  margin: 0;
}

.bc-mdt__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 400;
  color: var(--color-stone-600);
  line-height: 1.7;
  margin: 0;
}

.bc-mdt__roles {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bc-role-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid rgba(10, 22, 40, 0.1);
  border-radius: var(--radius-xs);
  padding: 4px 10px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-stone-800);
}

.bc-role-chip svg {
  width: 12px;
  height: 12px;
  color: var(--color-stone-600);
  flex-shrink: 0;
}

/* ----- 5. SERVICE DESIGN ----------------------------------------- */
.bc-section--service-design { background: var(--color-stone-50); }

.bc-pillars__heading {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.3;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: #31363A;
  margin: 32px 0 16px;
  text-wrap: balance;
}

.bc-pillars {
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
      background: #FFFFFF;
    border-radius: 18.717549px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 32px;
    padding-right: 32px;

}

.bc-pillars__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 20px 0;
  border-bottom: 0.5px solid rgba(132, 132, 132, 0.4);
  width: 100%;
  box-sizing: border-box;
}

.bc-pillars__row:last-child { border-bottom: 0; }

@media (min-width: 768px) and (max-width: 1024px) {
  .bc-pillars__row {
    flex-direction: row;
    align-items: center;
    padding: 32px 0;
    gap: 0;
  }
}

@media (min-width: 1025px) {
  .bc-pillars__row {
    flex-direction: row;
    align-items: center;
    padding: 32px 0;
    gap: 0;
  }
}

.bc-pillars__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--color-navy-900);
}

.bc-pillars__icon svg {
  width: 20px;
  height: 20px;
}

.bc-pillars__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.bc-pillars__title {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 600;
  color: var(--color-stone-800);
  line-height: 1.3;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  text-wrap: balance;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .bc-pillars__title {
    width: 220px;
    flex-shrink: 0;
    align-items: flex-start;
  }
}

@media (min-width: 1025px) {
  .bc-pillars__title {
    width: 388px;
    flex-shrink: 0;
  }
}

.bc-pillars__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  color: var(--color-stone-800);
  line-height: 1.6;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}

@media (max-width: 767px) {
  .bc-pillars__body { padding-left: 32px; }
}

/* ----- 6. FAQ ---------------------------------------------------- */
.bc-section--faq { background: #fff; }

.bc-faq__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
 font-size: var(--type-h1);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #0A1628;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 0;
    text-rendering: optimizeLegibility;
  margin: 0 0 var(--section-content-stack-gap);
}

.bc-faq {
  background: #fff;
  border: 1px solid var(--color-stone-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.bc-faq__item {
  border-bottom: 1px solid var(--color-stone-200);
  background: #fff;
}

.bc-faq__item:last-child { border-bottom: none; }

.bc-faq__summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  background-color: #fff;
  transition: background-color 0.15s ease;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--color-navy-900);
  letter-spacing: -0.02em;
  line-height: 1.4;
}

.bc-faq__summary::-webkit-details-marker { display: none; }
.bc-faq__summary::marker { content: ""; }

.bc-faq__item:not([open]) .bc-faq__summary:hover {
  background-color: var(--color-stone-50);
}

.bc-faq__question { flex: 1; }

.bc-faq__chevron {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-xs);
  background: var(--color-stone-50);
  border: 1px solid var(--color-stone-200);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-stone-700);
  transition: transform 0.32s var(--ease-out-expo);
}

.bc-faq__chevron svg { width: 14px; height: 14px; stroke-width: 2; display: block; }

.bc-faq__item[open] .bc-faq__chevron { transform: rotate(180deg); }

.bc-faq__answer-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.32s var(--ease-out-expo);
}

.bc-faq__item[open] .bc-faq__answer-wrapper { grid-template-rows: 1fr; }

.bc-faq__answer-inner {
  min-height: 0;
  overflow: hidden;
}

.bc-faq__answer {
  padding: 0 22px 24px;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  color: var(--color-stone-600);
  line-height: 1.7;
  margin: 0;
  opacity: 0;
  transition: opacity 0.24s var(--ease-out-expo);
}

.bc-faq__item[open] .bc-faq__answer {
  opacity: 1;
  transition: opacity 0.28s var(--ease-out-expo) 0.08s;
}

/* ----- 7. ABOUT -------------------------------------------------- */
.bc-section--about { background: var(--color-stone-50); }

.bc-about {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

@media (min-width: 1025px) {
  .bc-about {
    flex-direction: row;
    align-items: center;
    column-gap: 20px;
  }
}

.bc-about__copy {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bc-about__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-hero-display);
  font-weight: 600;
  color: var(--color-blue-900);
  letter-spacing: -0.024em;
  margin: 0;
  line-height: 1 !important;
      text-rendering: optimizeLegibility;
}

.bc-about__title-line {
  display: block;
  line-height: 1;
}

.bc-about__title-line--accent {
  color: var(--color-blue-600);
}

.bc-about__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  color: var(--color-stone-800);
  line-height: 1.6;
  margin: 0;
}

.bc-about__lancashire {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  margin-top: 4px;
}

.bc-about__lancashire-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.bc-about__lancashire-icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: block;
}

.bc-about__lancashire-text {
  margin: 0;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  font-weight: 600;
  line-height: 1.5;
  color: var(--color-blue-600);
}

.bc-about__polaroid {
  flex: 0 0 322px;
  display: flex;
  align-items: center;
  justify-content: right;
  min-width: 0;
}

@media (max-width: 1024px) {
  .bc-about__polaroid { flex: 0 0 auto; }
}

/* Blueco polaroid (mirrors founder-polaroid) */
.bc-polaroid {
  display: flex;
  flex-direction: column;
  width: 322px;
  max-width: 100%;
  box-sizing: border-box;
  background: #fff;
  padding: 16px 16px 0;
  box-shadow: rgba(0, 0, 0, 0.12) 0px 4px 14px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;
  transform: rotate(-2.7deg);
  margin: 0;
}

.bc-polaroid__aperture {
  position: relative;
  width: 100%;
  aspect-ratio: 290 / 255;
  background: var(--color-stone-100);
  border-radius: var(--radius-xs);
  overflow: hidden;
}

.bc-polaroid__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bc-polaroid__chin {
  width: 100%;
  aspect-ratio: 290 / 56;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  box-sizing: border-box;
  margin: 0;
}

.bc-polaroid__signature {
  margin: 0;
  font-family: "Shantell Sans", "Caveat", ui-sans-serif, system-ui;
  font-size: 11px;
  font-style: italic;
  font-weight: 500;
  color: var(--color-blue-900);
  line-height: 1.3;
  text-align: center;
}

.bc-polaroid__signature-accent {
  color: var(--color-blue-500);
}

@media (prefers-reduced-motion: reduce) {
  .bc-polaroid { transform: none; }
}

/* ----- 8. FINAL CTA ---------------------------------------------- */
.bc-final-cta {
  background-color: var(--color-blue-800);
  color: #fff;
  padding: calc(var(--marketing-section-pad-y) * 1.5) 0;
  text-align: center;
}

.bc-final-cta__inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 720px;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bc-final-cta__title {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-size: var(--type-h1);
  font-weight: 500;
  color: #fff;
  letter-spacing: -0.024em;
  line-height: 1.3;
  margin: 0 0 8px;
}

.bc-final-cta__body {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-body);
  color: #fff;
  line-height: 1.78;
  max-width: 660px;
  margin: 0 0 32px;
}

/* ----- FOOTER ---------------------------------------------------- */
.bc-footer { background: var(--color-navy-900); }

.bc-footer__callout {
  background: var(--color-blue-600);
  padding: 60px 0;
}

.bc-footer__callout-inner,
.bc-footer__links-inner {
  width: var(--onescript-page-column-width, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding-left: var(--marketing-page-gutter-x);
  padding-right: var(--marketing-page-gutter-x);
  box-sizing: border-box;
}

.bc-footer__callout-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bc-footer__callout-mark {
  width: 36px;
  height: 54px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bc-footer__callout-mark img {
  width: 31px;
  height: 48px;
  display: block;
  transform: rotate(11.95deg) skewX(4.41deg) scaleY(-1);
}

.bc-footer__callout-copy {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  flex: 1 1 auto;
}

.bc-footer__callout-headline {
  font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
}

.bc-footer__callout-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #d6eeff;
  text-decoration: none;
  transition: opacity 0.18s var(--ease-out-expo);
  line-height: 1.3;
}

.bc-footer__callout-cta:hover { opacity: 0.85; }

.bc-footer__callout-cta svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.32s var(--ease-out-expo);
}

.bc-footer__callout-cta:hover svg { transform: translateX(4px); }

.bc-footer__links {
  background: var(--color-navy-900);
  padding: 40px 0;
  width: 100%;
  box-sizing: border-box;
}

.bc-footer__links-inner > * + * { margin-top: 32px; }

.bc-footer__nav-groups {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 32px;
}

@media (min-width: 768px) {
  .bc-footer__nav-groups { flex-direction: row;  }
}

.bc-footer__nav-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 0;
}

.bc-footer__nav-label {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-stone-600);
  line-height: 1.3;
  margin: 0;
}

.bc-footer__nav-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.bc-footer__nav-link {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: var(--type-caption);
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.18s var(--ease-out-expo);
}

.bc-footer__nav-link:hover { color: #a8dbff; }

.bc-footer__divider {
  border: 0;
  border-top: 1px solid var(--color-stone-700);
  margin: 0;
}

.bc-footer__legal {
  font-family: "Open Sauce Sans", "Open Sauce Sans Fallback", system-ui, sans-serif;
  font-size: 12px;
  color: var(--color-stone-400);
  line-height: 1.78;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bc-footer__legal p { margin: 0; }

.bc-footer__legal-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.bc-footer__legal-link:hover { opacity: 0.8; }

.mob-br-cliinical{
    display: none;
  }



  .eyebrow-blue{
    color: rgb(214, 238, 255) !important;
  }
@media (max-width: 1024px) {
  .bc-about {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    gap: 64px;
  }
  .bc-about__copy {
    align-items: center;
    text-align: center;
  }
  .bc-about__lancashire {
    justify-content: center;
  }

    .bc-clinical-lead {
    flex-direction: column;
    text-align: center;
    align-items: center;
    padding: 24px;
    gap: 28px;
  }

   .bc-clinical-lead { padding: 32px 18px; gap: 28px; }
  .bc-clinical-lead__photo {
    width: 125px;
    height: 125px;
    border-radius: 50%;
  }

  .bc-expander { padding: 24px 32px; }
  .bc-mdt { padding: 24px; gap: 16px; flex-direction: column; }

  
  .bc-checklist__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .tab-br { display: inline; }

  .flagship-card{
    height: auto !important;
  }

  .flagship-card__image{
    height: 248px !important;
  }

  .flagship-card__content{
    padding: 24px 36px !important;
  }
  .cust-service{
    margin-bottom: 32px !important;
  }

    .faq-item__summary{
    padding: 13px 18px !important;
  }

  .article-callout .marketing-quote-callout__inner{
    padding: 92px 42px 32px !important;
  }

   .wm-coverage__heading{
    margin-left: 0;
    text-wrap: balance;
    margin-bottom: 20px;
  }

  .wm-coverage__grid{
    padding-left: 0;
    grid-template-columns: repeat(4 , 1fr);
  }

  .wm-coverage__intro .section-title{
    max-width: none;
    text-wrap: balance;
  }
  .wm-coverage__body{
    text-wrap: pretty;
  }
  .wm-pg-stats{
    padding: 20px 0;
  }
  .wm-pg-hero{
    padding-bottom: max(4.05rem, env(safe-area-inset-bottom, 4.05rem)) !important;
  }
  .wm-coverage{
    gap: 43px;
  }
   .wm-coverage__grid{
    padding: 0;
  }
  .wm-pg-cta{
    padding: 58px 0;
  }
  .wm-pg-cta .home-final-cta__body{
    margin-bottom: 32px !important;
  }
  .wm-pg-cta .home-final-cta__title{
    margin-bottom: 11.8px !important;
  }

    .wm-programme-card__image img{
    max-height: 67.5%;
    width: 67.5%;
  }

  
  .wm-programme-card__body{
    line-height: 1.6 !important;
  }


  .explore-card{
    padding: 18px !important;
  }
  .faq-pg-cta{
    padding: 58px 0 !important;
  }
  .faq-accordion__group-label{
    font-size: 15px;
  }
    .contact-pg-alert{
    padding: 18px !important;
   }

   
  .navy-hero{
            padding-bottom: max(4.05rem, env(safe-area-inset-bottom, 4.05rem)) !important;
  }
  .home-pg-stats{
    padding: calc(var(--marketing-section-pad-y) * .35) 0 !important
  }
  .home-pg-callout{
    padding: 18px 18px 22px;
  }
  .flagship-card__content{
    gap: 12px;
  }
  .flagship-card__logos, .flagship-card__cta{
    margin-top: 22px;
  }
  .flagship-card{
    margin-bottom: 32px;
  }
    .integration-cta-row .btn-primary {
    width: 100%;
    justify-content: center;
  }
  .home-cs__row{
    gap: 64px;
  }
    .home-fit__intro .section-title { text-wrap: balance;}
  #onboarding-title{
    max-width: none;
  }
  .bc-final-cta{
    padding: 58px 0;
  }
  .article-pg-poloroid .founder-polaroid{
    transform: none !important;
  }
}

/* ----- Mobile tweaks for Blueco page ----------------------------- */
@media (max-width: 767px) {
  .blueco-page .site-nav-cta--desktop { display: inline-flex; }
  .blueco-page .site-nav-hamburger { display: none; }

  .bc-section { padding: 4rem 0; }

  .bc-hero {
    padding-top: calc(var(--onescript-site-nav-bar-height) + 4.556rem);
    padding-bottom: max(4.05rem, env(safe-area-inset-bottom, 4.05rem)) !important;
    min-height: auto;
  }

  .bc-feature-card__cta {
    align-self: stretch;
    justify-content: center;
  }

  .bc-healthcare__title {
    font-family: var(--font-noto-serif), ui-serif, Georgia, "Times New Roman", serif;
    font-size: var(--type-hero-display);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.024em;
    color: var(--color-blue-900);
  }

  .bc-final-cta__inner > .btn-primary {
    width: 100%;
    justify-content: center;
  }

  .bc-mobile-br { display: inline; }
  .bc-expander { padding: 24px 16px; }

  .bc-clinical-lead { padding: 32px 14px; gap: 28px; }


  .bc-faq__summary { padding: 14px 18px; }
  .bc-faq__answer { padding: 0 18px 20px; }
  .bc-pillars__title { width: 100%; }
  .bc-final-cta__title { font-size: var(--type-h1); text-wrap: balance; }
  .bc-footer__callout { padding: 60px 0; }


  .bc-pillars{
    padding: 8px 16px !important;
  }
  .bc-pillars__row{
    padding: 32px 0;
  }
  .bc-pillars__heading{
      font-size: var(--type-h4);
    font-weight: 500;
    letter-spacing: -0.02em;
    color: #31363A;
    line-height: 1.3;
    text-wrap: balance;
  }
  .bc-footer__nav-link{
    line-height: 1.6 !important;
  }
  .bc-footer__callout-row{
    align-items: flex-end;
  }


  .faq-item__answer{
    padding: 6px 14px 20px !important;
  }
  .bc-footer__nav-groups{
    gap: 32px !important; 
  }
   .flagship-card__content{
    padding: 24px 14px !important;
  }
    .cust-service{
    margin-bottom: 16px !important;
  }
  .home-cs__stat-pills{
    margin-bottom: 28px;
  }
  
  .article-callout .marketing-quote-callout__inner{
    padding: 84px 38px 28px !important;
  }
  .article-hero__eyebrow, .article-hero__title, .article-hero__dek{
    margin-bottom: 21.6px !important;
  }

  .article-body{
    padding: 35px 0 !important;
  }

  .founder-cta{
    padding: 35px 0 !important;
  }
   .article-3-pg {
    padding: 35px 0 !important;
  }
  .article-3-pg .home-final-cta__title{
    max-width: none;
    margin-bottom: 32px !important;
  }

  .home-final-cta{
    padding: 61.5px 0;
  }
  .home-final-cta__title{
    line-height: 1.3 !important;
    margin-bottom: 7.7px !important;
  }
  .home-final-cta__body{
    margin-bottom: 32px !important;
  }
  .explore-card{
    padding: 16px 14px !important;
  }
  .explore-card__cta{
    padding-top: 10px !important;
  }


  #wm-coverage-title{
    text-wrap: balance;
  }
  .weight-mg-pg{
    padding: 8px 16px;
  }
  .wm-builtin__row{
    text-wrap: pretty;
  }
  .wm-section__intro .section-body{
    text-wrap: pretty;
  }
  .wm-platform__subhead{
    margin-bottom: 10px !important;
  }
  .wm-flagship__image{
    height: 184px;
  }
  .wm-flagship__content{
    padding: 24px 14px;
  }

  .wm-coverage__grid{
    padding-left: 0;
    grid-template-columns: repeat(2 , 1fr);
  }
  .wm-pg-cta .home-final-cta__title{
    margin-bottom: 7.2px !important;
  }
  .insights-pg .soft-hero__title{
    margin-bottom: 21.6px !important;
  }
  .insights-pg .soft-hero__body{
    line-height: 1.68 !important;
  }
   #faqs-title{
    margin-bottom: 21.6px;
   }
   .faq-item__summary{
    padding: 13px 14px !important;
   }
   
   .faq-accordion__group-label{
    font-size: 14px;
   }
   .contact-pg-alert{
    padding: 14px !important;
   }
    .navy-hero{
            padding-bottom: max(4.05rem, env(safe-area-inset-bottom, 4.05rem)) !important;
  }
  .home-cs__row{
    gap: 44px;
  }
  
.insights-pg-cta{
  margin-bottom: 32px !important;
  max-width: none;
}
.contact-pg-alert{
  margin-top: 33.6px;
}
.soft-hero__title{
  margin-bottom: 21.6px;
}
 .bc-final-cta{
    padding: 61.5px 0;
  }

    .home-pg-mark .marketing-quote-callout__inner{
    gap: var(--section-content-stack-gap);
    padding: 84px 14px 28px !important;
  }
  .flagship-card__logos, .flagship-card__cta{
    margin-top: 18px;
  }
  .flagship-card__body{
    line-height: 1.78;
  }
}

.home-commitment__inner .marketing-quote-callout__inner{
  padding: 96px 22px 34px;
}
.home-pg-callout{
  border: 1px solid #D6EEFF;
}
#clinical-title{
  line-height: 1.1;
  text-wrap: balance;
}

.read-more-arrow{
  flex-shrink: 0;
    width: 1em;
    height: 1em;
    display: block;
}

#integration-title, #manifesto-title, #wm-platform-title{
  line-height: 1.1;
}

/* ============================================================
   Home "Customer service" polaroid — v2 sizing (matches Next.js).
   - Sizes the right grid column to the polaroid width so the only
     space between content and polaroid is the grid gap. No leftover
     space on the right of the polaroid, no auto side-margins.
   - Polaroid fills its cell at 543.6px on desktop. Height comes out
     to ~548.37px from the .founder-polaroid percentage padding +
     aperture aspect ratio + chin aspect ratio.
   - Mobile / tablet keep the full-width responsive polaroid.
   ============================================================ */
.home-cs__polaroid-wrap--v2 {
  display: flex;
  width: 100%;
  min-width: 0;
  justify-content: flex-end;
  container-type: inline-size;
}

.home-cs__polaroid--v2 {
  width: 100%;
  max-width: 100%;
  margin: 0;
  transform: none;
}

.home-cs__polaroid-wrap--v2 .founder-polaroid__signature {
  font-size: 5.16cqi;
  color: var(--color-blue-700);
}

@media (min-width: 1025px) {
  .home-cs__row:has(.home-cs__polaroid-wrap--v2) {
    grid-template-columns: 1fr 45%;
  }
  .home-cs__polaroid--v2 {
    width: 100%;
    height: auto;
    transform: rotate(-1.5deg);
  }
}
.insights-pg-cta{
  margin-bottom: 32px;
}
