/* ==========================================================================
 * BrandHive Socials - Custom component styles
 * Merged: utilities, about, cta-banner, packages, strategy-call, quote-bridge, why-us
 * Load after framer-components.css. Do not reorder sections.
 * ========================================================================== */

/* Preloader: owned overlay — letter stagger (keyframes also injected by JS) */
.bh-preloader,
#bh-preloader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  background: var(--token-88d5059b-bc5d-4e0a-ad79-b21e9a2c4948, #0a0a0a);
}

/* Match hero BrandHive / Socials wordmark: Inter semi-bold */
#bh-preloader .bh-preloader__label {
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: clamp(2.4rem, 9.5vw, 6rem);
  letter-spacing: -0.06em;
  line-height: 0.94;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 809.98px) {
  #bh-preloader .bh-preloader__label {
    font-size: clamp(2rem, 11vw, 3.6rem);
    white-space: normal;
    line-height: 1.08;
  }
}

@media (max-width: 479.98px) {
  #bh-preloader .bh-preloader__label {
    font-size: clamp(1.85rem, 10.5vw, 2.75rem);
    max-width: 92vw;
  }
}

#bh-preloader.bh-preloader-exit,
.bh-preloader.bh-preloader-exit {
  opacity: 0 !important;
  transition: opacity 0.5s ease !important;
  pointer-events: none !important;
}

/* Hide Framer's SSR/hydrated loader — we own the intro */
.framer-143iyx0-container,
.framer-1lgjvo2-container,
html.bh-preloader-playing .framer-143iyx0-container,
html.bh-preloader-playing .framer-1lgjvo2-container,
html.bh-preloader-done .framer-143iyx0-container,
html.bh-preloader-done .framer-1lgjvo2-container {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* --- utilities.css --- */
/* Prevent accidental horizontal scroll from zoom/transforms on mobile. */
html,
body {
  overflow-x: clip;
  max-width: 100%;
}

/* Reusable utilities extracted from repeated inline styles.
   Keep Framer's runtime/animation inline styles untouched; only static
   layout/media helpers live here to avoid UI regressions. */

html {
  scroll-padding-top: 96px;
  scroll-behavior: smooth;
}

/* Remove decorative year / range copyright badges; footer keeps its own line.
   Scoped to known empty year slots - avoid broad class kills that collapse layout. */
[data-framer-name="2026"] {
  display: none !important;
}

/* Hide emptied non-footer CopyrightText slots (menu / hero / contact). */
.framer-1gif4l1,
.framer-lv0oqx,
.framer-1294aeh,
.framer-uzbb8i {
  display: none !important;
}

/* Why Choose Us: remove top label + heading block (keep cards below) */
section[data-framer-name="Advantages"] .framer-15lgm9m[data-framer-name="Top"] {
  display: none !important;
}

/* Legacy Advantages metric cards (50+ / 95% / logoipsum).
   Desktop already collapses them; hide explicitly so mobile matches. */
section[data-framer-name="Advantages"] [data-framer-name="Cards"],
.framer-rkHvP .framer-3enyfc .framer-3k1kkv {
  display: none !important;
}

/* Why Choose Us: remove supporting “No fluff…” body copy */
section[data-framer-name="Advantages"] .framer-1xbqwt4,
section[data-framer-name="Advantages"] .framer-k82g9i {
  display: none !important;
}

/* Landing-only: drop multi-page leftovers (legal pages). */
footer [data-framer-name="Legal"],
[data-framer-name="Bottom"] [data-framer-name="Legal"],
[data-framer-name="Terms and Privacy Policy"],
a[href*="./legal/"],
a[href*="/legal/"] {
  display: none !important;
}

/* Hide Framer Blog SSR — site has no blog section */
section[data-framer-name="Blog"],
.framer-uorurm[data-framer-name="Blog"] {
  display: none !important;
}

/* Never flash the default Framer CDN hero clip — only show our background. */
section[data-framer-name="Hero"] video:not([src*="hero-bg.mp4"]) {
  opacity: 0 !important;
}

/* Hero: remove services list, tagline, portrait, and plus icons. */
section[data-framer-name="Hero"] .framer-o59pbo[data-framer-name="Services"],
section[data-framer-name="Hero"] .framer-hsxobt > [data-framer-name="Text"],
section[data-framer-name="Hero"] .framer-hsxobt > .framer-qj2zoe,
section[data-framer-name="Hero"] [data-framer-name="Icons"],
section[data-framer-name="Hero"] .framer-vAymd > [data-framer-name="Image"],
section[data-framer-name="Hero"] .framer-vAymd > .framer-gcir4z,
section[data-framer-name="Hero"] .framer-112dz82[data-framer-name="filler"],
section[data-framer-name="Hero"] .framer-5d4iqh {
  display: none !important;
}

/* Force-hide original Framer BrandHive / Socials. */
section[data-framer-name="Hero"] [data-framer-name="Title"],
section[data-framer-name="Hero"] [data-framer-name="Socials"],
section[data-framer-name="Hero"] .framer-al5dzj,
section[data-framer-name="Hero"] .framer-gxz29i,
section[data-framer-name="Hero"] .framer-1spzsp8 > .framer-al5dzj,
section[data-framer-name="Hero"] .framer-1spzsp8 > .framer-gxz29i {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
}

/*
  Hero 60/40 layout (desktop):
  left  = BrandHive Socials only
  right = supporting copy + founder card
*/
section[data-framer-name="Hero"] .framer-1kxwov3,
section[data-framer-name="Hero"] .framer-n6szvs,
section[data-framer-name="Hero"] .framer-19j2lei {
  overflow: visible !important;
}

section[data-framer-name="Hero"] .framer-1kxwov3 {
  display: grid !important;
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
  justify-items: stretch;
  column-gap: clamp(28px, 3.5vw, 56px);
  row-gap: 0;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  place-content: stretch !important;
}

section[data-framer-name="Hero"] .framer-13u7xh5 {
  grid-column: 1;
  grid-row: 1;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  place-content: center flex-start !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

section[data-framer-name="Hero"] .framer-1spzsp8 {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  container-type: inline-size;
  container-name: hero-brand;
}

section[data-framer-name="Hero"] .bh-hero-brand {
  position: relative;
  z-index: 5;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  text-align: left;
  pointer-events: none;
}

section[data-framer-name="Hero"] .bh-hero-brand__word {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Inter", "Inter Placeholder", sans-serif !important;
  font-size: clamp(42px, 18cqi, 132px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.06em !important;
  line-height: 0.94 !important;
  white-space: nowrap !important;
  text-align: left !important;
  display: block;
  width: max-content;
  max-width: none;
}

section[data-framer-name="Hero"] .bh-hero-brand__word + .bh-hero-brand__word {
  margin-top: 0 !important;
}

/* Right column: copy on top, card below */
section[data-framer-name="Hero"] .framer-hsxobt {
  grid-column: 2;
  grid-row: 1;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  place-content: space-between stretch !important;
  align-items: stretch !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  gap: clamp(20px, 2.2vw, 32px) !important;
  padding: 0 !important;
  overflow: visible !important;
}

section[data-framer-name="Hero"] .bh-hero-copy {
  width: min(100%, 520px);
  max-width: 100%;
  margin: 0 0 0 auto;
  padding-top: clamp(4px, 0.8vw, 12px);
  color: rgba(255, 255, 255, 0.9);
  z-index: 2;
  flex: 0 0 auto;
  align-self: flex-end;
  text-align: left;
}

section[data-framer-name="Hero"] .bh-hero-copy__quote,
section[data-framer-name="Hero"] .bh-hero-copy__body {
  margin: 0;
  text-align: justify;
  text-justify: inter-word;
  text-wrap: pretty;
  hyphens: auto;
}

/* Image 1: editorial italic serif quote */
section[data-framer-name="Hero"] .bh-hero-copy__quote {
  color: #fff;
  font-family: "Playfair Display", "Times New Roman", Georgia, serif;
  font-size: clamp(22px, 1.85vw, 32px);
  font-style: italic;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.28;
}

/* Image 1: clean light geometric sans body + Image 2 spacing */
section[data-framer-name="Hero"] .bh-hero-copy__body {
  margin-top: clamp(22px, 2vw, 30px);
  color: rgba(255, 255, 255, 0.72);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: clamp(14px, 1.05vw, 16.5px);
  font-weight: 300;
  letter-spacing: 0.01em;
  line-height: 1.65;
}

section[data-framer-name="Hero"] .bh-hero-copy__body + .bh-hero-copy__body {
  margin-top: clamp(16px, 1.4vw, 22px);
}

/* Founder card: right-aligned, text left + CTA right */
section[data-framer-name="Hero"] .framer-hsxobt > .ssr-variant,
section[data-framer-name="Hero"] .framer-hsxobt > .framer-1vjzos2-container,
section[data-framer-name="Hero"] .framer-1vjzos2-container {
  width: min(340px, 100%) !important;
  max-width: 100% !important;
  margin: auto 0 0 auto !important;
  align-self: flex-end !important;
  flex: 0 0 auto;
}

section[data-framer-name="Hero"] .framer-vAymd,
section[data-framer-name="Hero"] .framer-vAymd.framer-1wwdfxz {
  width: 100% !important;
  max-width: 340px !important;
  display: flex !important;
  height: auto !important;
  margin-left: auto !important;
}

section[data-framer-name="Hero"] .framer-vAymd .framer-f4gtfg {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 16px !important;
  flex: none !important;
  width: 100% !important;
  padding: 18px 16px 18px 20px !important;
  border-radius: 18px !important;
  background-color: #fff !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14) !important;
}

/* Text stack: FOUNDER → Name → Company */
section[data-framer-name="Hero"] .framer-vAymd .framer-ilxhip {
  grid-column: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
}

section[data-framer-name="Hero"] .framer-vAymd .framer-1o4mrbe {
  display: contents !important;
}

section[data-framer-name="Hero"] .framer-vAymd .framer-7iz30i {
  order: 1 !important;
  width: auto !important;
}

section[data-framer-name="Hero"] .framer-vAymd .framer-3w6c98 {
  order: 2 !important;
  width: auto !important;
  max-width: 100% !important;
}

section[data-framer-name="Hero"] .framer-vAymd .framer-1dkoxx {
  order: 3 !important;
  width: auto !important;
}

section[data-framer-name="Hero"] .framer-vAymd .framer-7iz30i::after {
  content: none !important;
}

section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Role"] .framer-text,
section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Company"] .framer-text,
section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Name"] .framer-text {
  text-align: left !important;
  --framer-text-alignment: left !important;
}

section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Role"] .framer-text {
  --framer-font-size: 11px !important;
  font-size: 11px !important;
  --framer-letter-spacing: 0.08em !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  opacity: 0.5;
}

section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Name"] .framer-text {
  --framer-font-size: 18px !important;
  font-size: 18px !important;
  --framer-font-weight: 600 !important;
  font-weight: 600 !important;
  --framer-line-height: 110% !important;
  --framer-letter-spacing: -0.04em !important;
}

section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Company"] .framer-text {
  --framer-font-size: 12px !important;
  font-size: 12px !important;
  --framer-line-height: 120% !important;
  opacity: 0.55;
}

/* CTA beside the text */
section[data-framer-name="Hero"] .framer-vAymd .framer-izvzao-container {
  grid-column: 2 !important;
  width: auto !important;
  margin: 0 !important;
  align-self: center !important;
  justify-self: end !important;
}

section[data-framer-name="Hero"] .framer-vAymd .framer-X7cbd,
section[data-framer-name="Hero"] .framer-vAymd .framer-X7cbd.framer-hhh5z2 {
  width: max-content !important;
  min-height: 40px !important;
  border-radius: 999px !important;
  gap: 26px !important;
  padding: 10px 12px 10px 14px !important;
}

/* Tablet + mobile: stack brand → copy → card */
@media (max-width: 1199.98px) {
  section[data-framer-name="Hero"] .framer-1kxwov3 {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: clamp(22px, 4vw, 32px) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  section[data-framer-name="Hero"] .framer-13u7xh5,
  section[data-framer-name="Hero"] .framer-hsxobt {
    grid-column: auto;
    grid-row: auto;
    width: 100% !important;
    height: auto !important;
  }

  section[data-framer-name="Hero"] .framer-13u7xh5 {
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  section[data-framer-name="Hero"] .framer-1spzsp8 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
  }

  section[data-framer-name="Hero"] .framer-hsxobt {
    gap: 20px !important;
    justify-content: flex-start !important;
    place-content: flex-start stretch !important;
    align-items: stretch !important;
  }
}

/* Tablet / iPad: room for lightbulb, readable copy, compact founder card */
@media (min-width: 810px) and (max-width: 1199.98px) {
  section[data-framer-name="Hero"] .framer-1kxwov3 {
    justify-content: space-between !important;
    gap: clamp(28px, 4vw, 40px) !important;
    min-height: min(70vh, 640px) !important;
    height: 100% !important;
    padding-top: 8px !important;
  }

  section[data-framer-name="Hero"] .framer-13u7xh5 {
    flex: 0 0 auto !important;
    max-width: 72% !important;
  }

  section[data-framer-name="Hero"] .bh-hero-brand__word {
    font-size: clamp(40px, 6.4vw, 56px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.05em !important;
  }

  section[data-framer-name="Hero"] .bh-hero-copy {
    width: min(58%, 420px);
    max-width: min(58%, 420px);
    margin: 10px 0 0;
    padding-top: 0;
    align-self: flex-start;
    text-align: justify;
    text-justify: inter-word;
  }

  section[data-framer-name="Hero"] .bh-hero-copy__quote {
    font-family: "EB Garamond", Garamond, "Times New Roman", serif;
    font-size: clamp(17px, 2.2vw, 20px);
    font-style: italic;
    font-weight: 400;
    line-height: 1.38;
    text-align: justify;
    text-justify: inter-word;
    text-shadow: 0 1px 18px rgba(0, 0, 0, 0.55);
  }

  section[data-framer-name="Hero"] .bh-hero-copy__body {
    font-family: "Lato", sans-serif;
    font-size: clamp(13.5px, 1.7vw, 15px);
    font-weight: 400;
    margin-top: 14px;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.78);
    text-align: justify;
    text-justify: inter-word;
    text-shadow: 0 1px 16px rgba(0, 0, 0, 0.5);
  }

  section[data-framer-name="Hero"] .bh-hero-copy__body + .bh-hero-copy__body {
    margin-top: 12px;
  }

  section[data-framer-name="Hero"] .framer-hsxobt {
    gap: 24px !important;
    flex: 1 1 auto !important;
    justify-content: space-between !important;
    min-height: 0 !important;
    align-items: flex-start !important;
  }

  section[data-framer-name="Hero"] .framer-hsxobt > .ssr-variant,
  section[data-framer-name="Hero"] .framer-hsxobt > .framer-1vjzos2-container,
  section[data-framer-name="Hero"] .framer-1vjzos2-container {
    width: fit-content !important;
    max-width: min(420px, 72%) !important;
    margin: auto 0 0 0 !important;
    align-self: flex-start !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd,
  section[data-framer-name="Hero"] .framer-vAymd.framer-1wwdfxz {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-f4gtfg {
    width: fit-content !important;
    max-width: 100% !important;
    padding: 14px 14px 14px 18px !important;
    column-gap: 14px !important;
    align-items: center !important;
    justify-items: start !important;
    border-radius: 16px !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-ilxhip {
    justify-content: center !important;
    gap: 3px !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-izvzao-container {
    align-self: center !important;
    justify-self: end !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-X7cbd,
  section[data-framer-name="Hero"] .framer-vAymd .framer-X7cbd.framer-hhh5z2 {
    min-height: 40px !important;
    padding: 9px 12px 9px 14px !important;
    gap: 14px !important;
  }
}

@media (max-width: 809.98px) {
  /* Fill hero height: brand+copy up top, founder card at bottom → bg shows in between */
  section[data-framer-name="Hero"] .framer-1kxwov3 {
    justify-content: space-between !important;
    gap: 28px !important;
    min-height: min(72vh, 560px) !important;
    height: 100% !important;
  }

  section[data-framer-name="Hero"] .framer-13u7xh5 {
    flex: 0 0 auto !important;
  }

  section[data-framer-name="Hero"] .bh-hero-brand__word {
    font-size: clamp(28px, 8.2vw, 38px) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.05em !important;
  }

  section[data-framer-name="Hero"] .bh-hero-copy {
    width: 68%;
    max-width: 68%;
    margin: 8px auto 0 0; /* kill desktop margin-left:auto — pin to left wall */
    align-self: flex-start;
    text-align: left;
  }

  section[data-framer-name="Hero"] .bh-hero-copy__quote {
    font-family: "EB Garamond", Garamond, "Times New Roman", serif;
    font-size: clamp(14px, 3.8vw, 16px);
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
  }

  section[data-framer-name="Hero"] .bh-hero-copy__body {
    font-family: "Lato", sans-serif;
    font-size: 12.5px;
    font-weight: 400;
    margin-top: 12px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.62);
    text-align: left;
  }

  section[data-framer-name="Hero"] .bh-hero-copy__body + .bh-hero-copy__body {
    margin-top: 10px;
  }

  section[data-framer-name="Hero"] .framer-hsxobt {
    gap: 20px !important;
    flex: 1 1 auto !important;
    justify-content: space-between !important;
    min-height: 0 !important;
  }

  /* Founder CTA card: compact, left-aligned on mobile */
  section[data-framer-name="Hero"] .framer-hsxobt > .ssr-variant,
  section[data-framer-name="Hero"] .framer-hsxobt > .framer-1vjzos2-container,
  section[data-framer-name="Hero"] .framer-1vjzos2-container {
    width: fit-content !important;
    max-width: 100% !important;
    margin: auto 0 0 0 !important;
    align-self: flex-start !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd,
  section[data-framer-name="Hero"] .framer-vAymd.framer-1wwdfxz {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-f4gtfg {
    width: fit-content !important;
    max-width: 100% !important;
    padding: 10px 10px 10px 12px !important;
    column-gap: 8px !important;
    align-items: center !important;
    justify-items: start !important;
    border-radius: 14px !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-ilxhip {
    justify-content: center !important;
    gap: 2px !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-izvzao-container {
    align-self: center !important;
    justify-self: end !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd .framer-X7cbd,
  section[data-framer-name="Hero"] .framer-vAymd .framer-X7cbd.framer-hhh5z2 {
    min-height: 36px !important;
    padding: 8px 10px 8px 12px !important;
    gap: 14px !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Name"] .framer-text {
    --framer-font-size: 15px !important;
    font-size: 15px !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Role"] .framer-text {
    --framer-font-size: 10px !important;
    font-size: 10px !important;
  }

  section[data-framer-name="Hero"] .framer-vAymd [data-framer-name="Team Member Company"] .framer-text {
    --framer-font-size: 11px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 479.98px) {
  section[data-framer-name="Hero"] .bh-hero-brand__word {
    font-size: clamp(26px, 7.6vw, 34px) !important;
  }

  section[data-framer-name="Hero"] .framer-1kxwov3 {
    min-height: min(68vh, 520px) !important;
    gap: 24px !important;
  }

  section[data-framer-name="Hero"] .bh-hero-copy__quote {
    font-family: "EB Garamond", Garamond, "Times New Roman", serif;
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
  }

  section[data-framer-name="Hero"] .bh-hero-copy__body {
    font-family: "Lato", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
  }
}

/* Services section: number + title list (no hover image stack) */
.framer-8d5aox [data-framer-name="Number"],
section[data-framer-name="Services"] [data-framer-name="Button"],
.framer-8d5aox [data-framer-name="Button"],
section[data-framer-name="Services"] [data-framer-name="Categories"],
.framer-8d5aox [data-framer-name="Categories"],
section[data-framer-name="Services"] [data-framer-name="Service Info"],
.framer-8d5aox [data-framer-name="Service Info"],
section[data-framer-name="Services"] [data-framer-name="Images"],
.framer-8d5aox [data-framer-name="Images"],
section[data-framer-name="Services"] .framer-vli817,
.framer-8d5aox .framer-vli817 {
  display: none !important;
}

/* Collapse Text wrappers so open accordion variant can't push titles right */
section[data-framer-name="Services"] [data-framer-name="Text"],
.framer-8d5aox [data-framer-name="Text"],
section[data-framer-name="Services"] [data-framer-name="Text"] > [data-framer-name="1"],
.framer-8d5aox [data-framer-name="Text"] > [data-framer-name="1"] {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  flex: none !important;
  order: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

section[data-framer-name="Services"] .framer-xJaEr,
.framer-8d5aox .framer-xJaEr,
section[data-framer-name="Services"] [data-bh-service],
.framer-8d5aox [data-bh-service] {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(16px, 3vw, 40px) !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  position: relative !important;
  cursor: default !important;
  pointer-events: auto !important;
  overflow: visible !important;
}

/* Number column — keep visible */
section[data-framer-name="Services"] .framer-xJaEr > [data-framer-name="1"],
.framer-8d5aox .framer-xJaEr > [data-framer-name="1"],
section[data-framer-name="Services"] .framer-wos98z,
.framer-8d5aox .framer-wos98z {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  width: auto !important;
  min-width: 4.5em !important;
  height: auto !important;
  padding: 22px 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

section[data-framer-name="Services"] .framer-xJaEr > [data-framer-name="1"] p,
.framer-8d5aox .framer-xJaEr > [data-framer-name="1"] p,
section[data-framer-name="Services"] .framer-wos98z p,
.framer-8d5aox .framer-wos98z p {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: clamp(14px, 1.6vw, 18px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  white-space: nowrap !important;
}

/* Title area: left-aligned by default (tablet/mobile); centered on desktop */
section[data-framer-name="Services"] [data-framer-name="2"],
.framer-8d5aox [data-framer-name="2"] {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 1 1 auto !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: none !important;
}

section[data-framer-name="Services"] [data-framer-name="Service Title"],
.framer-8d5aox [data-framer-name="Service Title"] {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  display: block !important;
  flex: 1 1 auto !important;
  order: 0 !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: min(520px, 70%) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 18px 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  white-space: nowrap !important;
  text-align: left !important;
  z-index: 2 !important;
  pointer-events: none !important;
  color: #fff !important;
}

/* Desktop + tablet: center the title text box horizontally (shared column width) */
@media (min-width: 810px) {
  section[data-framer-name="Services"] [data-framer-name="2"],
  .framer-8d5aox [data-framer-name="2"] {
    justify-content: center !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Service Title"],
  .framer-8d5aox [data-framer-name="Service Title"] {
    flex: 0 0 auto !important;
    width: min(430px, 48vw) !important;
    max-width: min(430px, 48vw) !important;
    min-width: min(280px, 48vw) !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .bh-service-name {
    width: min(430px, 48vw);
    max-width: min(430px, 48vw);
    margin: 0 auto;
  }
}

@media (min-width: 1200px) {
  section[data-framer-name="Services"] [data-framer-name="Service Title"],
  .framer-8d5aox [data-framer-name="Service Title"] {
    width: min(430px, 42vw) !important;
    max-width: min(430px, 42vw) !important;
    min-width: min(430px, 42vw) !important;
  }

  .bh-service-name {
    width: min(430px, 42vw);
    max-width: min(430px, 42vw);
  }
}

section[data-framer-name="Services"] [data-framer-name="Service Title"] p,
.framer-8d5aox [data-framer-name="Service Title"] p {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  color: #fff !important;
  font-size: clamp(15px, 2vw, 24px) !important;
  font-weight: 400 !important;
  --framer-font-weight: 400 !important;
  --framer-font-size: clamp(15px, 2vw, 24px) !important;
  letter-spacing: -0.04em !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Injected fallback title if Framer title node is missing */
.bh-service-name {
  display: block;
  box-sizing: border-box;
  width: min(430px, 78vw);
  max-width: min(430px, 78vw);
  margin: 0 auto;
  padding: 18px 0;
  color: #fff;
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: clamp(15px, 2vw, 24px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}

@media (max-width: 809.98px) {
  section[data-framer-name="Services"],
  .framer-8d5aox {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .bh-service-name {
    width: min(100%, 92vw);
    max-width: min(100%, 92vw);
    margin: 0;
    padding: 16px 0;
    font-size: clamp(15px, 4.2vw, 18px);
    white-space: normal;
    text-align: left;
  }

  section[data-framer-name="Services"] .framer-xJaEr,
  .framer-8d5aox .framer-xJaEr,
  section[data-framer-name="Services"] [data-bh-service],
  .framer-8d5aox [data-bh-service] {
    gap: 12px !important;
    padding: 6px 0 !important;
    min-height: 64px !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  /* Same number column width on every row so titles share one left edge */
  section[data-framer-name="Services"] .framer-xJaEr > [data-framer-name="1"],
  .framer-8d5aox .framer-xJaEr > [data-framer-name="1"],
  section[data-framer-name="Services"] .framer-wos98z,
  .framer-8d5aox .framer-wos98z {
    flex: 0 0 3.1em !important;
    width: 3.1em !important;
    min-width: 3.1em !important;
    max-width: 3.1em !important;
    justify-content: flex-start !important;
    padding: 16px 0 !important;
  }

  section[data-framer-name="Services"] [data-framer-name="2"],
  .framer-8d5aox [data-framer-name="2"] {
    justify-content: flex-start !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Service Title"],
  .framer-8d5aox [data-framer-name="Service Title"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Service Title"] p,
  .framer-8d5aox [data-framer-name="Service Title"] p {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    text-align: left !important;
    --framer-text-alignment: left !important;
    font-size: clamp(15px, 4.2vw, 18px) !important;
    --framer-font-size: clamp(15px, 4.2vw, 18px) !important;
  }
}

@media (max-width: 1199.98px) and (min-width: 810px) {
  section[data-framer-name="Services"] .framer-xJaEr > [data-framer-name="1"],
  .framer-8d5aox .framer-xJaEr > [data-framer-name="1"],
  section[data-framer-name="Services"] .framer-wos98z,
  .framer-8d5aox .framer-wos98z {
    min-width: 3.6em !important;
    padding: 18px 0 !important;
  }

  section[data-framer-name="Services"],
  .framer-8d5aox {
    padding-left: clamp(32px, 5vw, 56px) !important;
    padding-right: clamp(32px, 5vw, 56px) !important;
  }

  section[data-framer-name="Services"] .framer-xJaEr,
  .framer-8d5aox .framer-xJaEr,
  section[data-framer-name="Services"] [data-bh-service],
  .framer-8d5aox [data-bh-service] {
    gap: 18px !important;
    min-height: 58px !important;
  }

  section[data-framer-name="Services"] [data-framer-name="2"],
  .framer-8d5aox [data-framer-name="2"] {
    justify-content: center !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Service Title"],
  .framer-8d5aox [data-framer-name="Service Title"] {
    width: min(380px, 52vw) !important;
    max-width: min(380px, 52vw) !important;
    min-width: min(260px, 46vw) !important;
    white-space: normal !important;
    padding: 16px 0 !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Service Title"] p,
  .framer-8d5aox [data-framer-name="Service Title"] p {
    white-space: normal !important;
    font-size: clamp(16px, 2.2vw, 20px) !important;
    --framer-font-size: clamp(16px, 2.2vw, 20px) !important;
    line-height: 1.25 !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  /* Keep section eyebrow/heading composition balanced on iPad */
  section[data-framer-name="Services"] [data-framer-name="Top"],
  .framer-8d5aox [data-framer-name="Top"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #cta-banner {
    padding: 72px 28px 48px;
  }

  #cta-banner .cta-banner__panel {
    min-height: 420px;
    padding: 3rem 2.25rem;
  }

  #quote-bridge {
    padding-left: 28px;
    padding-right: 28px;
  }

  section[data-framer-name="Pricing"].framer-wafde9,
  .framer-rkHvP section[data-framer-name="Pricing"] {
    padding: 80px 28px !important;
  }
}

/* Phone only: keep titles left-aligned (do not override iPad touch) */
@media (max-width: 809.98px) {
  section[data-framer-name="Services"] [data-framer-name="2"],
  .framer-8d5aox [data-framer-name="2"] {
    justify-content: flex-start !important;
  }

  section[data-framer-name="Services"] [data-framer-name="Service Title"],
  .framer-8d5aox [data-framer-name="Service Title"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-right: 0 !important;
    white-space: normal !important;
    text-align: left !important;
  }
}

/* Projects section: hide project count badge */
.framer-hv8rku [data-framer-name="Project count"] {
  display: none !important;
}

/* Projects section: hide subtitle + /year on cards */
.framer-hv8rku [data-framer-name="Description"],
.framer-hv8rku .framer-bkkbwn,
.framer-hv8rku [data-framer-name="Year"],
.framer-hv8rku .framer-10jxc9a {
  display: none !important;
}

/* Projects cards: remove the decorative red/yellow/green window controls. */
.framer-hv8rku [data-framer-name="Dots"] {
  display: none !important;
}

section[data-framer-name="Projects"] a.framer-p1ypN {
  cursor: pointer !important;
}

/* Custom Work profile cards */
.bh-work-grid {
  --work-accent: #105b63;
  --work-accent-soft: rgba(16, 91, 99, 0.18);
  --work-accent-text: #7ec8c9;
  --work-card-bg: #0d0d0d;
  --work-muted: rgba(255, 255, 255, 0.58);
  --work-meta: rgba(255, 255, 255, 0.42);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
  margin-top: 0;
}

.bh-work-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  border: 0 !important;
  outline: none;
  border-radius: 18px;
  background: var(--work-card-bg);
  color: #fff;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.35s ease;
  transition-delay: 0s, 0s, 0s;
  will-change: opacity, transform;
}

.bh-work-card.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: var(--bh-reveal-delay, 0ms), var(--bh-reveal-delay, 0ms), 0s;
  will-change: auto;
}

.bh-work-card:hover,
.bh-work-card:focus-visible {
  background: #111;
}

.bh-work-card:focus-visible {
  box-shadow: 0 0 0 2px rgba(16, 91, 99, 0.55) !important;
}

.bh-work-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1.36585;
  overflow: hidden;
  background: var(--work-card-bg);
  isolation: isolate;
  transform: translateZ(0);
  border: 0 !important;
  outline: none;
  box-shadow: none;
  /* Kill subpixel hairlines under the image on mobile Safari/Chrome */
  margin-bottom: -1px;
}

.bh-work-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: calc(100% + 1px);
  max-width: none;
  object-fit: cover;
  object-position: center top;
  display: block;
  transform: scale(1) translateZ(0);
  transform-origin: center center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.bh-work-card:hover .bh-work-card__media img,
.bh-work-card:focus-visible .bh-work-card__media img {
  transform: scale(1.04) translateZ(0);
}

.bh-work-card__media::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 44%;
  background: linear-gradient(
    to top,
    var(--work-card-bg) 0%,
    rgba(13, 13, 13, 0.72) 40%,
    rgba(13, 13, 13, 0) 100%
  );
  pointer-events: none;
  z-index: 1;
}

.bh-work-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 4px 22px 22px;
  margin-top: -28px;
  position: relative;
  z-index: 1;
}

.bh-work-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bh-work-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 6px 11px;
  border-radius: 999px;
  background: var(--work-accent-soft);
  color: var(--work-accent-text);
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
  white-space: nowrap;
}

.bh-work-card__title {
  margin: 2px 0 0;
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.25;
  color: #fff;
}

.bh-work-card__name {
  color: #fff;
}

.bh-work-card__dot,
.bh-work-card__category {
  display: none !important;
}

.bh-work-card__desc {
  margin: 0;
  max-width: 36ch;
  color: var(--work-muted);
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: -0.01em;
}

.bh-work-card__meta {
  margin: 2px 0 0;
  color: var(--work-meta);
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

/* Editorial cursor: precise dot + trailing nameplate */
.bh-work-cursor {
  position: fixed;
  inset: 0;
  z-index: 10060;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.bh-work-cursor.is-visible {
  opacity: 1;
  visibility: visible;
}

.bh-work-cursor__dot,
.bh-work-cursor__plate {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  will-change: transform;
}

.bh-work-cursor__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #7ec8c9;
  box-shadow:
    0 0 0 6px rgba(16, 91, 99, 0.18),
    0 0 18px rgba(126, 200, 201, 0.45);
  opacity: 0;
  transform: translate3d(-999px, -999px, 0);
  transition: opacity 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.bh-work-cursor.is-visible .bh-work-cursor__dot {
  opacity: 1;
}

.bh-work-cursor.is-pressed .bh-work-cursor__dot {
  background: #fff;
  box-shadow:
    0 0 0 8px rgba(16, 91, 99, 0.28),
    0 0 22px rgba(126, 200, 201, 0.55);
}

.bh-work-cursor__plate {
  min-width: 0;
  max-width: 240px;
  padding: 10px 16px;
  border-radius: 4px 16px 16px 16px;
  background: linear-gradient(
    145deg,
    rgba(18, 18, 18, 0.92) 0%,
    rgba(12, 28, 30, 0.9) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 2px solid #105b63;
  color: #fff;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  transform: translate3d(-999px, -999px, 0);
  transition: opacity 0.28s ease, border-color 0.28s ease;
}

.bh-work-cursor.is-visible .bh-work-cursor__plate {
  opacity: 1;
  animation: bh-work-plate-in 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.bh-work-cursor.is-pressed .bh-work-cursor__plate {
  border-left-color: #7ec8c9;
}

.bh-work-cursor__name {
  display: block;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 17px;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@keyframes bh-work-plate-in {
  from {
    opacity: 0;
    filter: blur(4px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}

html.bh-work-cursor-enabled.bh-work-cursor-on,
html.bh-work-cursor-enabled.bh-work-cursor-on body,
html.bh-work-cursor-enabled.bh-work-cursor-on .bh-work-card,
html.bh-work-cursor-enabled.bh-work-cursor-on .bh-work-card * {
  cursor: none !important;
}

@media (max-width: 809.98px) {
  .bh-work-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bh-work-card {
    border-radius: 18px;
  }

  .bh-work-card__media {
    margin-bottom: -1px;
  }

  .bh-work-card__media::after {
    inset: auto 0 -2px;
    height: 48%;
  }

  .bh-work-card__body {
    padding: 10px 18px 20px;
    margin-top: -30px;
    background: transparent;
    border-top: 0 !important;
    box-shadow: none !important;
  }

  .bh-work-card__title {
    font-size: clamp(1.15rem, 5vw, 1.35rem);
  }

  .bh-work-card__desc {
    max-width: none;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5;
  }

  .bh-work-card__meta {
    margin-top: 12px;
  }

  .bh-work-cursor {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bh-work-card,
  .bh-work-card__media img,
  .bh-work-cursor,
  .bh-work-cursor__dot,
  .bh-work-cursor__plate {
    transition: none !important;
    animation: none !important;
  }

  .bh-work-card {
    opacity: 1 !important;
    transform: none !important;
  }

  .bh-work-card:hover,
  .bh-work-card:focus-visible {
    background: #111;
  }

  .bh-work-card:hover .bh-work-card__media img,
  .bh-work-card:focus-visible .bh-work-card__media img {
    transform: none;
  }
}

/* Projects heading: don't clip descenders */
.framer-hv8rku [data-framer-name="Heading"],
.framer-hv8rku .framer-7l5kym {
  overflow: visible !important;
}

.framer-hv8rku [data-framer-name="Heading"] h2,
.framer-hv8rku .framer-7l5kym h2 {
  overflow: visible !important;
  line-height: 1.1 !important;
}

/* Pull next section up — cancel Main gap below Work cards */
section[data-framer-name="Projects"].framer-hv8rku {
  margin-bottom: -190px;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  section[data-framer-name="Projects"].framer-hv8rku {
    margin-bottom: -120px;
  }
}

@media (max-width: 809.98px) {
  section[data-framer-name="Projects"].framer-hv8rku {
    margin-bottom: -50px;
  }
}

.framer-8d5aox [data-framer-name="Items"] {
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* Hide empty trademark slot left after removing ® from the hero title. */
.framer-rkHvP .framer-1o25fny {
  display: none !important;
  width: 0 !important;
}

/* Footer logo: BrandHive is longer than original fabrica®.
   Keep font size; shift left so the full word fits in view. */
.framer-8QVl3 .framer-11bxfef,
.framer-8QVl3 .framer-755gr8 {
  overflow: visible !important;
}

.framer-8QVl3 .framer-pbcowa,
.framer-8QVl3 .framer-1w026i8 {
  overflow: visible !important;
}

.framer-8QVl3 .framer-1w026i8 {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.framer-8QVl3 .framer-1w026i8 text,
.framer-8QVl3 .framer-1w026i8 foreignObject,
.framer-8QVl3 .framer-1w026i8 p {
  overflow: visible !important;
  white-space: nowrap !important;
}

/* Desktop/tablet: pull BrandHive (+ Socials) left so "e" is not clipped */
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-8QVl3 .framer-pbcowa {
    transform: translateX(-96px);
  }
}

@media (min-width: 1200px) {
  .framer-8QVl3 .framer-pbcowa {
    transform: translateX(-170px);
  }
}

/* Footer: pin "Socials" to the right end of BrandHive */
.framer-8QVl3 .framer-pbcowa {
  position: relative !important;
}

.framer-8QVl3 .framer-pbcowa > .ssr-variant:has(.framer-x47oxk) {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  display: block !important;
  transform: none !important;
}

.framer-8QVl3 .framer-pbcowa .framer-x47oxk {
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: right !important;
  transform: none !important;
}

.framer-8QVl3 .framer-pbcowa .framer-x47oxk p {
  text-align: right !important;
  width: auto !important;
  white-space: nowrap !important;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-8QVl3 .framer-pbcowa .framer-x47oxk p {
    --framer-font-size: 54px !important;
    font-size: 54px !important;
  }
}

@media (min-width: 1200px) {
  .framer-8QVl3 .framer-pbcowa .framer-x47oxk p {
    --framer-font-size: 72px !important;
    font-size: 72px !important;
  }
}

/* Mobile footer wordmark: plain stack (SVG viewBox sizing fights phone fonts). */
.bh-footer-wordmark {
  display: none;
}

@media (max-width: 809.98px) {
  .framer-8QVl3 .framer-pbcowa {
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
  }

  /* Must beat base `.ssr-variant:has(.framer-x47oxk) { display: block !important }` */
  .framer-8QVl3 .framer-pbcowa:has(.bh-footer-wordmark) > svg.framer-1w026i8,
  .framer-8QVl3 .framer-pbcowa:has(.bh-footer-wordmark) > .ssr-variant,
  .framer-8QVl3 .framer-pbcowa:has(.bh-footer-wordmark) > .ssr-variant:has(.framer-x47oxk),
  .framer-8QVl3 .framer-pbcowa:has(.bh-footer-wordmark) .framer-x47oxk {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
  }

  .framer-8QVl3 .framer-pbcowa > .bh-footer-wordmark {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #0a0a0a;
    font-family: "Inter", "Inter Placeholder", sans-serif;
    font-weight: 600;
    letter-spacing: -0.05em;
    white-space: nowrap;
  }

  .framer-8QVl3 .framer-pbcowa > .bh-footer-wordmark .bh-brand {
    display: block;
    font-size: clamp(52px, 15.5vw, 64px);
    line-height: 1;
    margin: 0;
    padding: 0;
  }

  .framer-8QVl3 .framer-pbcowa > .bh-footer-wordmark .bh-socials {
    display: block;
    font-size: clamp(44px, 13vw, 56px);
    line-height: 1;
    margin: 0;
    padding: 0;
  }
}

@media (min-width: 810px) {
  .framer-8QVl3 .framer-pbcowa > .bh-footer-wordmark {
    display: none !important;
  }
}

/* Footer bottom bar: hide Privacy Policy + Terms of Service only */
.framer-8QVl3 .framer-tlsn55 [data-framer-name="Links"],
.framer-8QVl3 .framer-tlsn55 [data-framer-name="2"] {
  display: none !important;
}

/* Hide footer / menu phone number row (replaced by Hire us + Join us emails) */
footer [data-framer-name="Contact"] > .framer-14rnmud,
[data-framer-name="Bottom"] [data-framer-name="Contact"] > .framer-zypsr7,
footer [data-framer-name="Contact"] a[href^="tel:"],
[data-framer-name="Bottom"] [data-framer-name="Contact"] a[href^="tel:"] {
  display: none !important;
}

/* Stacked Hire us / Join us email blocks - match Join us card style */
footer [data-framer-name="Contact"] [data-bh-email="join us"] {
  margin-top: 36px;
}

/* Footer only: Framer's email CTA component is min-content by default, which
   collapses the email cards after the heading/address text is split into spans. */
footer [data-framer-name="Contact"] [data-bh-email] {
  width: 100% !important;
  max-width: 100% !important;
}

footer [data-framer-name="Contact"] [data-bh-email] > a.framer-XRBqV {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

footer [data-framer-name="Contact"] .framer-149v3n5-container {
  flex: 0 0 26px !important;
  width: 26px !important;
  height: 26px !important;
  margin-top: 4px !important;
  overflow: visible !important;
}

footer [data-framer-name="Contact"] .framer-mF96D.framer-ul5qem {
  width: 26px !important;
  height: 26px !important;
  overflow: visible !important;
}

footer [data-framer-name="Contact"] .framer-17vqepl,
footer [data-framer-name="Contact"] .framer-29jocm {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

footer [data-framer-name="Contact"] [data-framer-name="Email Address"],
footer [data-framer-name="Contact"] [data-framer-name="Email Address"] .framer-text,
[data-framer-name="Bottom"] [data-framer-name="Contact"] [data-framer-name="Email Address"],
[data-framer-name="Bottom"] [data-framer-name="Contact"] [data-framer-name="Email Address"] .framer-text {
  white-space: normal !important;
  overflow: visible !important;
}

footer [data-framer-name="Contact"] [data-framer-name="Email Address"] .framer-text,
[data-framer-name="Bottom"] [data-framer-name="Contact"] [data-framer-name="Email Address"] .framer-text {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2em;
  width: 100%;
  max-width: 100%;
  line-height: 1.2 !important;
  font-size: clamp(16px, 4.2vw, 22px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: #0a0a0a !important;
  opacity: 1 !important;
  visibility: visible !important;
  word-break: normal;
  overflow-wrap: normal;
}

footer [data-framer-name="Contact"] [data-framer-name="Email Address"] .framer-text,
[data-framer-name="Bottom"] [data-framer-name="Contact"] [data-framer-name="Email Address"] .framer-text,
footer [data-framer-name="Contact"] .bh-email-heading,
footer [data-framer-name="Contact"] .bh-email-address,
[data-framer-name="Bottom"] [data-framer-name="Contact"] .bh-email-heading,
[data-framer-name="Bottom"] [data-framer-name="Contact"] .bh-email-address {
  --framer-text-color: #0a0a0a !important;
  color: #0a0a0a !important;
  opacity: 1 !important;
}

@media (max-width: 809.98px) {
  footer [data-framer-name="Contact"] [data-framer-name="Email Address"] .framer-text {
    font-size: 18px !important;
  }

  footer [data-framer-name="Contact"] [data-bh-email="join us"] {
    margin-top: 24px;
  }

  footer [data-framer-name="Contact"] .framer-149v3n5-container,
  footer [data-framer-name="Contact"] .framer-mF96D.framer-ul5qem {
    flex-basis: 22px !important;
    width: 22px !important;
    height: 22px !important;
  }
}

footer [data-framer-name="Contact"] .bh-email-heading,
footer [data-framer-name="Contact"] .bh-email-address,
[data-framer-name="Bottom"] [data-framer-name="Contact"] .bh-email-heading,
[data-framer-name="Bottom"] [data-framer-name="Contact"] .bh-email-address {
  display: block;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Hamburger overlay - current sections, fixed CTAs, no internal scrollbar */
html.bh-menu-open,
html.bh-menu-open body {
  overflow: hidden !important;
}

.framer-JRveZ [data-framer-name="Legal"],
.framer-JRveZ [data-framer-name="Copyright Text"] {
  display: none !important;
}

/* Apply viewport layout only to Framer's open menu variants. */
.framer-JRveZ:not(.framer-v-v89dtt):not(.framer-v-14j3axz):not(.framer-v-12w42s8)
  > [data-framer-name="Body"].framer-1rfamfy {
  flex: 1 1 auto !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 0 !important;
  height: calc(100dvh - 62px) !important;
  max-height: calc(100dvh - 62px) !important;
  padding: clamp(18px, 4vh, 44px) 0 clamp(104px, 18vh, 142px) !important;
  gap: 0 !important;
  position: relative !important;
  inset: auto !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

.framer-JRveZ [data-framer-name="Navigation"] {
  gap: 0 !important;
}

.framer-JRveZ [data-framer-name="Navigation"] a .framer-text {
  font-size: clamp(28px, 5.2vh, 48px) !important;
  line-height: 1.02 !important;
}

.framer-JRveZ [data-framer-name="Bottom"].framer-17uvimj {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end !important;
  gap: clamp(16px, 4vw, 48px) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 clamp(4px, 1vw, 12px) 4px !important;
  box-sizing: border-box;
}

.framer-JRveZ:not(.framer-v-v89dtt):not(.framer-v-14j3axz):not(.framer-v-12w42s8)
  > [data-framer-name="Body"]
  > [data-framer-name="Bottom"].framer-17uvimj {
  position: absolute !important;
  right: 0 !important;
  bottom: 14px !important;
  left: 0 !important;
}

.framer-JRveZ [data-framer-name="Bottom"] [data-framer-name="Contact"] {
  display: contents !important;
}

.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="hire us"] {
  grid-column: 1;
  justify-self: start;
}

.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="join us"] {
  grid-column: 2;
  justify-self: end;
  margin-top: 0 !important;
}

.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="hire us"],
.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="join us"] {
  width: min(100%, 420px) !important;
  max-width: 100%;
  min-width: 0;
}

.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="hire us"]
  > a,
.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="join us"]
  > a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0;
  overflow: visible !important;
}

.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="join us"]
  > a {
  flex-direction: row-reverse !important;
  text-align: right;
}

.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-bh-email="join us"]
  [data-framer-name="Email Address"]
  .framer-text {
  align-items: flex-end !important;
}

/* Keep both plus icons fully inside the viewport. */
.framer-JRveZ [data-framer-name="Bottom"] .framer-149v3n5-container {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  overflow: visible !important;
}

.framer-JRveZ [data-framer-name="Bottom"] .framer-mF96D.framer-ul5qem {
  width: 24px !important;
  height: 24px !important;
  overflow: hidden !important;
}

.framer-JRveZ [data-framer-name="Bottom"] .framer-17vqepl,
.framer-JRveZ [data-framer-name="Bottom"] .framer-29jocm {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.framer-JRveZ [data-framer-name="Bottom"] .framer-29jocm {
  white-space: normal !important;
}

.framer-JRveZ
  [data-framer-name="Bottom"]
  [data-framer-name="Email Address"]
  .framer-text {
  width: 100% !important;
  min-width: 0;
  font-size: clamp(12px, 1.55vw, 19px) !important;
  line-height: 1.12 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 809.98px) {
  .framer-JRveZ:not(.framer-v-v89dtt):not(.framer-v-14j3axz):not(.framer-v-12w42s8)
    > [data-framer-name="Body"].framer-1rfamfy {
    height: calc(100dvh - 58px) !important;
    max-height: calc(100dvh - 58px) !important;
    padding: 10px 0 112px !important;
  }

  .framer-JRveZ [data-framer-name="Navigation"] a .framer-text {
    font-size: clamp(26px, 5vh, 38px) !important;
  }

  .framer-JRveZ [data-framer-name="Bottom"].framer-17uvimj {
    gap: 10px !important;
    padding: 0 2px 2px !important;
  }

  .framer-JRveZ
    [data-framer-name="Bottom"]
    [data-framer-name="Email Address"]
    .framer-text {
    font-size: 11px !important;
    letter-spacing: -0.02em !important;
  }

  .framer-JRveZ [data-framer-name="Bottom"] .bh-email-address {
    font-size: 9px !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap;
  }

  .framer-JRveZ [data-framer-name="Bottom"] .framer-149v3n5-container,
  .framer-JRveZ [data-framer-name="Bottom"] .framer-mF96D.framer-ul5qem {
    flex-basis: 20px !important;
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-height: 620px) {
  .framer-JRveZ [data-framer-name="Navigation"] a .framer-text {
    font-size: clamp(22px, 5vh, 30px) !important;
  }

  .framer-JRveZ:not(.framer-v-v89dtt):not(.framer-v-14j3axz):not(.framer-v-12w42s8)
    > [data-framer-name="Body"].framer-1rfamfy {
    padding-top: 4px !important;
    padding-bottom: 94px !important;
  }
}

/* Desktop/tablet top navbar: fit shared 6-item set */
@media (min-width: 810px) {
  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] {
    gap: 10px !important;
  }

  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] a.framer-tlV8P .framer-text {
    font-size: 14px !important;
  }
}

@media (min-width: 1200px) {
  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] {
    gap: 16px !important;
  }

  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] a.framer-tlV8P .framer-text {
    font-size: 15px !important;
  }
}

/* Mobile header: keep hamburger / close (X) fully on-screen */
@media (max-width: 809.98px) {
  .framer-JRveZ.framer-bzu5mb,
  .framer-JRveZ.framer-v-12w42s8.framer-bzu5mb,
  .framer-JRveZ.framer-v-1dcusg4.framer-bzu5mb,
  .framer-JRveZ.framer-v-14j3axz.framer-bzu5mb {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 20px !important;
    overflow: hidden !important;
  }

  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    gap: 12px !important;
    overflow: visible !important;
  }

  /*
   * Phone / open-menu header must stay logo + toggle only.
   * Desktop Top nav slots (incl. clones for Packages) otherwise sit
   * beside the close (X) and push it off-screen.
   */
  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
    > :not([data-framer-name="Link"]):not([data-framer-name="Button container"]),
  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] > [data-bh-nav-clone],
  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] > .bh-top-nav-slot,
  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] > [class*="-container"],
  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"] > a.framer-tlV8P {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
  }

  .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
    > [data-framer-name="Button container"] {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    opacity: 1 !important;
    position: relative !important;
    overflow: visible !important;
  }

  .framer-JRveZ .framer-iogiyt[data-framer-name="Link"] {
    min-width: 0 !important;
    max-width: calc(100% - 56px) !important;
    overflow: hidden !important;
  }

  .framer-JRveZ [data-framer-name="Button container"].framer-ednsow,
  .framer-JRveZ .framer-eda3z9-container,
  .framer-JRveZ .framer-UNjyH {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    position: relative !important;
    z-index: 6 !important;
    overflow: visible !important;
  }

  /* Closed hamburger — slightly shorter so it fits tight viewports */
  .framer-UNjyH.framer-v-1qd80pl .framer-1jxc6iw,
  .framer-UNjyH.framer-v-1qd80pl .framer-qxejnu {
    width: 28px !important;
  }

  /* Close (X) — compact and fully inside the button */
  .framer-UNjyH.framer-v-4fzt3a.framer-1qd80pl {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    box-sizing: border-box !important;
  }

  .framer-UNjyH.framer-v-4fzt3a .framer-1jxc6iw,
  .framer-UNjyH.framer-v-4fzt3a .framer-qxejnu {
    left: 2px !important;
    right: 2px !important;
    width: auto !important;
    height: 2px !important;
  }

  .framer-UNjyH.framer-v-4fzt3a .framer-1jxc6iw {
    transform: rotate(45deg) !important;
  }

  .framer-UNjyH.framer-v-4fzt3a .framer-qxejnu {
    transform: rotate(-45deg) !important;
  }
}

/* Whenever the overlay menu is open, never show Top text links beside the X */
html.bh-menu-open .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
  > :not([data-framer-name="Link"]):not([data-framer-name="Button container"]),
html.bh-menu-open .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
  > [data-bh-nav-clone],
html.bh-menu-open .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
  > .bh-top-nav-slot,
html.bh-menu-open .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
  > [class*="-container"],
html.bh-menu-open .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
  > a.framer-tlV8P {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
}

html.bh-menu-open .framer-JRveZ .framer-120hnkq[data-framer-name="Top"]
  > [data-framer-name="Button container"] {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  opacity: 1 !important;
  position: relative !important;
  overflow: visible !important;
}

/* Same hover for Hire us + Join us (plus rotates, underline fades) */
footer [data-framer-name="Contact"] a.framer-XRBqV .framer-149v3n5-container,
footer [data-framer-name="Contact"] a.framer-XRBqV .framer-mF96D,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV .framer-149v3n5-container,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV .framer-mF96D {
  transition: transform 400ms cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform-origin: center center !important;
  will-change: transform;
}

footer [data-framer-name="Contact"] a.framer-XRBqV .framer-1wpm5k9,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV .framer-1wpm5k9 {
  opacity: 1 !important;
  transition: opacity 350ms ease !important;
}

footer [data-framer-name="Contact"] a.framer-XRBqV:hover .framer-149v3n5-container,
footer [data-framer-name="Contact"] a.framer-XRBqV:focus-visible .framer-149v3n5-container,
footer [data-framer-name="Contact"] a.framer-XRBqV:hover .framer-mF96D,
footer [data-framer-name="Contact"] a.framer-XRBqV:focus-visible .framer-mF96D,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV:hover .framer-149v3n5-container,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV:focus-visible .framer-149v3n5-container,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV:hover .framer-mF96D,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV:focus-visible .framer-mF96D {
  transform: rotate(90deg) !important;
}

footer [data-framer-name="Contact"] a.framer-XRBqV:hover .framer-1wpm5k9,
footer [data-framer-name="Contact"] a.framer-XRBqV:focus-visible .framer-1wpm5k9,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV:hover .framer-1wpm5k9,
[data-framer-name="Bottom"] [data-framer-name="Contact"] a.framer-XRBqV:focus-visible .framer-1wpm5k9 {
  opacity: 0 !important;
}

/* Hide Dribbble from footer Social */
footer [data-framer-name="Social"] .framer-1tsabm-container,
footer [data-framer-name="Social"] a[href*="dribbble"] {
  display: none !important;
}

/* Hide Team section above FAQ */
.framer-8QVl3 section[data-framer-name="Team"],
.framer-8QVl3 .framer-1l4ytm4 {
  display: none !important;
}

.bh-abs-fill {
  position: absolute;
  border-radius: inherit;
  corner-shape: inherit;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.bh-media-cover,
.bh-media-contain,
.bh-media-fill {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  corner-shape: inherit;
  object-position: center;
}

.bh-media-cover {
  object-fit: cover;
}

.bh-media-contain {
  object-fit: contain;
}

.bh-media-fill {
  object-fit: fill;
}

.bh-relative-hidden-fill {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* Testimonials: 7 reviews. Intro card stays fixed; review cards marquee. */
.framer-rkHvP .framer-mr0vhf {
  height: auto !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
}

.framer-rkHvP .framer-mr0vhf.bh-testimonials-layout {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  width: 100%;
  min-height: 500px;
  overflow: hidden;
  grid-template-columns: none !important;
}

.framer-rkHvP .framer-mr0vhf.bh-testimonials-layout > .framer-1gh0xjw,
.framer-rkHvP .framer-mr0vhf.bh-testimonials-layout > [data-framer-name="Intro"] {
  flex: 0 0 clamp(240px, 24%, 360px) !important;
  width: clamp(240px, 24%, 360px) !important;
  max-width: 360px;
  height: auto !important;
  min-height: 430px;
  place-self: stretch !important;
  z-index: 2;
}

.bh-testimonials-marquee {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 12px,
    #000 calc(100% - 12px),
    transparent 100%
  );
}

.bh-testimonials-marquee__viewport {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.bh-testimonials-marquee__track {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  width: max-content;
  height: 100%;
  gap: 4px;
  will-change: transform;
  animation: bh-testimonials-rtl 55s linear infinite;
}

.bh-testimonials-marquee__track-source,
.bh-testimonials-marquee__track-clone {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: 4px;
  height: 100%;
}

.bh-testimonials-marquee__track-clone {
  margin-left: 0;
}

.bh-testimonials-marquee__track-source > *,
.bh-testimonials-marquee__track-clone > * {
  flex: 0 0 clamp(280px, 22vw, 360px) !important;
  width: clamp(280px, 22vw, 360px) !important;
  max-width: 360px;
  height: auto !important;
  min-height: 430px;
  place-self: stretch !important;
  display: flex;
  flex-direction: column;
}

.bh-testimonials-marquee__track-source > * > *,
.bh-testimonials-marquee__track-clone > * > * {
  flex: 1 0 auto;
  width: 100% !important;
  height: 100% !important;
}

.bh-testimonials-marquee:hover .bh-testimonials-marquee__track {
  animation-play-state: paused;
}

@keyframes bh-testimonials-rtl {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

/* Clients logos: infinite horizontal marquee */
.framer-7u37s9[data-framer-name="Clients"] .framer-1wou3v3.bh-clients-logo-row {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  padding: 0 !important;
  grid-template-columns: none !important;
}

.bh-clients-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 24px,
    #000 calc(100% - 24px),
    transparent 100%
  );
}

.bh-clients-marquee__viewport {
  width: 100%;
  overflow: hidden;
}

.bh-clients-marquee__track {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  width: max-content;
  gap: 4px;
  will-change: transform;
  animation: bh-clients-rtl 28s linear infinite;
}

.bh-clients-marquee__track-source,
.bh-clients-marquee__track-clone {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  gap: 4px;
}

.bh-clients-marquee__track-source > *,
.bh-clients-marquee__track-clone > * {
  flex: 0 0 clamp(148px, 18vw, 220px) !important;
  width: clamp(148px, 18vw, 220px) !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1.36 / 1;
  place-self: stretch !important;
}

.bh-clients-marquee__track-source > * > *,
.bh-clients-marquee__track-clone > * > * {
  width: 100% !important;
  height: 100% !important;
}

.bh-clients-marquee__track-source .framer-Nt3nr,
.bh-clients-marquee__track-clone .framer-Nt3nr {
  width: 100% !important;
  height: 100% !important;
}

/* Custom client logo cards (replaces Framer SVG placeholders) */
.bh-client-logo-card {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(16px, 2.4vw, 28px);
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}

.bh-client-logo-card__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

.bh-clients-marquee:hover .bh-clients-marquee__track {
  animation-play-state: paused;
}

@keyframes bh-clients-rtl {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bh-clients-marquee__track {
    animation: none !important;
    transform: none !important;
  }
}

.framer-rkHvP .framer-mr0vhf > * {
  place-self: stretch !important;
  height: auto !important;
  display: flex;
  flex-direction: column;
}

.framer-rkHvP .framer-mr0vhf > * > * {
  flex: 1 0 auto;
}

/* Card root: auto height with a shared minimum so rows stay even. */
.framer-mr0vhf .framer-k80mU.framer-1xa06lp {
  height: 100% !important;
  min-height: 430px;
}

/* Slightly tighter card padding to absorb the longer copy. */
.framer-mr0vhf .framer-k80mU .framer-1nedhuv,
.framer-mr0vhf .framer-k80mU .framer-1flz52s {
  padding: 24px;
}

/* Quote block keeps natural height; never clip text. */
.framer-mr0vhf .framer-k80mU .framer-1flz52s {
  height: auto !important;
  min-height: 0;
}

.framer-mr0vhf .framer-k80mU .framer-j1a15y {
  overflow: visible !important;
}

/* Smaller quote type for longer reviews. */
.framer-mr0vhf .framer-k80mU .framer-j1a15y .framer-text,
.framer-mr0vhf .framer-k80mU .framer-styles-preset-1hin0ji {
  --framer-font-size: 20px !important;
  --framer-line-height: 120% !important;
}

/* Hide the "56+" avatar-stack count badge in Testimonials. */
.framer-rkHvP .framer-mr0vhf .framer-1xp3t2u[data-framer-name="Rating Count"],
.framer-rkHvP section[data-framer-name="Testimonials"] .framer-1xp3t2u[data-framer-name="Rating Count"],
section[data-framer-name="Testimonials"] .framer-1xp3t2u[data-framer-name="Rating Count"] {
  display: none !important;
}

/* Stars + “Trusted by…” — keep side-by-side with room so text never covers stars */
section[data-framer-name="Testimonials"] .framer-1j135v4[data-framer-name="Star Rating Info"],
.framer-yGNK9 .framer-1j135v4[data-framer-name="Star Rating Info"],
.framer-yGNK9 .framer-1j135v4 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  place-content: center flex-start !important;
  gap: 10px !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  height: auto !important;
  overflow: visible !important;
}

section[data-framer-name="Testimonials"] .framer-1j135v4 > *,
.framer-yGNK9 .framer-1j135v4 > * {
  margin: 0 !important;
}

section[data-framer-name="Testimonials"] .framer-gc0t88-container,
.framer-yGNK9 .framer-gc0t88-container {
  flex: 0 0 56px !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 12px !important;
  margin: 0 !important;
  position: relative !important;
}

section[data-framer-name="Testimonials"] .framer-uu8mpa,
.framer-yGNK9 .framer-uu8mpa {
  display: flex !important;
  flex-flow: row nowrap !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 4px !important;
  width: max-content !important;
  min-width: max-content !important;
  margin: 0 !important;
  white-space: nowrap !important;
  position: relative !important;
}

section[data-framer-name="Testimonials"] .framer-uu8mpa > *,
.framer-yGNK9 .framer-uu8mpa > * {
  margin: 0 !important;
}

section[data-framer-name="Testimonials"] .framer-1vgpd6d,
section[data-framer-name="Testimonials"] .framer-sr0y3t,
.framer-yGNK9 .framer-1vgpd6d,
.framer-yGNK9 .framer-sr0y3t {
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap !important;
}

/* Parent of stars row must not clip / squeeze it */
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-1kvaavs[data-framer-name="Trusted"],
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-uNobG.framer-1ppeyn8,
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-w92amy-container,
section[data-framer-name="Testimonials"] .framer-1kvaavs[data-framer-name="Trusted"] {
  overflow: visible !important;
  width: max-content !important;
  max-width: 100% !important;
}

/* Intro tile (rating + Book a call) fills its row like the cards. */
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw {
  height: 100% !important;
}

/* Prevent mid-word breaks in testimonials intro copy. */
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-text,
.framer-rkHvP .framer-mr0vhf .framer-bn2dx9 .framer-text,
.framer-rkHvP section[data-framer-name="Testimonials"] .framer-bn2dx9 .framer-text {
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
  white-space: normal !important;
}

/* Testimonials intro: keep full "BrandHive Socials" visible (was clipped). */
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-j5bl4s,
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-1kvaavs {
  overflow: visible !important;
  align-items: flex-start !important;
  width: 100% !important;
}

.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-uNobG.framer-1ppeyn8,
.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-w92amy-container {
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  justify-content: flex-start !important;
}

.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-1lz6zv4 {
  white-space: normal !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-1lz6zv4 .framer-text {
  white-space: normal !important;
  overflow: visible !important;
  width: auto !important;
  max-width: 100% !important;
}

@media (max-width: 1199.98px) and (min-width: 810px) {
  /* Tablet: stack intro above marquee so cards aren't cramped. */
  .framer-rkHvP .framer-mr0vhf.bh-testimonials-layout {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .framer-rkHvP .framer-mr0vhf.bh-testimonials-layout > .framer-1gh0xjw,
  .framer-rkHvP .framer-mr0vhf.bh-testimonials-layout > [data-framer-name="Intro"] {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .framer-rkHvP .framer-mr0vhf .framer-1gh0xjw {
    height: auto !important;
  }

  .bh-testimonials-marquee {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 420px;
    overflow: hidden;
  }

  .bh-testimonials-marquee__viewport {
    height: auto !important;
    min-height: 420px;
    overflow: hidden;
  }

  .bh-testimonials-marquee__track,
  .bh-testimonials-marquee__track-source,
  .bh-testimonials-marquee__track-clone {
    height: auto !important;
    min-height: 420px;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .bh-testimonials-marquee__track-source > *,
  .bh-testimonials-marquee__track-clone > * {
    flex: 0 0 min(360px, 46vw) !important;
    width: min(360px, 46vw) !important;
    max-width: 420px !important;
    height: auto !important;
    min-height: 420px !important;
  }

  .bh-testimonials-marquee__track-source > * > *,
  .bh-testimonials-marquee__track-clone > * > * {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 420px !important;
  }

  .bh-testimonials-marquee .framer-k80mU.framer-1xa06lp,
  .bh-testimonials-marquee .framer-k80mU.framer-v-hfi02n.framer-1xa06lp {
    width: 100% !important;
    height: auto !important;
    min-height: 420px !important;
    overflow: hidden !important;
    gap: 4px !important;
  }

  .bh-testimonials-marquee .framer-k80mU .framer-1nedhuv,
  .bh-testimonials-marquee .framer-k80mU .framer-1flz52s {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .bh-testimonials-marquee .framer-k80mU .framer-1flz52s {
    flex: 1 1 auto !important;
  }

  .framer-mr0vhf .framer-k80mU .framer-j1a15y .framer-text,
  .framer-mr0vhf .framer-k80mU .framer-styles-preset-1hin0ji,
  .bh-testimonials-marquee .framer-k80mU .framer-j1a15y .framer-text {
    --framer-font-size: 17px !important;
    --framer-line-height: 130% !important;
  }
}

@media (max-width: 809px) {
  .framer-rkHvP .framer-mr0vhf.bh-testimonials-layout {
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  .framer-rkHvP .framer-mr0vhf.bh-testimonials-layout > .framer-1gh0xjw,
  .framer-rkHvP .framer-mr0vhf.bh-testimonials-layout > [data-framer-name="Intro"] {
    flex: none !important;
    width: 100% !important;
    max-width: none;
    min-height: 0;
    height: auto !important;
    overflow: visible !important;
  }

  .bh-testimonials-marquee {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 380px;
    overflow: hidden;
    mask-image: linear-gradient(
      90deg,
      transparent 0,
      #000 8px,
      #000 calc(100% - 8px),
      transparent 100%
    );
  }

  .bh-testimonials-marquee__viewport {
    height: auto !important;
    min-height: 380px;
    overflow: hidden;
  }

  .bh-testimonials-marquee__track,
  .bh-testimonials-marquee__track-source,
  .bh-testimonials-marquee__track-clone {
    height: auto !important;
    min-height: 380px;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .bh-testimonials-marquee__track-source > *,
  .bh-testimonials-marquee__track-clone > * {
    flex: 0 0 min(300px, 85vw) !important;
    width: min(300px, 85vw) !important;
    max-width: 85vw !important;
    height: auto !important;
    min-height: 380px !important;
    align-self: stretch !important;
  }

  .bh-testimonials-marquee__track-source > * > *,
  .bh-testimonials-marquee__track-clone > * > * {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 380px !important;
  }

  /* Card root: tall enough for quote + author; clip inside card only. */
  .bh-testimonials-marquee .framer-k80mU.framer-1xa06lp,
  .bh-testimonials-marquee .framer-k80mU.framer-v-hfi02n.framer-1xa06lp,
  .framer-mr0vhf .framer-k80mU.framer-1xa06lp,
  .framer-mr0vhf .framer-k80mU.framer-v-hfi02n.framer-1xa06lp {
    width: 100% !important;
    height: auto !important;
    min-height: 380px !important;
    overflow: hidden !important;
    gap: 4px !important;
  }

  /* Top/Bottom panels stack by content — kill Framer height:1px flex collapse. */
  .bh-testimonials-marquee .framer-k80mU .framer-1nedhuv,
  .bh-testimonials-marquee .framer-k80mU .framer-1flz52s,
  .framer-mr0vhf .framer-k80mU .framer-1nedhuv,
  .framer-mr0vhf .framer-k80mU .framer-1flz52s {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .bh-testimonials-marquee .framer-k80mU .framer-1flz52s {
    flex: 1 1 auto !important;
  }

  .bh-testimonials-marquee .framer-k80mU .framer-j1a15y {
    overflow: visible !important;
  }

  .framer-mr0vhf .framer-k80mU .framer-j1a15y .framer-text,
  .framer-mr0vhf .framer-k80mU .framer-styles-preset-1hin0ji,
  .bh-testimonials-marquee .framer-k80mU .framer-j1a15y .framer-text {
    --framer-font-size: 16px !important;
    --framer-line-height: 130% !important;
  }

  .bh-testimonials-marquee__track {
    animation-duration: 40s;
  }

  /* Intro brand label: fit full "BrandHive Socials" on phone. */
  .framer-rkHvP .framer-mr0vhf .framer-1gh0xjw {
    overflow: visible !important;
  }

  .framer-rkHvP .framer-mr0vhf .framer-1gh0xjw .framer-1lz6zv4 .framer-text {
    --framer-font-size: 16px !important;
    font-size: 16px !important;
    letter-spacing: -0.03em !important;
    line-height: 1.2 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bh-testimonials-marquee__track {
    animation: none !important;
    transform: none !important;
  }
}

/* Force-hide leftover Framer promo/template badges across all breakpoints. */
#__framer-badge-container,
[data-framer-name="Delete me!"],
[name="Delete me!"],
/* Footer attribution: "Built in Framer" + "Created by Anatolii Dmitrienko" */
.framer-1dor1xq-container,
.framer-joiwk4-container {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* --- about.css --- */
/* Meet the Founder - reference placement + BrandHive theme */
#about,
#about *,
#about *::before,
#about *::after {
  box-sizing: border-box;
}

#about {
  --about-ink: #0a0a0a;
  --about-muted: rgba(10, 10, 10, 0.6);
  --about-bg: #f5f5f5;
  --about-white: #ffffff;
  --about-panel: #ececec;
  position: relative;
  width: 100%;
  padding: 90px 36px;
  overflow: hidden;
  background: var(--about-bg);
  color: var(--about-ink);
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

#about.in-view {
  opacity: 1;
  transform: translateY(0);
}

#about .about__container {
  position: relative;
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
}

/* Section label - same place/alignment as Testimonials */
#about .about__label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.04em;
  color: var(--about-ink);
}

#about .about__label-icon {
  position: relative;
  flex: none;
  width: 18px;
  height: 18px;
  border-radius: 50px;
  background: var(--about-ink);
  overflow: hidden;
}

#about .about__label-icon::before,
#about .about__label-icon::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  left: calc(50% - 1px);
  width: 2px;
  height: 8px;
  background: var(--about-white);
}

#about .about__label-icon::after {
  transform: rotate(90deg);
}

#about .about__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  align-items: center;
  column-gap: clamp(2rem, 4vw, 4rem);
  row-gap: 2rem;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(8px, 2vw, 32px);
}

#about .about__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 520px;
  padding: 8px 0;
}

#about .about__small-image {
  display: none !important;
}

/* Name + role - Inter theme (matches site text presets) */
#about .about__eyebrow {
  margin: 0 0 1.15rem;
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

#about .about__eyebrow-line {
  display: block;
}

#about .about__eyebrow-line--name {
  color: var(--about-ink);
  font-weight: 600;
}

#about .about__eyebrow-line--role {
  margin-top: 0.25rem;
  color: var(--about-muted);
  font-weight: 500;
}

/* Body - site paragraph preset (Inter 500, -0.04em) */
#about .about__body {
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.04em;
}

#about .about__body p {
  margin: 0 0 1rem;
  color: var(--about-muted);
  text-align: justify;
  text-justify: inter-word;
}

#about .about__body p strong,
#about .about__body .about__em {
  color: var(--about-ink);
  font-weight: 600;
}

#about .about__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 1.5rem;
}

/* Theme pill buttons - black pill with white dot */
#about .about__button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 44px;
  min-width: 132px;
  padding: 0 14px 0 18px;
  border: 1px solid var(--about-ink);
  border-radius: 50px;
  background: var(--about-ink);
  color: var(--about-white);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: -0.04em;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    border-color 200ms ease,
    transform 200ms ease;
}

#about .about__button--outline,
#about .about__button--solid,
#about .about__button--outline:hover,
#about .about__button--outline:focus-visible,
#about .about__button--solid:hover,
#about .about__button--solid:focus-visible {
  background: var(--about-ink);
  border-color: var(--about-ink);
  color: var(--about-white);
}

#about .about__button:hover,
#about .about__button:focus-visible {
  background: #1a1a1a;
  border-color: #1a1a1a;
  transform: translateY(-1px);
}

#about .about__button:focus-visible {
  outline: 2px solid rgba(10, 10, 10, 0.28);
  outline-offset: 3px;
}

#about .about__arrow {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--about-white);
  font-size: 0;
  line-height: 0;
}

#about .about__visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  align-self: center;
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

/* Full image, no cropping - natural aspect ratio, capped width */
#about .about__large-image {
  display: block;
  width: 100%;
  max-width: clamp(320px, 34vw, 460px);
  height: auto;
  border-radius: 18px;
  background: var(--about-panel);
  transform: scaleX(-1);
}

/*
  Reference placement:
  stacked right-aligned Playfair headline on the seam -
  most of the stack on the left, a light overlap onto the photo.
*/
#about .about__headline {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 61%;
  width: clamp(260px, 36vw, 520px);
  margin: 0;
  color: var(--about-ink);
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(2.75rem, 5.8vw, 5rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0.01em;
  word-spacing: 0.18em;
  text-align: right;
  transform: translate(-66%, -62%);
  pointer-events: none;
}

#about .about__headline-line {
  display: block;
  margin-bottom: 0.12em;
}

#about .about__headline-line:last-child {
  margin-bottom: 0;
}

#about .about__headline-line--caps {
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

#about .about__headline-line--italic {
  font-style: italic;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.01em;
}

#about .about__headline-line--plain {
  font-style: normal;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.01em;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  #about {
    padding: 72px 28px;
  }

  #about .about__layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.78fr);
    column-gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: start;
    padding: 0;
  }

  #about .about__copy {
    max-width: none;
    z-index: 3;
    padding-right: 12px;
  }

  #about .about__body p {
    font-size: 14.5px;
    line-height: 1.55;
  }

  #about .about__visual {
    position: relative;
    z-index: 1;
    justify-content: flex-end;
  }

  #about .about__large-image {
    max-width: min(100%, 360px);
  }

  /* Keep decorative headline on the photo only — no bleed into copy */
  #about .about__headline {
    z-index: 2;
    left: auto;
    right: 2%;
    top: 46%;
    width: min(240px, 30vw);
    font-size: clamp(1.85rem, 3.4vw, 2.65rem);
    line-height: 1;
    transform: translateY(-50%);
    text-align: right;
    word-spacing: 0.08em;
  }
}

/* Narrow tablet / iPad portrait: stack to avoid collision */
@media (min-width: 810px) and (max-width: 1023.98px) {
  #about .about__layout {
    grid-template-columns: 1fr;
    row-gap: 1.75rem;
  }

  #about .about__copy {
    order: 1;
    padding-right: 0;
    max-width: 40rem;
  }

  #about .about__headline {
    position: static;
    order: 2;
    width: 100%;
    max-width: 28rem;
    transform: none;
    text-align: left;
    font-size: clamp(2.35rem, 6vw, 3.25rem);
    line-height: 1.02;
    margin: 0.15rem 0 0.35rem;
  }

  #about .about__visual {
    order: 3;
    justify-content: flex-start;
  }

  #about .about__large-image {
    max-width: min(100%, 480px);
  }
}

@media (max-width: 809.98px) {
  #about {
    padding: 72px 22px 64px;
  }

  #about .about__label {
    margin-bottom: 2rem;
    font-size: 13px;
  }

  #about .about__layout {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }

  #about .about__copy {
    order: 1;
    max-width: none;
    padding: 0;
  }

  #about .about__body p {
    font-size: 15px;
    line-height: 1.6;
  }

  #about .about__headline {
    position: static;
    order: 2;
    width: 100%;
    transform: none;
    text-align: left;
    font-size: clamp(2.2rem, 10vw, 3.1rem);
    line-height: 1.05;
    margin: 0.25rem 0 0.5rem;
  }

  #about .about__visual {
    order: 3;
    justify-content: center;
    margin-top: 0.5rem;
  }

  #about .about__large-image {
    max-width: min(100%, 420px);
    border-radius: 14px;
  }

  #about .about__small-image {
    width: min(218px, 72vw);
    height: min(136px, 45vw);
    border-radius: 14px;
  }

  #about .about__actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-top: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #about {
    opacity: 1;
    transform: none;
    transition: none;
  }

  #about .about__arrow {
    transition: none;
  }
}

section.framer-1dgpip1:not(#about) {
  display: none !important;
}


/* --- cta-banner.css --- */
/* Strategy CTA - BrandHive theme (between FAQ/content and Footer) */
#cta-banner,
#cta-banner *,
#cta-banner *::before,
#cta-banner *::after {
  box-sizing: border-box;
}

#cta-banner {
  --cta-ink: #0a0a0a;
  --cta-bg: #f5f5f5;
  --cta-panel: #0a0a0a;
  --cta-white: #ffffff;
  --cta-muted: rgba(255, 255, 255, 0.62);
  position: relative;
  width: 100%;
  padding: 110px 36px 60px;
  background: var(--cta-bg);
  color: var(--cta-white);
  /* Visible by default - avoid opacity:0 flash / layer compositing glitches */
  opacity: 1;
  transform: none;
}

#cta-banner .cta-banner__shell {
  position: relative;
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
}

#cta-banner .cta-banner__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(2rem, 3vw, 2.75rem);
  width: 100%;
  min-height: clamp(420px, 48vw, 560px);
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 4vw, 3.5rem);
  overflow: hidden;
  border-radius: 18px;
  background: var(--cta-panel);
  text-align: center;
  isolation: isolate;
}

#cta-banner .cta-banner__video,
#cta-banner .cta-banner__overlay,
#cta-banner .cta-banner__grid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* Hidden until JS marks it ready - prevents poster/color flash before play */
#cta-banner .cta-banner__video {
  z-index: 0;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1) brightness(0.55) contrast(1.05);
  opacity: 0;
  transition: opacity 500ms ease;
}

#cta-banner .cta-banner__video.is-ready {
  opacity: 0.55;
}

/* Always on top of the video so the tint stays stable as media loads */
#cta-banner .cta-banner__overlay {
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(10, 10, 10, 0.72) 0%,
      rgba(10, 10, 10, 0.82) 100%
    ),
    radial-gradient(
      120% 90% at 100% 100%,
      rgba(16, 91, 99, 0.38) 0%,
      transparent 55%
    ),
    radial-gradient(
      80% 70% at 0% 0%,
      rgba(255, 255, 255, 0.04) 0%,
      transparent 50%
    );
}

#cta-banner .cta-banner__grid {
  z-index: 2;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 78%);
  opacity: 0.55;
}

#cta-banner .cta-banner__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.35rem, 2.4vw, 1.85rem);
  max-width: 720px;
}

#cta-banner .cta-banner__heading {
  margin: 0;
  color: var(--cta-white);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 600;
  line-height: 110%;
  letter-spacing: -0.06em;
}

#cta-banner .cta-banner__copy {
  margin: 0;
  color: var(--cta-muted);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 500;
  line-height: 145%;
  letter-spacing: -0.04em;
}

#cta-banner .cta-banner__copy span {
  display: block;
  margin-top: 0.4rem;
}

#cta-banner .cta-banner__copy span:first-child {
  margin-top: 0;
}

#cta-banner .cta-banner__button {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  min-width: 148px;
  margin-top: 1.35rem;
  padding: 0 14px 0 20px;
  border: 1px solid var(--cta-white);
  border-radius: 50px;
  background: var(--cta-white);
  color: var(--cta-ink);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: -0.04em;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    color 200ms ease,
    border-color 200ms ease,
    transform 200ms ease;
}

#cta-banner .cta-banner__button:hover,
#cta-banner .cta-banner__button:focus-visible {
  background: transparent;
  color: var(--cta-white);
  transform: translateY(-1px);
}

#cta-banner .cta-banner__button:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.4);
  outline-offset: 3px;
}

#cta-banner .cta-banner__dot {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}

@media (max-width: 809.98px) {
  #cta-banner {
    padding: 64px 18px 48px;
  }

  #cta-banner .cta-banner__panel {
    min-height: 380px;
    border-radius: 18px;
    padding: 2.5rem 1.4rem;
  }

  #cta-banner .cta-banner__heading {
    font-size: clamp(1.45rem, 6.5vw, 1.9rem);
    line-height: 1.2;
  }

  #cta-banner .cta-banner__copy {
    margin-top: 1rem;
    font-size: 14.5px;
    line-height: 1.55;
  }

  #cta-banner .cta-banner__button {
    margin-top: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #cta-banner .cta-banner__video {
    transition: none;
  }
}


/* --- packages.css --- */
/* Pricing packages - black rounded panel + original pricing card tones */
#bh-packages,
#bh-packages *,
#bh-packages *::before,
#bh-packages *::after {
  box-sizing: border-box;
}

/* Hide original Framer pricing heading + table */
section[data-framer-name="Pricing"] [data-framer-name="Heading"],
section[data-framer-name="Pricing"] .framer-1aihdn1,
section[data-framer-name="Pricing"] [data-framer-name="Table container"],
section[data-framer-name="Pricing"] .framer-t9ar1p {
  display: none !important;
}

/* Packages band matches dark site chrome so white heading stays readable */
section[data-framer-name="Pricing"].framer-wafde9,
.framer-rkHvP section[data-framer-name="Pricing"] {
  background-color: #0a0a0a !important;
  gap: 0 !important;
  padding: clamp(88px, 12vw, 160px) 36px !important;
  border-radius: 0 !important;
  overflow: visible !important;
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

section[data-framer-name="Pricing"] [data-framer-name="Container"],
section[data-framer-name="Pricing"] .framer-pvk990 {
  overflow: visible !important;
  gap: 0 !important;
  width: 100%;
  max-width: 1520px;
}

#bh-packages {
  --pkg-ink: #0a0a0a;
  --pkg-white: #ffffff;
  --pkg-muted: rgba(255, 255, 255, 0.6);
  --pkg-muted-soft: rgba(255, 255, 255, 0.42);
  --pkg-card: #0a0a0a;
  --pkg-card-hover: #111111;
  --pkg-line: rgba(255, 255, 255, 0.1);
  --pkg-accent: #105b63;
  --pkg-accent-glow: rgba(16, 91, 99, 0.45);
  --pkg-header: #ffffff;
  --pkg-header-muted: rgba(255, 255, 255, 0.72);
  --pkg-header-soft: rgba(255, 255, 255, 0.42);
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pkg-white);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  overflow: visible;
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: no-preference) {
  #bh-packages.bh-packages--prepare {
    opacity: 0;
    transform: translateY(24px);
  }
}

#bh-packages.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Heading - Framer 4-col: label left, copy right */
#bh-packages .bh-packages__header {
  display: grid;
  grid-template-columns: repeat(4, minmax(50px, 1fr));
  gap: 28px 16px;
  width: 100%;
  margin: 0 0 clamp(3.5rem, 6vw, 5rem);
}

#bh-packages .bh-packages__label {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--pkg-header-muted);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 140%;
}

#bh-packages .bh-packages__label-icon {
  position: relative;
  flex: none;
  width: 18px;
  height: 18px;
  border-radius: 50px;
  background: var(--pkg-white);
  overflow: hidden;
}

#bh-packages .bh-packages__label-icon::before,
#bh-packages .bh-packages__label-icon::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  left: calc(50% - 1px);
  width: 2px;
  height: 8px;
  background: var(--pkg-ink);
}

#bh-packages .bh-packages__label-icon::after {
  transform: rotate(90deg);
}

#bh-packages .bh-packages__title {
  grid-column: 2 / -1;
  grid-row: 1;
  margin: 0;
  max-width: 14ch;
  color: var(--pkg-header);
  font-size: clamp(2.5rem, 6.8vw, 5.25rem);
  font-weight: 600;
  letter-spacing: -0.06em;
  line-height: 0.94;
  text-wrap: balance;
}

#bh-packages .bh-packages__title-muted {
  color: var(--pkg-header-soft);
}

#bh-packages .bh-packages__title-strong {
  color: var(--pkg-header);
}

#bh-packages .bh-packages__title-keep {
  white-space: nowrap;
}

#bh-packages .bh-packages__subtitle {
  grid-column: 2 / -1;
  grid-row: 2;
  margin: 8px 0 0;
  max-width: 36rem;
  color: var(--pkg-header-muted);
  font-size: clamp(14px, 1.5vw, 16px);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 155%;
}

#bh-packages .bh-packages__slider {
  position: relative;
  width: 100%;
}

#bh-packages .bh-packages__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(16px, 2vw, 24px);
  width: 100%;
  padding: 0;
}

/* Cards - slightly lifted off dark section so edges read on tablet/desktop */
#bh-packages .bh-pkg {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(2rem, 3.2vw, 2.75rem);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  background-color: #111111;
  color: var(--pkg-white);
  transition:
    transform 240ms ease,
    background-color 240ms ease,
    border-color 240ms ease,
    box-shadow 240ms ease;
}

#bh-packages .bh-pkg:hover {
  transform: translateY(-2px);
  background-color: var(--pkg-card-hover);
  border-color: rgba(255, 255, 255, 0.08);
}

#bh-packages .bh-pkg--featured {
  border-color: rgba(16, 91, 99, 0.55);
  background:
    radial-gradient(
      100% 80% at 100% 0%,
      rgba(16, 91, 99, 0.22) 0%,
      transparent 58%
    ),
    #0d1112;
  box-shadow: inset 0 0 0 1px rgba(16, 91, 99, 0.18);
}

#bh-packages .bh-pkg--featured:hover {
  border-color: rgba(16, 91, 99, 0.75);
  background:
    radial-gradient(
      100% 80% at 100% 0%,
      rgba(16, 91, 99, 0.3) 0%,
      transparent 58%
    ),
    #111718;
}

#bh-packages .bh-pkg__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: clamp(1.25rem, 2.2vw, 1.75rem);
}

#bh-packages .bh-pkg__num {
  margin: 0;
  color: rgba(255, 255, 255, 0.45);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

#bh-packages .bh-pkg--featured .bh-pkg__num {
  color: rgba(159, 211, 216, 0.95);
}

#bh-packages .bh-pkg__badge {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 12px;
  border: 1px solid rgba(16, 91, 99, 0.55);
  border-radius: 50px;
  background: rgba(16, 91, 99, 0.14);
  color: #b7e3e7;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}

#bh-packages .bh-pkg__badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

#bh-packages .bh-pkg__name {
  margin: 0 0 12px;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1.1;
}

#bh-packages .bh-pkg__tag {
  margin: 0 0 clamp(1.5rem, 2.8vw, 2rem);
  color: var(--pkg-muted);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.35;
}

#bh-packages .bh-pkg__rule {
  width: 100%;
  height: 1px;
  margin: 0 0 1.5rem;
  background: var(--pkg-line);
  border: 0;
}

#bh-packages .bh-pkg--featured .bh-pkg__rule {
  background: linear-gradient(
    90deg,
    rgba(16, 91, 99, 0.65),
    rgba(255, 255, 255, 0.08)
  );
}

#bh-packages .bh-pkg__includes {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

#bh-packages .bh-pkg__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}

#bh-packages .bh-pkg__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.4;
}

#bh-packages .bh-pkg__check {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--pkg-white);
}

#bh-packages .bh-pkg--featured .bh-pkg__check {
  background: rgba(16, 91, 99, 0.35);
  color: #d4f0f2;
}

#bh-packages .bh-pkg__check svg {
  width: 10px;
  height: 10px;
}

#bh-packages .bh-pkg__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  align-self: flex-start;
  min-height: 44px;
  margin-top: clamp(1.75rem, 3vw, 2.25rem);
  padding: 0 12px 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 50px;
  background: var(--pkg-white);
  color: var(--pkg-ink);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    color 200ms ease,
    border-color 200ms ease,
    transform 200ms ease;
}

#bh-packages .bh-pkg__cta:hover,
#bh-packages .bh-pkg__cta:focus-visible {
  background: transparent;
  color: var(--pkg-white);
  transform: translateY(-1px);
  outline: none;
}

#bh-packages .bh-pkg__cta-dot {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}

#bh-packages .bh-packages__nav,
#bh-packages .bh-packages__dots {
  display: none;
}

@media (max-width: 1199.98px) {
  #bh-packages .bh-packages__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
  }

  #bh-packages .bh-packages__label,
  #bh-packages .bh-packages__title,
  #bh-packages .bh-packages__subtitle {
    grid-column: auto;
    grid-row: auto;
  }

  #bh-packages .bh-packages__title {
    max-width: 16ch;
    font-size: clamp(2.2rem, 5.5vw, 3.6rem);
  }

  #bh-packages .bh-packages__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 4px 2px 16px;
  }

  #bh-packages .bh-packages__track::-webkit-scrollbar {
    display: none;
  }

  #bh-packages .bh-pkg {
    flex: 0 0 min(320px, 86vw);
    scroll-snap-align: start;
  }

  #bh-packages .bh-packages__nav {
    position: absolute;
    top: 46%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50px;
    background: rgba(10, 10, 10, 0.75);
    color: #fff;
    cursor: pointer;
    transition:
      background 200ms ease,
      border-color 200ms ease;
  }

  #bh-packages .bh-packages__nav:hover,
  #bh-packages .bh-packages__nav:focus-visible {
    background: rgba(16, 91, 99, 0.92);
    border-color: var(--pkg-accent);
    outline: none;
  }

  #bh-packages .bh-packages__nav svg {
    width: 18px;
    height: 18px;
  }

  #bh-packages .bh-packages__nav--prev {
    left: 0;
  }

  #bh-packages .bh-packages__nav--next {
    right: 0;
  }

  #bh-packages .bh-packages__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 4px;
  }

  #bh-packages .bh-packages__dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    cursor: pointer;
    transition:
      background 200ms ease,
      transform 200ms ease;
  }

  #bh-packages .bh-packages__dot.is-active {
    background: var(--pkg-accent);
    transform: scale(1.2);
  }
}

@media (max-width: 809.98px) {
  section[data-framer-name="Pricing"].framer-wafde9,
  .framer-rkHvP section[data-framer-name="Pricing"] {
    padding: 72px 18px !important;
  }

  #bh-packages {
    padding: 0;
  }

  #bh-packages .bh-packages__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 2.25rem;
  }

  #bh-packages .bh-packages__label,
  #bh-packages .bh-packages__title,
  #bh-packages .bh-packages__subtitle {
    grid-column: auto;
    grid-row: auto;
  }

  #bh-packages .bh-packages__title {
    max-width: none;
    font-size: clamp(1.95rem, 9vw, 2.6rem);
    line-height: 1.08;
  }

  #bh-packages .bh-packages__subtitle {
    font-size: 14.5px;
    line-height: 1.55;
    max-width: 36rem;
  }

  #bh-packages .bh-packages__title-keep {
    white-space: normal;
  }

  /* Stack full-width cards on phone — avoid cramped side-by-side carousel. */
  #bh-packages .bh-packages__track {
    display: flex;
    flex-direction: column;
    gap: 18px;
    overflow: visible;
    scroll-snap-type: none;
    padding: 0;
  }

  #bh-packages .bh-packages__nav,
  #bh-packages .bh-packages__dots {
    display: none !important;
  }

  #bh-packages .bh-pkg {
    flex: none;
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 1.85rem 1.45rem 1.85rem;
    border-radius: 18px;
  }

  #bh-packages .bh-pkg__name {
    font-size: clamp(1.45rem, 6.5vw, 1.75rem);
  }

  #bh-packages .bh-pkg__tag {
    font-size: 15px;
  }

  #bh-packages .bh-pkg__list {
    gap: 14px;
    margin-top: 1.25rem;
  }

  #bh-packages .bh-pkg__list li {
    font-size: 15px;
    line-height: 1.45;
  }

  #bh-packages .bh-pkg__cta {
    margin-top: 1.75rem;
    min-height: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #bh-packages,
  #bh-packages.bh-packages--prepare {
    opacity: 1;
    transform: none;
    transition: none;
  }

  #bh-packages .bh-pkg,
  #bh-packages .bh-pkg__cta {
    transition: none;
  }
}


/* --- strategy-call.css --- */
/* One-time strategy call - replaces legacy Text + Bento sections */
section[data-framer-name="Text"].framer-15uz38f,
section[data-framer-name="Bento"].framer-15o920v {
  display: none !important;
}

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

#strategy-call {
  --strategy-bg: #f5f5f5;
  --strategy-white: #fff;
  --strategy-muted: rgba(255, 255, 255, 0.62);
  position: relative;
  width: 100%;
  padding: clamp(88px, 10vw, 140px) 36px clamp(36px, 4vw, 56px);
  overflow: hidden;
  background: var(--strategy-bg);
  font-family: "Inter", "Inter Placeholder", sans-serif;
}

#strategy-call .strategy-call__shell {
  position: relative;
  width: 100%;
  max-width: 1520px;
  min-height: clamp(480px, 48vw, 650px);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 24px;
  background:
    radial-gradient(
      80% 100% at 100% 100%,
      rgba(255, 255, 255, 0.12) 0%,
      rgba(255, 255, 255, 0.04) 48%,
      transparent 72%
    ),
    linear-gradient(115deg, #070707 0%, #0c0c0c 55%, #101010 100%);
  isolation: isolate;
}

#strategy-call .strategy-call__shell::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 78%);
}

#strategy-call .strategy-call__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: min(52%, 760px);
  min-height: inherit;
  padding: clamp(2.5rem, 6vw, 5.5rem);
}

#strategy-call .strategy-call__label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
}

#strategy-call .strategy-call__label-icon {
  position: relative;
  width: 18px;
  height: 18px;
  flex: none;
  border-radius: 50%;
  background: var(--strategy-white);
}

#strategy-call .strategy-call__label-icon::before,
#strategy-call .strategy-call__label-icon::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  left: calc(50% - 1px);
  width: 2px;
  height: 8px;
  background: #0a0a0a;
}

#strategy-call .strategy-call__label-icon::after {
  transform: rotate(90deg);
}

#strategy-call .strategy-call__heading {
  max-width: 13ch;
  margin: 0;
  color: var(--strategy-white);
  font-size: clamp(2.6rem, 5.7vw, 5.4rem);
  font-weight: 600;
  letter-spacing: -0.065em;
  line-height: 0.96;
  text-wrap: balance;
}

#strategy-call .strategy-call__heading-emphasis {
  color: rgba(255, 255, 255, 0.45);
}

#strategy-call .strategy-call__copy {
  max-width: 31rem;
  margin: clamp(1.5rem, 2.8vw, 2.25rem) 0 0;
  color: var(--strategy-muted);
  font-size: clamp(14px, 1.4vw, 16px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 150%;
}

#strategy-call .strategy-call__button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: 0 14px 0 20px;
  border: 1px solid var(--strategy-white);
  border-radius: 50px;
  background: var(--strategy-white);
  color: #0a0a0a;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 100%;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    color 200ms ease,
    border-color 200ms ease,
    transform 200ms ease;
}

#strategy-call .strategy-call__button-dot {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}

#strategy-call .strategy-call__button:hover,
#strategy-call .strategy-call__button:focus-visible {
  background: transparent;
  color: var(--strategy-white);
  transform: translateY(-1px);
  outline: none;
}

#strategy-call .strategy-call__button:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.4);
  outline-offset: 3px;
}

#strategy-call .strategy-call__visual {
  position: absolute;
  z-index: 2;
  right: clamp(1rem, 3vw, 3rem);
  bottom: 0;
  width: min(48%, 620px);
  height: 100%;
  pointer-events: none;
}

#strategy-call .strategy-call__portrait {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: auto;
  height: 82%;
  max-width: none;
  transform: translateX(-50%);
  object-fit: contain;
  object-position: center bottom;
  filter: saturate(0.9) contrast(1.03)
    drop-shadow(0 24px 48px rgba(0, 0, 0, 0.45));
}

#strategy-call .strategy-call__orb {
  position: absolute;
  left: 50%;
  bottom: -24%;
  width: 94%;
  aspect-ratio: 1;
  transform: translateX(-50%);
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 50% 38%,
      rgba(255, 255, 255, 0.22),
      rgba(255, 255, 255, 0.08) 48%,
      transparent 68%
    );
  filter: blur(4px);
}

#strategy-call .strategy-call__founder {
  position: absolute;
  z-index: 4;
  top: 6%;
  right: 4%;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 11px 22px 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  /* Right-side badge: sharper bottom-left corner points toward portrait. */
  border-radius: 999px 999px 999px 10px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(236, 236, 236, 0.96) 100%
  );
  color: #0a0a0a;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.35) inset,
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
  backdrop-filter: blur(10px);
}

#strategy-call .strategy-call__founder small {
  opacity: 0.55;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#strategy-call .strategy-call__founder strong {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

#strategy-call .strategy-call__metric {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px 8px 8px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  /* Left-side badges: sharper inner-right corner points toward portrait. */
  border-radius: 999px 10px 999px 999px;
  background: linear-gradient(
    135deg,
    rgba(22, 22, 24, 0.92) 0%,
    rgba(8, 8, 10, 0.88) 100%
  );
  color: var(--strategy-white);
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 0 28px rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
}

/* Right-side badges: sharper inner-left corner points toward portrait. */
#strategy-call .strategy-call__metric--rating,
#strategy-call .strategy-call__metric--community,
#strategy-call .strategy-call__metric--top {
  padding: 8px 8px 8px 16px;
  border-radius: 10px 999px 999px 999px;
  flex-direction: row-reverse;
  text-align: right;
}

#strategy-call .strategy-call__metric-icon {
  position: relative;
  width: 30px;
  height: 30px;
  flex: none;
  border-radius: 50%;
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.18) inset;
}

#strategy-call .strategy-call__metric-icon::before,
#strategy-call .strategy-call__metric-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
}

#strategy-call .strategy-call__metric strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
}

#strategy-call .strategy-call__metric small {
  display: block;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
}

/* Compact secondary pills */
#strategy-call .strategy-call__metric--choice,
#strategy-call .strategy-call__metric--community,
#strategy-call .strategy-call__metric--top,
#strategy-call .strategy-call__metric--bookings {
  gap: 8px;
  padding-top: 6px;
  padding-bottom: 6px;
}

#strategy-call .strategy-call__metric--choice .strategy-call__metric-icon,
#strategy-call .strategy-call__metric--community .strategy-call__metric-icon,
#strategy-call .strategy-call__metric--top .strategy-call__metric-icon,
#strategy-call .strategy-call__metric--bookings .strategy-call__metric-icon {
  width: 24px;
  height: 24px;
}

#strategy-call .strategy-call__metric--choice strong,
#strategy-call .strategy-call__metric--community strong,
#strategy-call .strategy-call__metric--top strong,
#strategy-call .strategy-call__metric--bookings strong {
  font-size: 12px;
}

#strategy-call .strategy-call__metric--choice small,
#strategy-call .strategy-call__metric--community small,
#strategy-call .strategy-call__metric--top small,
#strategy-call .strategy-call__metric--bookings small {
  font-size: 7px;
}

/* --- Per-badge logo icons (real marks + glow) --- */

#strategy-call {
  --strategy-topmate-icon: url("../assets/icons/topmate-icon.png");
}

/* LinkedIn followers */
#strategy-call .strategy-call__metric--followers .strategy-call__metric-icon {
  background:
    #0a66c2
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M6.94 8.5H3.75V20h3.19V8.5zM5.34 3C4.22 3 3.3 3.93 3.3 5.06c0 1.12.9 2.05 2.04 2.05h.02C6.5 7.11 7.4 6.18 7.4 5.06 7.38 3.93 6.47 3 5.34 3zM20.25 20h-3.18v-5.98c0-1.51-.54-2.54-1.89-2.54-1.03 0-1.64.7-1.91 1.37-.1.24-.12.57-.12.9V20H10v-6.3c0-1.16-.04-2.13-.08-2.96h2.76l.15 1.49h.06c.42-.67 1.47-1.63 3.2-1.63 2.2 0 3.85 1.44 3.85 4.53V20z'/%3E%3C/svg%3E")
    center / 58% 58% no-repeat;
  box-shadow:
    0 0 0 1px rgba(120, 180, 255, 0.35) inset,
    0 4px 14px rgba(10, 102, 194, 0.55),
    0 0 22px rgba(10, 102, 194, 0.45);
}
#strategy-call .strategy-call__metric--followers .strategy-call__metric-icon::before,
#strategy-call .strategy-call__metric--followers .strategy-call__metric-icon::after {
  display: none;
}

/* Views: gold play */
#strategy-call .strategy-call__metric--views .strategy-call__metric-icon {
  background:
    radial-gradient(circle at 32% 28%, #ffe9a0 0%, transparent 42%),
    linear-gradient(145deg, #f6d365 0%, #d4a017 48%, #a87400 100%);
  box-shadow:
    0 4px 16px rgba(212, 160, 23, 0.55),
    0 0 26px rgba(246, 211, 101, 0.5),
    0 0 0 1px rgba(255, 236, 170, 0.35) inset;
}
#strategy-call .strategy-call__metric--views .strategy-call__metric-icon::before {
  width: 0;
  height: 0;
  inset: auto;
  top: 50%;
  left: 54%;
  border-style: solid;
  border-width: 5px 0 5px 9px;
  border-color: transparent transparent transparent rgba(20, 12, 0, 0.82);
  transform: translate(-50%, -50%);
  background: none;
  -webkit-mask: none;
  mask: none;
}
#strategy-call .strategy-call__metric--views .strategy-call__metric-icon::after {
  display: none;
}

/* Topmate rating + Top 5% — real Topmate mark */
#strategy-call .strategy-call__metric--rating .strategy-call__metric-icon,
#strategy-call .strategy-call__metric--top .strategy-call__metric-icon {
  background:
    #1a1a1a
    var(--strategy-topmate-icon)
    center / cover no-repeat;
  box-shadow:
    0 0 0 1px rgba(255, 140, 120, 0.35) inset,
    0 4px 14px rgba(231, 100, 88, 0.5),
    0 0 24px rgba(231, 100, 88, 0.45);
}
#strategy-call .strategy-call__metric--rating .strategy-call__metric-icon::before,
#strategy-call .strategy-call__metric--rating .strategy-call__metric-icon::after,
#strategy-call .strategy-call__metric--top .strategy-call__metric-icon::before,
#strategy-call .strategy-call__metric--top .strategy-call__metric-icon::after {
  display: none;
}

/* People's Choice trophy */
#strategy-call .strategy-call__metric--choice .strategy-call__metric-icon {
  background:
    radial-gradient(circle at 30% 25%, #ffe08a 0%, transparent 40%),
    linear-gradient(145deg, #fbbf24 0%, #f59e0b 50%, #b45309 100%);
  box-shadow:
    0 4px 14px rgba(245, 158, 11, 0.55),
    0 0 24px rgba(251, 191, 36, 0.45),
    0 0 0 1px rgba(255, 236, 170, 0.3) inset;
}
#strategy-call .strategy-call__metric--choice .strategy-call__metric-icon::before {
  width: 12px;
  height: 12px;
  background: #1a0f00;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 4h10v2h2.5A1.5 1.5 0 0121 7.5V9a4 4 0 01-3.2 3.92A5.002 5.002 0 0113 16.9V18h3v2H8v-2h3v-1.1a5.002 5.002 0 01-4.8-3.98A4 4 0 013 9V7.5A1.5 1.5 0 014.5 6H7V4zm0 2H4.5a.5.5 0 00-.5.5V9a2 2 0 001.76 1.98A4.99 4.99 0 017 6zm10 0a4.99 4.99 0 011.24 4.98A2 2 0 0020 9V6.5a.5.5 0 00-.5-.5H17z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 4h10v2h2.5A1.5 1.5 0 0121 7.5V9a4 4 0 01-3.2 3.92A5.002 5.002 0 0113 16.9V18h3v2H8v-2h3v-1.1a5.002 5.002 0 01-4.8-3.98A4 4 0 013 9V7.5A1.5 1.5 0 014.5 6H7V4zm0 2H4.5a.5.5 0 00-.5.5V9a2 2 0 001.76 1.98A4.99 4.99 0 017 6zm10 0a4.99 4.99 0 011.24 4.98A2 2 0 0020 9V6.5a.5.5 0 00-.5-.5H17z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}
#strategy-call .strategy-call__metric--choice .strategy-call__metric-icon::after {
  display: none;
}

/* Community care heart */
#strategy-call .strategy-call__metric--community .strategy-call__metric-icon {
  background:
    radial-gradient(circle at 30% 25%, #fda4af 0%, transparent 42%),
    linear-gradient(145deg, #fb7185 0%, #e11d48 55%, #9f1239 100%);
  box-shadow:
    0 4px 14px rgba(225, 29, 72, 0.55),
    0 0 24px rgba(251, 113, 133, 0.45),
    0 0 0 1px rgba(255, 200, 210, 0.28) inset;
}
#strategy-call .strategy-call__metric--community .strategy-call__metric-icon::before {
  width: 12px;
  height: 12px;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 21s-6.7-4.35-9.33-7.4C.5 11.1 1.1 7.6 3.9 6.1 5.7 5.1 8 5.5 9.5 7c.5.5.9 1 1.2 1.5.3-.5.7-1 1.2-1.5 1.5-1.5 3.8-1.9 5.6-.9 2.8 1.5 3.4 5 .23 7.5C18.7 16.65 12 21 12 21z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 21s-6.7-4.35-9.33-7.4C.5 11.1 1.1 7.6 3.9 6.1 5.7 5.1 8 5.5 9.5 7c.5.5.9 1 1.2 1.5.3-.5.7-1 1.2-1.5 1.5-1.5 3.8-1.9 5.6-.9 2.8 1.5 3.4 5 .23 7.5C18.7 16.65 12 21 12 21z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}
#strategy-call .strategy-call__metric--community .strategy-call__metric-icon::after {
  display: none;
}

/* Bookings — calendar mark */
#strategy-call .strategy-call__metric--bookings .strategy-call__metric-icon {
  background:
    radial-gradient(circle at 30% 25%, #86efac 0%, transparent 42%),
    linear-gradient(145deg, #4ade80 0%, #22c55e 50%, #15803d 100%);
  box-shadow:
    0 4px 14px rgba(34, 197, 94, 0.55),
    0 0 24px rgba(74, 222, 128, 0.4),
    0 0 0 1px rgba(187, 247, 208, 0.3) inset;
}
#strategy-call .strategy-call__metric--bookings .strategy-call__metric-icon::before {
  width: 12px;
  height: 12px;
  background: #052e16;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 2h2v2h6V2h2v2h3a1 1 0 011 1v15a1 1 0 01-1 1H4a1 1 0 01-1-1V5a1 1 0 011-1h3V2zm12 8H5v9h14v-9zM8 12h2v2H8v-2zm3 0h2v2h-2v-2zm3 0h2v2h-2v-2z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 2h2v2h6V2h2v2h3a1 1 0 011 1v15a1 1 0 01-1 1H4a1 1 0 01-1-1V5a1 1 0 011-1h3V2zm12 8H5v9h14v-9zM8 12h2v2H8v-2zm3 0h2v2h-2v-2zm3 0h2v2h-2v-2z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}
#strategy-call .strategy-call__metric--bookings .strategy-call__metric-icon::after {
  display: none;
}

/* Compact badge cluster around the portrait, matching the reference */
#strategy-call .strategy-call__metric--followers,
#strategy-call .strategy-call__metric--choice {
  border-radius: 999px 999px 10px 999px;
}

#strategy-call .strategy-call__metric--rating,
#strategy-call .strategy-call__metric--community {
  border-radius: 999px 999px 999px 10px;
}

#strategy-call .strategy-call__metric--choice {
  top: 22%;
  left: 17%;
}

#strategy-call .strategy-call__metric--community {
  top: 21%;
  right: 13%;
}

#strategy-call .strategy-call__metric--followers {
  top: 34%;
  left: -2%;
}

#strategy-call .strategy-call__metric--rating {
  top: 38%;
  right: -1%;
}

#strategy-call .strategy-call__metric--bookings {
  top: 58%;
  left: 17%;
}

#strategy-call .strategy-call__metric--top {
  top: 57%;
  right: 12%;
}

#strategy-call .strategy-call__metric--views {
  bottom: 11%;
  left: -1%;
}

@media (max-width: 1199.98px) {
  #strategy-call .strategy-call__content {
    width: 56%;
    padding: 3rem;
  }

  #strategy-call .strategy-call__visual {
    right: 0;
    width: 52%;
  }

  #strategy-call .strategy-call__portrait {
    left: 56%;
    height: 80%;
    transform: translateX(-50%);
  }

  #strategy-call .strategy-call__metric--choice,
  #strategy-call .strategy-call__metric--bookings {
    display: none;
  }

  #strategy-call .strategy-call__metric--followers {
    top: 30%;
    left: 0;
  }

  #strategy-call .strategy-call__metric--community {
    top: 20%;
    right: 2%;
  }

  #strategy-call .strategy-call__metric--rating {
    top: 40%;
    right: 0;
  }

  #strategy-call .strategy-call__metric--top {
    top: 58%;
    right: 2%;
  }

  #strategy-call .strategy-call__metric--views {
    bottom: 10%;
    left: 2%;
  }
}

@media (max-width: 809.98px) {
  #strategy-call {
    padding: 64px 18px 36px;
  }

  #strategy-call .strategy-call__shell {
    min-height: 0;
    display: flex;
    flex-direction: column;
    border-radius: 22px;
    gap: 8px;
  }

  #strategy-call .strategy-call__content {
    position: relative;
    z-index: 3;
    justify-content: flex-start;
    width: 100%;
    min-height: 0;
    padding: 2.35rem 1.45rem 1.75rem;
    gap: 0;
  }

  #strategy-call .strategy-call__label {
    margin-bottom: 1.6rem;
  }

  #strategy-call .strategy-call__heading {
    max-width: none;
    font-size: clamp(1.85rem, 8.2vw, 2.45rem);
    letter-spacing: -0.05em;
    line-height: 1.12;
  }

  #strategy-call .strategy-call__copy {
    max-width: 34rem;
    margin-top: 2.1rem;
    font-size: 14.5px;
    line-height: 1.55;
  }

  #strategy-call .strategy-call__button {
    width: auto;
    max-width: 100%;
    margin-top: 2.5rem;
    min-height: 48px;
    justify-content: space-between;
    gap: 18px;
  }

  /* Keep portrait below copy/CTA so badges never collide with the button. */
  #strategy-call .strategy-call__visual {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    height: 440px;
    flex: none;
    margin-top: 0.5rem;
    padding: 0 6px 10px;
  }

  #strategy-call .strategy-call__portrait {
    left: 50%;
    height: 100%;
    transform: translateX(-50%);
  }

  #strategy-call .strategy-call__orb {
    left: 50%;
    width: 72%;
    bottom: -32%;
  }

  #strategy-call .strategy-call__founder {
    top: 18px;
    right: 16px;
    left: auto;
    padding: 9px 16px;
    max-width: min(210px, calc(100% - 32px));
  }

  #strategy-call .strategy-call__metric--community,
  #strategy-call .strategy-call__metric--top {
    display: none;
  }

  #strategy-call .strategy-call__metric--followers {
    top: 30%;
    left: 16px;
  }

  #strategy-call .strategy-call__metric--rating {
    top: 46%;
    right: 16px;
  }

  #strategy-call .strategy-call__metric--views {
    top: auto;
    bottom: 20px;
    left: 16px;
  }
}

@media (max-width: 479px) {
  #strategy-call {
    padding: 52px 16px 32px;
  }

  #strategy-call .strategy-call__shell {
    min-height: 0;
    border-radius: 20px;
  }

  #strategy-call .strategy-call__content {
    padding: 2rem 1.25rem 1.5rem;
  }

  #strategy-call .strategy-call__label {
    margin-bottom: 1.4rem;
  }

  #strategy-call .strategy-call__heading {
    font-size: clamp(1.7rem, 8vw, 2.1rem);
    line-height: 1.14;
  }

  #strategy-call .strategy-call__copy {
    margin-top: 1.85rem;
    font-size: 14px;
    line-height: 1.55;
  }

  #strategy-call .strategy-call__button {
    width: auto;
    max-width: 100%;
    justify-content: space-between;
    gap: 14px;
    min-height: 46px;
    margin-top: 2.25rem;
    padding: 0 14px 0 16px;
    font-size: 13.5px;
  }

  #strategy-call .strategy-call__visual {
    height: 360px;
    padding: 0 4px 12px;
    margin-top: 0.35rem;
  }

  #strategy-call .strategy-call__portrait {
    width: auto;
    max-width: 88%;
    height: 100%;
  }

  #strategy-call .strategy-call__founder {
    top: 14px;
    right: 14px;
    padding: 8px 14px 8px 12px;
    max-width: min(170px, calc(100% - 28px));
    border-radius: 999px 999px 999px 8px;
  }

  #strategy-call .strategy-call__founder small {
    font-size: 8px;
    letter-spacing: 0.08em;
  }

  #strategy-call .strategy-call__founder strong {
    font-size: 11px;
  }

  #strategy-call .strategy-call__metric {
    max-width: calc(50% - 14px);
    padding: 6px 12px 6px 6px;
    gap: 8px;
  }

  #strategy-call .strategy-call__metric--rating,
  #strategy-call .strategy-call__metric--community,
  #strategy-call .strategy-call__metric--top {
    padding: 6px 6px 6px 12px;
  }

  #strategy-call .strategy-call__metric-icon {
    width: 20px;
    height: 20px;
  }

  #strategy-call .strategy-call__metric strong {
    font-size: 11px;
  }

  #strategy-call .strategy-call__metric small {
    font-size: 6px;
    letter-spacing: 0.1em;
  }

  #strategy-call .strategy-call__metric--followers {
    top: 26%;
    left: 14px;
  }

  #strategy-call .strategy-call__metric--rating {
    top: 26%;
    right: 14px;
    left: auto;
  }

  #strategy-call .strategy-call__metric--views {
    bottom: 16px;
    left: 14px;
    max-width: calc(100% - 28px);
  }
}

@media (prefers-reduced-motion: reduce) {
  #strategy-call .strategy-call__button {
    transition: none;
  }
}


/* --- quote-bridge.css --- */
/* Quote bridge - between Strategy Call and Packages */

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

#quote-bridge {
  --qb-bg: #f5f5f5;
  --qb-ink: #0a0a0a;
  --qb-muted: rgba(10, 10, 10, 0.5);
  position: relative;
  width: 100%;
  padding: clamp(28px, 3.5vw, 48px) 36px clamp(72px, 10vw, 120px);
  background: var(--qb-bg);
  font-family: "Inter", "Inter Placeholder", sans-serif;
  overflow: hidden;
}

#quote-bridge .quote-bridge__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.25rem, 2.5vw, 1.75rem);
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

#quote-bridge .quote-bridge__mark {
  margin: 0;
  color: var(--qb-ink);
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 8vw, 5.5rem);
  font-weight: 400;
  line-height: 0.8;
  letter-spacing: -0.04em;
  opacity: 0.18;
  user-select: none;
}

#quote-bridge .quote-bridge__text {
  margin: 0;
  color: var(--qb-ink);
  font-size: clamp(1.65rem, 3.6vw, 2.75rem);
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1.15;
  text-wrap: pretty;
}

#quote-bridge .quote-bridge__word {
  display: inline-block;
  position: relative;
  white-space: nowrap;
  text-align: left;
  vertical-align: baseline;
  /* Width set in JS to the longest rotating word so the line doesn't shift. */
}

#quote-bridge .quote-bridge__word-inner {
  display: inline-block;
  color: var(--qb-ink);
  transition:
    opacity 280ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

#quote-bridge .quote-bridge__word-inner.is-exit {
  opacity: 0;
  transform: translateY(-0.35em);
}

#quote-bridge .quote-bridge__word-inner.is-enter {
  opacity: 0;
  transform: translateY(0.35em);
  animation: quote-bridge-word-in 320ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes quote-bridge-word-in {
  from {
    opacity: 0;
    transform: translateY(0.35em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #quote-bridge .quote-bridge__word-inner {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

#quote-bridge .quote-bridge__attr {
  margin: 0;
  color: var(--qb-muted);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#quote-bridge .quote-bridge__rule {
  width: 48px;
  height: 2px;
  margin: 0.25rem 0 0;
  background: var(--qb-ink);
  opacity: 0.2;
}

@media (max-width: 809.98px) {
  #quote-bridge {
    padding: 36px 20px 72px;
  }

  #quote-bridge .quote-bridge__text {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
    line-height: 1.35;
  }

  #quote-bridge .quote-bridge__attr {
    margin-top: 1.25rem;
  }
}


/* --- why-us.css --- */
/* Why us - scroll-zoom stats section (above Services), themed to site B&W */

/*
 * The sticky pin inside #why-us needs its scroll ancestors to NOT be scroll
 * containers. Framer's page wrappers use overflow: hidden, which breaks
 * position: sticky; overflow: clip clips identically without doing so.
 */
.framer-jpdxmw[data-framer-name="Main"],
div[data-layout-template="true"].framer-8QVl3 {
  overflow: clip !important;
}

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

#why-us {
  --why-bg: #f5f5f5;
  --why-ink: #0a0a0a;
  --why-grey: rgba(10, 10, 10, 0.55);
  --why-white: #fff;
  --why-muted-light: rgba(255, 255, 255, 0.62);
  background-color: var(--why-bg);
  width: 100%;
  padding: 100px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: clip;
  font-family: "Inter", "Inter Placeholder", sans-serif;
}

/* Sticky composition */
#why-us .why-us__container {
  z-index: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 1000px;
  height: 560px;
  position: sticky;
  top: 120px;
  overflow: visible;
}

/* Pattern overlay */
#why-us .why-us__pattern {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.08;
  overflow: clip;
  pointer-events: none;
  -webkit-mask: radial-gradient(50% 50%, #000 0%, #0000 100%);
  mask: radial-gradient(50% 50%, #000 0%, #0000 100%);
  background-image: url("../assets/icons/why-us-pattern.svg");
  background-repeat: repeat;
  background-position: center;
  background-size: 63px auto;
}

/* Left / right columns */
#why-us .why-us__side {
  display: flex;
  flex-direction: column;
  flex: 1 0 0;
  width: 1px;
  max-width: 280px;
  height: 100%;
  position: relative;
}

#why-us .why-us__side--left {
  align-items: center;
  justify-content: flex-start;
}

#why-us .why-us__side--right {
  align-items: center;
  justify-content: flex-end;
}

#why-us .why-us__stats {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

#why-us .why-us__side--left .why-us__stats {
  align-items: flex-end;
}

#why-us .why-us__side--right .why-us__stats {
  align-items: flex-start;
}

/* Stat block */
#why-us .stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  will-change: transform, opacity;
}

#why-us .why-us__side--left .stat {
  align-items: flex-end;
}

#why-us .why-us__side--right .stat {
  align-items: flex-start;
}

#why-us .stat__value {
  display: flex;
  gap: 4px;
  align-items: center;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: 72px;
  letter-spacing: -0.04em;
  line-height: 100%;
  color: var(--why-ink);
}

#why-us .stat__label {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 145%;
  text-transform: uppercase;
  color: var(--why-grey);
  max-width: 220px;
}

#why-us .why-us__side--left .stat__label {
  text-align: right;
}

#why-us .why-us__side--right .stat__label {
  text-align: left;
}

/* Scroll-in start state (desktop + mobile) */
#why-us .stat--from-left {
  opacity: 0;
  transform: translateX(-200px) translateY(200px);
}

#why-us .stat--from-right {
  opacity: 0;
  transform: translateX(200px) translateY(200px);
}

/* Middle card */
#why-us .why-us__middle {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  flex: 1.2 0 0;
  width: 1px;
  max-width: 60%;
  height: 560px;
  padding: 28px 32px;
  position: relative;
  overflow: visible;
}

#why-us .why-us__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: clip;
  will-change: transform;
  transform-origin: center center;
  transform: scale(10);
  border-radius: 24px;
  background:
    radial-gradient(
      80% 100% at 100% 100%,
      rgba(255, 255, 255, 0.12) 0%,
      rgba(255, 255, 255, 0.04) 48%,
      transparent 72%
    ),
    linear-gradient(115deg, #070707 0%, #0c0c0c 55%, #101010 100%);
}

#why-us .why-us__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 78%);
}

#why-us .why-us__text,
#why-us .why-us__sign {
  position: relative;
  z-index: 1;
  width: 100%;
}

#why-us .why-us__text {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: flex-start;
}

#why-us .why-us__badge {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 9px;
  opacity: 0;
  transform: translateY(12px);
}

#why-us .why-us__dot {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--why-white);
  flex: none;
}

#why-us .why-us__dot::before,
#why-us .why-us__dot::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  left: calc(50% - 1px);
  width: 2px;
  height: 8px;
  background: #0a0a0a;
}

#why-us .why-us__dot::after {
  transform: rotate(90deg);
}

#why-us .why-us__badge-label {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 140%;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}

#why-us .why-us__headline {
  margin: 0;
  font-size: 42px;
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 102%;
  color: var(--why-white);
}

#why-us .why-us__headline span {
  display: inline-block;
  opacity: 0.001;
  transform: translateY(10px);
}

#why-us .why-us__headline-em {
  color: rgba(255, 255, 255, 0.45);
}

#why-us .why-us__sign {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 16px;
}

#why-us .why-us__blurb {
  flex: 1 0 0;
  width: 1px;
  max-width: 280px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 145%;
  color: var(--why-muted-light);
  text-align: right;
  opacity: 0;
  transform: translateY(12px);
}

/* Scroll trigger track (desktop) */
#why-us .why-us__triggers {
  height: 150vh;
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  pointer-events: none;
}

#why-us .why-us__zoom-trigger {
  height: 50vh;
  width: 1px;
  opacity: 0;
}

#why-us .why-us__text-triggers {
  height: 110vh;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#why-us .why-us__text-triggers > div {
  position: absolute;
  left: 0;
  width: 1px;
  opacity: 0;
}

#why-us [data-why-trigger="1"] {
  top: 0;
  height: 40%;
}

#why-us [data-why-trigger="2"] {
  top: 150px;
  height: 70%;
}

#why-us [data-why-trigger="3"] {
  bottom: 100px;
  height: 60%;
}

#why-us [data-why-trigger="4"] {
  bottom: 0;
  height: 50%;
}

/* -- Tablet -- */
@media (max-width: 1199.98px) and (min-width: 810px) {
  #why-us .stat__value {
    font-size: 56px;
  }

  #why-us .why-us__headline {
    font-size: 34px;
  }

  #why-us .why-us__container {
    height: clamp(420px, 58vw, 520px);
    top: 96px;
  }

  #why-us .why-us__side {
    max-width: 24%;
  }
}

/* -- Mobile: same composition as desktop (left stats | card | right stats) -- */
@media (max-width: 809.98px) {
  #why-us {
    padding: 48px 14px 28px;
    overflow: clip; /* clip zoom spill so page doesn't scroll sideways */
  }

  #why-us .why-us__container {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(8px, 2.5vw, 16px);
    width: 100%;
    max-width: 100%;
    height: clamp(320px, 88vw, 420px);
    position: sticky;
    top: 88px;
    overflow: visible; /* allow zoom/stat motion to paint, section clips */
  }

  #why-us .why-us__side {
    display: flex;
    flex: 1 1 0;
    width: 1px;
    max-width: 28%;
    height: 100%;
    order: unset;
  }

  #why-us .why-us__side--left {
    align-items: center;
    justify-content: flex-start;
  }

  #why-us .why-us__side--right {
    align-items: center;
    justify-content: flex-end;
  }

  #why-us .why-us__stats {
    gap: clamp(16px, 5vw, 28px);
  }

  #why-us .why-us__side--left .why-us__stats,
  #why-us .why-us__side--left .stat {
    align-items: flex-end;
  }

  #why-us .why-us__side--right .why-us__stats,
  #why-us .why-us__side--right .stat {
    align-items: flex-start;
  }

  #why-us .why-us__side--left .stat__label {
    text-align: right;
  }

  #why-us .why-us__side--right .stat__label {
    text-align: left;
  }

  #why-us .why-us__middle {
    order: unset;
    flex: 1.35 1 0;
    width: 1px;
    max-width: 52%;
    height: 100%;
    min-height: 0;
    padding: clamp(14px, 3.5vw, 22px) clamp(12px, 3vw, 18px);
    overflow: visible;
  }

  #why-us .why-us__bg {
    border-radius: 18px;
    transform: scale(7);
    overflow: clip;
  }

  #why-us .stat__value {
    font-size: clamp(28px, 8vw, 44px);
  }

  #why-us .stat__label {
    font-size: 9px;
    letter-spacing: 0.08em;
    max-width: 100%;
  }

  #why-us .why-us__badge {
    gap: 6px;
  }

  #why-us .why-us__dot {
    width: 14px;
    height: 14px;
  }

  #why-us .why-us__badge-label {
    font-size: 11px;
  }

  #why-us .why-us__text {
    gap: 10px;
  }

  #why-us .why-us__headline {
    font-size: clamp(18px, 5.2vw, 26px);
  }

  #why-us .why-us__blurb {
    max-width: 100%;
    font-size: 11px;
    text-align: right;
  }

  /* Scroll track long enough for zoom + counter reveals on mobile */
  #why-us .why-us__triggers {
    display: flex;
    height: 130vh;
  }

  #why-us .why-us__zoom-trigger {
    height: 48vh;
  }

  #why-us .why-us__text-triggers {
    height: 95vh;
  }

  #why-us [data-why-trigger="2"] {
    top: 80px;
  }

  #why-us [data-why-trigger="3"] {
    bottom: 48px;
  }

  #why-us .stat--from-left {
    transform: translateX(-36px) translateY(48px);
  }

  #why-us .stat--from-right {
    transform: translateX(36px) translateY(48px);
  }
}

@media (prefers-reduced-motion: reduce) {
  #why-us .why-us__bg,
  #why-us .stat,
  #why-us .why-us__badge,
  #why-us .why-us__blurb,
  #why-us .why-us__headline span {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


