@font-face {
  font-family: "Nohemi";
  src: url("fonts/Nohemi-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nohemi";
  src: url("fonts/Nohemi-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Nohemi";
  src: url("fonts/Nohemi-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Disable double-tap zoom on mobile/smaller screens (keeps pinch-to-zoom) */
@media (max-width: 1280px) {
  html {
    touch-action: manipulation;
  }
}

:root {
  /* Brand Colors */
  --bg: #ffffff;
  /* Soft page background (used on all non-landing pages) */
  --page-soft-bg: #fff;
  /* Text system (no pure black) */
  --text: #2f2f2f;
  --muted: #757575;
  --blue: #0033ff;
  --blue-2: #807dfe;
  --border: #d4d6e2;
  
  /* Layout */
  --container: 1250px;
  /* Fluid gutters: keeps tablet/desktop layouts balanced */
  --container-gutter: clamp(16px, 4vw, 60px);
  --section-padding: 70px;
  --section-padding-mobile: 40px;
  
  /* Effects */
  --shadow: 0 4px 11.7px 2px rgba(212, 214, 226, 0.25);
  --radius-lg: 30px;
  --radius-md: 20px;
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.4s cubic-bezier(0.16, 1, 0.3, 1);

  /* Space reserved for the fixed navbar (overrides inline main padding) */
  --header-clearance: 133px;
  
  /* Logo Settings */
  --logo-gap: 90px;
  --logo-width: 180px;
  --logo-height: 52px;
  --logo-height-boost: 58px;
  --logo-height-super: 80px;
  --logo-scroll-speed: 40s;
}

* { box-sizing: border-box; }

/* Ensure native [hidden] always hides, even if classes set display */
[hidden] { display: none !important; }

/* Visually-hidden utility (accessibility) */
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Zipteams booking demo: ensure modal always above site content, no overlap */
#zt-widget-root-fullframe,
#zt-widget-root,
#zt-stepper-container-elm {
  z-index: 2147483647 !important;
  position: fixed !important;
  inset: 0 !important;
  isolation: isolate !important;
}

/* When Zipteams fullframe is open, lower our header/nav/chat so they stay behind */
body:has(#zt-widget-root-fullframe) .site-header,
body:has(#zt-widget-root-fullframe) .nav__links,
body:has(#zt-widget-root-fullframe) .nav__overlay,
body:has(#zt-widget-root-fullframe) .site-toast,
body:has(#zt-widget-root-fullframe) main {
  z-index: 1 !important;
}

/* ========================================
   SOP Download Modal (shared)
   ======================================== */
.sop-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(17, 17, 17, 0.45);
  display: grid;
  place-items: center;
  padding: 18px;
  z-index: 100000; /* above header */
}

.sop-modal {
  width: min(520px, 92vw);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.sop-modal__inner {
  padding: 18px 18px 16px;
}

.sop-modal__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.sop-modal__title {
  margin: 0;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.25;
  color: var(--text);
}

.sop-modal__sub {
  margin: 6px 0 0;
  color: rgba(47, 47, 47, 0.72);
  font-size: 13px;
  line-height: 1.45;
}

.sop-modal__close {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(47, 47, 47, 0.65);
  width: 36px;
  height: 36px;
  border-radius: 10px;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.sop-modal__close:hover {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(47, 47, 47, 0.85);
}

.sop-modal__form {
  margin-top: 14px;
  display: grid;
  gap: 12px;
}

.sop-modal__field label {
  display: block;
  font-size: 12px;
  color: rgba(47, 47, 47, 0.72);
  margin: 0 0 6px;
}

.sop-modal__field input {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(212, 214, 226, 1);
  outline: none;
  font-size: 14px;
}

.sop-modal__hint {
  margin-top: 6px;
  font-size: 11px;
  color: rgba(47, 47, 47, 0.6);
}

.sop-modal__error {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(196, 18, 48, 0.06);
  border: 1px solid rgba(196, 18, 48, 0.18);
  color: #c41230;
  font-size: 12px;
  line-height: 1.35;
}

.sop-modal__success {
  padding: 12px;
  border-radius: 12px;
  background: rgba(0, 51, 255, 0.06);
  border: 1px solid rgba(0, 51, 255, 0.16);
  color: rgba(0, 51, 255, 0.95);
  font-size: 13px;
  line-height: 1.4;
}

.sop-modal__actions {
  margin-top: 8px;
  display: grid;
  gap: 10px;
}

.sop-modal__btn {
  height: 46px;
  border-radius: 12px;
  border: 0;
  background: var(--blue);
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) {
  .sop-modal__btn:hover:not(:disabled) {
    background: #0028cc;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 51, 255, 0.28);
  }
}

.sop-modal__btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.sop-modal__foot {
  margin: 10px 0 0;
  text-align: center;
  font-size: 11px;
  color: rgba(47, 47, 47, 0.55);
}

html {
  height: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  /* Offset anchor jumps for the fixed header */
  scroll-padding-top: 150px;
  /* Prevent iOS/Chrome text inflation from breaking layouts */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  height: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
body {
  margin: 0;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background: var(--page-soft-bg);
}

/* Many templates set inline `main { padding-top: 133px; }`.
   Override it with a responsive value so mobile layouts don't look "spaced out". */
main {
  padding-top: var(--header-clearance) !important;
}

/* Performance: skip rendering offscreen sections until needed */
@supports (content-visibility: auto) {
  .services,
  .map,
  .testimonials,
  .who,
  .sops,
  .faq,
  .cta-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
  }

  /* Keep marquee animations running continuously */
  .logos,
  .testimonials {
    content-visibility: visible;
    contain-intrinsic-size: auto;
  }
}

/* Landing page (home) keeps a plain background */
body.landing {
  background: var(--bg);
}

/* Mobile menu blurred backdrop */
.nav__overlay {
  position: fixed;
  inset: 0;
  /* Dim only (blur is on the menu panel itself) */
  background: rgba(17, 17, 17, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 99998;
}

body.nav-open .nav__overlay,
body.nav-mega-open .nav__overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

/* ========================================
   Container - Centered Layout
   ======================================== */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
  box-sizing: border-box;
}

.muted { color: var(--muted); }
.brand-blue { color: var(--blue); }

/* ========================================
   Header / Navigation - Centered Navbar
   ======================================== */
.site-header {
  position: fixed;
  top: 38px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  isolation: isolate;
  /* Desktop: match the global container width so nav doesn't wrap */
  width: min(var(--container), calc(100% - 80px));
  padding: 0;
  transition: top 0.3s ease, box-shadow 0.3s ease;
  background: transparent;
  box-sizing: border-box;
}

/* Soft page glow behind navbar (not boxed to container) */
.site-header::before {
  content: none;
}
.site-header.scrolled {
  top: 22px;
}
.site-header.scrolled .nav {
  box-shadow: none;
}
.nav {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  height: 89px;
  min-height: 89px;
  max-height: 89px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0px 4px 11.7px 2px rgba(212, 214, 226, 0.22);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px 0 16px;
  gap: 20px;
  transition: background 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 99999;
  box-sizing: border-box;
  width: 100%;
  overflow: visible;
}

/* Navbar "glass" background without boxed edges */
.nav::before {
  content: none;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: -1;
}
.nav::after {
  content: none;
  position: absolute;
  inset: -18px;
  border-radius: inherit;
  z-index: -2;
  pointer-events: none;
}
.site-header.scrolled .nav {
  background: rgba(255, 255, 255, 0.96);
}
.site-header.scrolled .nav::before {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.brand__logo {
  height: 42px;
  width: auto;
  object-fit: contain;
  display: block;
  padding-top: 1px;
  padding-bottom: 1px;
  box-sizing: content-box;
  margin-top: 10px;
  margin-left: 5px;
}

/* Figma text logo: "amply" */
.brand {
  display: inline-flex;
  align-items: center;
  height: 100%;
}

.brand__logo-text {
  font-family: "Pacifico", cursive;
  /* Bigger logo text (scales nicely across screens) */
  font-size: clamp(32px, 2.8vw, 44px);
  line-height: 1;
  letter-spacing: 0.03em; /* ~3% like Figma */
  color: #0033ff;
  display: block;
  /* Optical vertical centering for Pacifico font metrics */
  transform: translateY(-0.06em);
}

/* Desktop: keep logo 4px from left edge */
@media (min-width: 1025px) {
  .nav {
    padding-left: 12px;
  }
}

/* Use image logo sitewide (nav + footer). Hide the old text logo. */
.brand__logo-text,
.footer__logo-text {
  display: none;
}

.footer__logo-text {
  font-size: clamp(26px, 2vw, 32px);
  line-height: 1.35;
  letter-spacing: 0.03em;
}
.nav__toggle {
  display: none;
  flex-direction: column;
  gap: 6px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 6px;
  z-index: 100000;
  --hamburger-shift: 10px;
  align-items: flex-end;
}
.nav__right {
  display: none;
  align-items: center;
  gap: 10px;
}
.nav__top-cta {
  display: none;
}
.nav__toggle span {
  width: 28px;
  height: 2px;
  background: #000;
  border-radius: 999px;
  transition: all 0.3s ease;
  transform-origin: center;
}
.nav__toggle span:nth-child(2) {
  width: 18px;
}
.nav__toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(var(--hamburger-shift)) rotate(45deg);
}
.nav__toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.nav__toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(calc(var(--hamburger-shift) * -1)) rotate(-45deg);
}
.nav__links {
  display: flex;
  justify-content: center;
  gap: 28px;
  transition: all 0.3s ease;
  flex: 1 1 auto;
  min-width: 0;
}

.nav__mobile-cta {
  display: none;
}

.nav__drawer-cta-wrapper {
  display: none;
}

.nav__link--muted {
  opacity: 0.85;
}

/* LG Breakpoint - collapse nav into hamburger (max-width: 1280px) */
@media (max-width: 1280px) {
  .site-header {
    z-index: 100005;
    /* IMPORTANT: prevent fixed drawer being constrained by transformed header */
    left: 24px;
    transform: none;
    width: calc(100% - 48px);
  }
  .nav {
    height: auto;
    min-height: 70px;
    padding: 14px 16px;
    gap: 12px;
  }

  .brand__logo {
    height: 35px;
  }

  .nav__right {
    display: flex;
    margin-left: auto;
  }

  .nav__top-cta {
    display: inline-flex;
    height: 34px;
    padding: 0 14px;
    font-size: 14px;
    border-radius: 999px;
  }

  .nav__toggle {
    display: flex;
    order: 0;
    z-index: 100002;
  }

  /* Under 1280px: top bar shows ONLY logo + hamburger */
  .nav__cta { display: none !important; }

  .nav {
    position: relative !important;
    overflow: visible !important;
    height: auto !important;
    min-height: 70px !important;
    max-height: none !important;
  }

  .nav__links {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 96px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    margin-top: 0 !important;
    padding: 14px 18px !important;
    height: auto !important;
    max-height: calc(100vh - 108px) !important;
    max-height: calc(100dvh - 108px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    min-height: 10px !important;
    /* Glass effect like navbar - high opacity for premium look */
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.16) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-12px) !important;
    /* Extra smooth transition */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                visibility 0.4s !important;
    z-index: 100000 !important;
  }

  /* Prevent hidden mega menu from creating horizontal overflow on mobile */
  .nav__mega {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 10px 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: none !important;
  }

  .nav__item--has-menu.is-open .nav__mega {
    display: block !important;
  }

  .nav__links[aria-expanded="true"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .nav__links .nav__link {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    /* Mobile drawer typography: match site hierarchy */
    font-size: 16px !important;
    font-weight: 300 !important;
    letter-spacing: 0.2px !important;
    line-height: 1.2 !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    color: var(--text) !important;
    background: none !important;
  }

  .nav__links .nav__link:last-child {
    border-bottom: 0 !important;
  }

  .nav__drawer-cta-wrapper {
    display: block !important;
    padding: 16px 0 8px;
    width: 100%;
  }

  .nav__drawer-btn {
    width: 100% !important;
    height: 48px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    justify-content: center !important;
  }

  /* Nested headers ("By Industry", "By Teams") inside drawer — same font as site */
  .nav__mega-trigger {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.2px;
    line-height: 1.2;
  }

  /* Drawer sub-links (Retail, SOP Builder, etc.) — match site body text */
  .nav__mega-panel .nav__mega-link,
  .nav__mega--product .nav__mega-link {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.2px;
    line-height: 1.25;
  }
}

/* Nav drawer: wider side gaps on tablet/laptop (768px–1280px) for responsive feel */
@media (min-width: 768px) and (max-width: 1280px) {
  .nav__links {
    left: 48px !important;
    right: 48px !important;
    bottom: 24px !important;
  }
}

.nav__link {
  font-size: 18px;
  letter-spacing: 1.08px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  opacity: 0.93;
  /* Prevent multi-line nav items like "Customer Stories" */
  white-space: nowrap;
  line-height: 1;
  font-weight: 500;
  font-family: inherit;
}

/* Solutions mega-menu */
.nav__item { position: relative; }
.nav__link--trigger {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: inherit;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Ensure nav typography uses site font (Nohemi) everywhere */
.nav__link,
.nav__link--trigger,
.nav__mega-trigger {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: inherit;
}
.nav__mega-link {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.nav__mega {
  position: absolute;
  top: calc(100% + 10px);
  left: var(--nav-mega-left, 50%);
  transform: translateX(var(--nav-mega-x, -50%)) translateY(-8px);
  /* Keep the panel comfortably inside laptop viewports (compact) */
  width: min(560px, calc(100vw - 48px));
  /* Prevent tall menus from falling off shorter laptop screens */
  max-height: calc(100vh - 170px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  /* Solid background so submenu text is always readable */
  background: #fff;
  border: 1px solid rgba(212, 214, 226, 0.7);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.16);
  color: var(--text);
  /* Desktop sizing */
  padding: 18px 18px;
  display: grid;
  /* Keep "By Industry" compact, pull "By Teams" closer */
  grid-template-columns: minmax(170px, 210px) minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 18px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* Don't fade "out under the cursor" (delay visibility change on close) */
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0s linear 0.18s;
  will-change: opacity, transform;
  z-index: 100001;
}

/* Desktop: first dropdown (Solutions) should not overlap the logo.
   Align it to the trigger's left edge instead of centering. */
.nav__links > .nav__item--has-menu:first-child .nav__mega {
  --nav-mega-left: 0%;
  --nav-mega-x: 0%;
}

.nav__mega--product {
  width: min(420px, calc(100vw - 48px));
  grid-template-columns: 1fr;
  gap: 0;
  /* Align Product dropdown with trigger (like a standard submenu) */
  --nav-mega-left: 0%;
  --nav-mega-x: 0%;
}

/* Laptop-scale refinement: reduce whitespace before tablet cutoff */
@media (max-width: 1280px) {
  .nav__mega {
    width: min(520px, calc(100vw - 48px));
    padding: 16px 16px;
    gap: 22px;
  }
}

.nav__mega-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: transparent;
  border: 0;
  padding: 0;
  /* Section label like "By Industry", "By Teams" */
  font-size: clamp(14px, 0.95vw, 16px);
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  margin-bottom: 12px;
}

.nav__chev--mega { display: none; }

.nav__mega-panel {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nav__mega-link {
  display: block;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* Sub-links like "Retail", "Store Operations", etc. */
  font-size: 14px;
  line-height: 1.15;
  padding: 10px 12px;
  margin: 0;
  border-radius: 12px;
  color: #1d1d1d;
  font-weight: 500;
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
@media (hover: hover) and (pointer: fine) {
  .nav__mega-link:hover {
    color: var(--blue);
    background: rgba(0, 51, 255, 0.08);
    transform: translateY(-1px);
  }
}
.nav__mega-link:focus-visible {
  outline: 2px solid rgba(0, 51, 255, 0.35);
  outline-offset: 2px;
}

.nav__item--has-menu:hover .nav__mega,
.nav__item--has-menu:focus-within .nav__mega,
.nav__item--has-menu.is-open .nav__mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(var(--nav-mega-x, -50%)) translateY(0);
  transition-delay: 0s;
}

/* Desktop hover: add an invisible "bridge" so moving from trigger to panel
   doesn't break :hover due to the gap above the dropdown. */
@media (hover: hover) and (pointer: fine) {
  .nav__item--has-menu::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 16px;
  }
}
.nav__chev {
  width: 12px;
  height: 7px;
  opacity: .9;
  flex-shrink: 0;
  /* Default state: chevron points down. Rotate only when the menu is open. */
  transform: rotate(0deg);
  transition: transform 180ms ease;
}

/* Rotate chevron when the associated dropdown is open */
.nav__link--trigger[aria-expanded="true"] .nav__chev,
.nav__item--has-menu.is-open > .nav__link--trigger .nav__chev {
  transform: rotate(180deg);
}

/* Desktop-only: rotate chevron on hover/focus (prevents sticky hover on touch). */
@media (hover: hover) and (pointer: fine) {
  .nav__item--has-menu:hover > .nav__link--trigger .nav__chev,
  .nav__item--has-menu:focus-within > .nav__link--trigger .nav__chev {
    transform: rotate(180deg);
  }
}
.nav__cta { display: flex; justify-content: flex-end; gap: 10px; }

/* Buttons */
.btn {
  height: 44px;
  padding: 0 24px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2px;
  border: 1.5px solid transparent;
  white-space: nowrap;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.btn--lg { 
  height: 48px;
  padding: 0 32px;
  font-size: 17px;
}

.btn--primary {
  background: linear-gradient(96.75deg, rgba(128,125,254,1) 7.743%, rgba(0,51,255,1) 48.86%, rgba(128,125,254,1) 95.963%);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 51, 255, 0.15);
}

.btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 51, 255, 0.25);
}

.btn--outline { 
  background: #fff; 
  border-color: rgba(0, 51, 255, 0.3); 
  color: var(--text); 
}

.btn--outline:hover {
  border-color: rgba(0, 51, 255, 0.8);
  background: rgba(0, 51, 255, 0.02);
  transform: translateY(-2px);
}

/* "Sign Up" outline button: solid on hover/press */
@media (hover: hover) {
  .btn--outline[href*="inspect.aiborne.tech/signup"]:hover {
    background: var(--blue);
    border-color: var(--blue);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 51, 255, 0.22);
  }
}

.btn--outline[href*="inspect.aiborne.tech/signup"]:focus-visible {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(0, 51, 255, 0.25);
}

.btn--outline[href*="inspect.aiborne.tech/signup"]:active {
  background: #0028cc;
  border-color: #0028cc;
  color: #fff;
  transform: translateY(0px);
  box-shadow: 0 4px 10px rgba(0, 51, 255, 0.18), inset 0 2px 6px rgba(0, 0, 0, 0.18);
}
.btn--gradient {
  color: #fff;
  border: 0;
  height: 58px;
  width: 100%;
  border-radius: 36px;
  background: linear-gradient(96.75deg, rgba(128,125,254,1) 7.743%, rgba(0,51,255,1) 48.86%, rgba(128,125,254,1) 95.963%);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn--gradient:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(0, 51, 255, 0.3);
}
.btn--gradient:active {
  transform: translateY(0);
}
.btn--light { background: #fff; color: var(--text); border: 1.5px solid #b6bbff; }
@media (hover: hover) {
  .btn--light:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.1);
  }
}
.btn__icon { width: 14px; height: 14px; margin-left: 10px; display: block; flex: 0 0 auto; }
.btn__icon--left { margin-left: 0; margin-right: 10px; width: 18px; height: 18px; display: block; flex: 0 0 auto; color: inherit; }

/* ========================================
   Hero Section - Clean Rewrite
   ======================================== */
.hero {
  padding: 86px 0 60px;
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(212, 214, 226, 0.6);
}

.hero .container {
  width: 100%;
}

.hero__grid {
  display: flex;
  gap: 20px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.hero__copy {
  flex: 1 1 520px;
  width: auto;
  min-width: 0;
  max-width: 560px;
  box-sizing: border-box;
}

.hero__media {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  box-sizing: border-box;
}

.pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 20px;
  height: 40px;
  overflow: hidden;
  margin-bottom: 24px;
}

.pill__tag {
  background: var(--blue);
  color: #fff;
  height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 20px;
  margin: 1px;
  font-size: 16px;
  letter-spacing: 0.96px;
}

.pill__text {
  padding: 0 16px;
  font-size: 16px;
  letter-spacing: 0.96px;
  color: #8d8a8a;
}

.hero__title {
  margin: 0;
  font-size: 48px;
  line-height: 65px;
  letter-spacing: 1.44px;
  font-weight: 600;
}

.text-gradient {
  display: block;
  background: linear-gradient(90deg, var(--blue) 0%, var(--blue-2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: opacity 0.3s ease, transform 0.3s ease;
  will-change: opacity, transform;
}

.text-gradient.fade-out {
  opacity: 0;
  transform: translateY(10px);
}

.hero__subtitle {
  margin: 24px 0 44px;
  font-size: 24px;
  line-height: 35px;
  letter-spacing: 1.44px;
  color: #757575;
  max-width: 520px;
}

.hero__actions {
  display: flex;
  gap: 14px;
  margin-bottom: 40px;
}

.avatars {
  display: inline-flex;
  align-items: center;
  margin-right: 12px;
  gap: 0;
}

.avatars__image {
  height: 40px;
  width: auto;
  display: block;
  object-fit: contain;
}

.avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  overflow: hidden;
  border: 2px solid #fff;
  margin-left: -10px;
  background: #f3f4ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.avatar:first-child {
  margin-left: 0;
}

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

.avatar--solid {
  background: linear-gradient(96.75deg, rgba(128,125,254,1) 7.743%, rgba(0,51,255,1) 48.86%, rgba(128,125,254,1) 95.963%);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .36px;
  border: 2px solid #fff;
}

.hero__proof {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 40px;
}

.hero__proof-text {
  color: #757575;
  letter-spacing: .48px;
  font-size: 16px;
}

.hero__proof-text strong {
  font-weight: 600;
  color: var(--text);
}

.hero__rating {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #757575;
  font-size: 16px;
}

.hero__rating strong {
  color: var(--text);
  font-weight: 600;
}

.hero__star {
  width: 20px;
  height: 20px;
  display: inline-block;
  object-fit: contain;
}

.hero__media-img {
  width: 100%;
  max-width: 560px;
  height: auto;
  display: block;
}

.hero__media-img--mobile {
  display: none;
}

.hero__media-img--desktop {
  display: block;
}

.logos {
  margin-top: 40px;
  padding-top: 32px;
  overflow: hidden;
  width: 100%;
  max-width: none;
  /* Marquee logo sizing + alignment (keeps all logos visually consistent) */
  --marquee-logo-box-height: 64px;
  --marquee-logo-height: 44px;
  --marquee-logo-width: 170px;
  --marquee-tag-slot: 22px;
  --marquee-logo-row-gap: 8px;
  --marquee-item-min-width: 120px;
}
.logos__strap { 
  text-align: center; 
  color: #4a4a4a; 
  letter-spacing: 0.48px; 
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
}
.logos__strap strong {
  color: var(--text);
  font-weight: 600;
}
.logos__strap::before,
.logos__strap::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(212, 214, 226, 0.35);
}
/* Logo Marquee Layout */
.logos__marquee {
  width: auto;
  /* Full-bleed marquee even when parent uses .container */
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: hidden;
  overflow-y: visible;
  /* Extra breathing room for scaled logos */
  padding: 18px 0;
  mask-image: none;
  -webkit-mask-image: none;
}

.logos__static {
  width: 100%;
  padding: 8px 0 18px;
}

.logos__static-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 34px;
  align-items: center;
  justify-items: center;
}

.logos__cell {
  /* Keep all logos aligned even when some cells have the "Case study" pill */
  display: grid;
  grid-template-rows: var(--marquee-logo-box-height) var(--marquee-tag-slot);
  justify-items: center;
  align-items: end;
  row-gap: var(--marquee-logo-row-gap);
  min-height: calc(var(--marquee-logo-box-height) + var(--marquee-tag-slot) + var(--marquee-logo-row-gap));
}

.logos__cell img {
  grid-row: 1;
  align-self: end;
  height: 44px;
  width: auto;
  max-width: min(170px, 100%);
  object-fit: contain;
}

.logos__track {
  overflow-x: hidden;
  overflow-y: visible;
  width: 100%;
  position: relative;
}

.logos__track--top {
  /* Separation between rows so scaled logos never collide */
  margin-bottom: 22px;
  z-index: 2;
}

.logos__track--bottom {
  z-index: 1;
}

.logos__track-inner {
  display: flex;
  /* Bottom-align items so logo bottoms line up across the row */
  align-items: flex-end;
  width: max-content;
  will-change: transform;
  gap: 0; /* gap lives inside .logos__set for seamless looping */
}

.logos__set {
  display: flex;
  align-items: flex-end;
  gap: clamp(12px, 1.8vw, 22px);
  min-width: max-content;
  justify-content: flex-start;
  width: max-content;
}

@media (min-width: 1024px) {
  .logos__set {
    gap: clamp(20px, 2.4vw, 34px);
  }
}

.logos__track--top .logos__track-inner:not(.logos__track-inner--js) {
  animation: marquee-left 35s linear infinite;
}

.logos__track--bottom .logos__track-inner:not(.logos__track-inner--js) {
  animation: marquee-right 35s linear infinite;
}

@keyframes marquee-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes marquee-right {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

.logo-item {
  --logo-scale: 1;
  --logo-box-height: var(--marquee-logo-box-height);
  /* Fixed 2-row layout:
     row 1 = logo box (bottom-aligned),
     row 2 = tag slot (reserved even when no tag exists) */
  display: grid;
  grid-template-rows: var(--logo-box-height) var(--marquee-tag-slot);
  justify-items: center;
  align-items: end;
  row-gap: var(--marquee-logo-row-gap);
  flex-shrink: 0;
  /* Uniform item slots keep inter-logo spacing visually even. */
  min-width: var(--marquee-logo-width);
  width: var(--marquee-logo-width);
  overflow: visible;
}

.logo-item.is-hidden {
  display: none;
}

.logo-item--scale2 {
  --logo-scale: 1;
  --logo-box-height: var(--marquee-logo-box-height);
}

.logo-item--boost {
  --logo-scale: 1;
}

.logo-item--boost-lg {
  --logo-scale: 1;
}

.logo-item--behind {
  position: relative;
  z-index: 0;
}

.logo-item img {
  grid-row: 1;
  align-self: end;
  height: var(--marquee-logo-height);
  width: var(--marquee-logo-width);
  max-width: var(--marquee-logo-width);
  object-fit: contain;
  filter: none;
  opacity: 1;
  transform: none;
  transform-origin: 50% 100%;
  transition: transform var(--transition-base);
}

.logo-item--case-link img {
  cursor: pointer;
}

.logo-item--case-link {
  cursor: pointer;
}

.logo-item:hover img {
  transform: none;
}

/* Larger logos for Chaayos, Mokobara, Kanmo */
.logo-item--lg img {
  /* Keep consistent sizing across all logos */
  height: var(--marquee-logo-height);
  max-width: var(--marquee-logo-width);
}

.logo-item__tag {
  grid-row: 2;
  justify-self: center;
  align-self: start;
  font-size: 10px;
  font-weight: 500;
  color: var(--blue);
  text-transform: capitalize;
  letter-spacing: 0.02em;
  background: rgba(0, 51, 255, 0.12);
  border: 1px solid rgba(0, 51, 255, 0.18);
  padding: 3px 8px;
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  pointer-events: auto;
}

.logo-item__tag:hover,
.logo-item__tag:focus-visible {
  background: rgba(0, 51, 255, 0.12);
  border-color: rgba(0, 51, 255, 0.18);
}

.logo-item--with-testimonial {
  position: relative;
}

.logo-item__testimonial {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%);
  width: min(320px, 86vw);
  background: rgba(17, 20, 38, 0.96);
  color: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease;
  z-index: 30;
  pointer-events: none;
}

.logo-item__testimonial::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(17, 20, 38, 0.96);
}

.logo-item--with-testimonial:hover .logo-item__testimonial,
.logo-item--with-testimonial:focus-within .logo-item__testimonial {
  opacity: 0;
  visibility: hidden;
}

/* Stats bar */
.stats {
  position: relative;
  width: 100%;
  margin-top: 10px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  background: #fff;
  border-bottom: 1px solid rgba(212, 214, 226, 0.6);
}

/* Mobile: make section divider lines barely visible */
@media (max-width: 640px) {
  .stats {
    border-bottom-color: rgba(212, 214, 226, 0.14);
  }
}
.stats__image {
  width: 120%;
  max-width: 1728px;
  height: auto;
  display: block;
  object-fit: contain;
}

.stats__image--mobile {
  display: none;
}

.stats__image--desktop {
  display: block;
}

/* Mobile Stats Layout */
.stats__mobile {
  display: none;
  flex-direction: column;
  align-items: center;
  padding: 44px 0;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

/* Keep title/pill padded, let cards go edge-to-edge */
.stats__mobile > :not(.stats__mobile-cards) {
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.stats__mobile-title {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* Figma typography */
  font-size: 30px;
  font-weight: 500; /* Nohemi Medium */
  line-height: 35px;
  letter-spacing: 0;
  text-transform: capitalize;
  color: #6b6b6b;
  margin: 0 0 20px;
}

.stats__mobile-title--gradient {
  /* Figma gradient */
  background: linear-gradient(90deg, #0033ff 28.846%, #8280ff 56.25%, #0033ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: 600; /* Nohemi SemiBold */
}

.stats__mobile-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  border: 1px solid #e0e0e0;
  border-radius: 50px;
  background: #fff;
  color: #6b6b6b;
  margin-bottom: 40px;
}

.stats__mobile-pill span {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* Figma typography */
  font-size: 9.6px;
  font-weight: 500;
  line-height: 1;
  color: #6b6b6b;
}

.stats__mobile-pill-dot {
  width: 6px;
  height: 6px;
  background: var(--blue);
  border-radius: 50%;
  flex-shrink: 0;
}

.stats__mobile-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.stats__mobile-cta {
  margin-top: 22px;
  display: flex;
  justify-content: center;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.stats__mobile-card {
  background: #fff;
  border: none;
  /* Figma shadow */
  box-shadow: 1px 0px 10.6px 3px rgba(117, 117, 117, 0.1);
  border-radius: 20px;
  padding: 32px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.stats__mobile-card-value {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* Figma typography */
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  color: #0033ff;
  letter-spacing: 0;
}

.stats__mobile-card-label {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* Figma typography */
  font-size: 12px;
  font-weight: 400;
  line-height: 15px;
  color: #555;
}

/* Single-testimonial block (industry pages) */
.testimonials--single {
  padding: 40px 0;
  background: #fff;
  border-bottom: none;
}

/* Industry pages: remove global testimonials background image overlay */
.testimonials--single::before {
  content: none;
}

.testimonials--single .testimonials__single {
  display: flex;
  justify-content: center;
}

.testimonials--single .quote-card {
  width: min(560px, 100%);
}

/* Industry pages: keep single testimonial on solid white (no gradient/blur tint) */
.testimonials--single .quote-card,
.testimonials--single .quote-card__content,
.testimonials--single .quote-card__meta {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Industry pages: small 3-logo strip above contact form */
.industry-logo-strip {
  padding: 10px 0 22px;
  background: #fff;
}

.industry-logo-strip__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 56px;
  flex-wrap: nowrap;
}

.industry-logo-strip__logo {
  height: 28px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  display: block;
}

.industry-logo-strip__logo.is-hidden {
  display: none;
}

@media (max-width: 480px) {
  .industry-logo-strip__inner { gap: 28px; }
  .industry-logo-strip__logo { height: 24px; max-width: 96px; }
}

.cs-highlights__logo.is-hidden,
.who__logos img.is-hidden {
  display: none;
}

/* Industry pages: mobile testimonial card (match Figma node 1356:25598) */
@media (max-width: 640px) {
  .testimonials--single .quote-card {
    width: 266px;
    max-width: 266px;
    height: 304px;
    border-radius: 26.4px;
    border: 0.88px solid #d9d9d9;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
  }

  .testimonials--single .quote-card__content {
    height: 230px;
    min-height: 230px;
    flex: none;
    background: #fff;
    padding: 34px 18px 28px;
    display: block;
    position: relative;
    overflow: hidden;
    border-bottom: 0.88px solid #d9d9d9;
  }

  /* Replace image quotes with Figma-style quote marks */
  .testimonials--single .quote-card__content::before,
  .testimonials--single .quote-card__content::after {
    background-image: none;
    width: auto;
    height: auto;
    opacity: 1;
  }

  .testimonials--single .quote-card__content::before {
    content: "“";
    top: 8px;
    left: 10px;
    right: auto;
    bottom: auto;
    position: absolute;
    font-family: "Montez", cursive;
    font-size: 84.48px;
    line-height: 1;
    color: #2f2f2f;
    pointer-events: none;
  }

  .testimonials--single .quote-card__content::after {
    content: "“";
    bottom: 6px;
    right: 10px;
    left: auto;
    top: auto;
    position: absolute;
    font-family: "Montez", cursive;
    font-size: 84.48px;
    line-height: 1;
    color: #2f2f2f;
    transform: rotate(180deg);
    transform-origin: center;
    pointer-events: none;
  }

  .testimonials--single .quote-card p {
    font-size: 12.32px;
    line-height: 22px;
    color: #2f2f2f;
    display: block;
    padding: 0;
  }

  .testimonials--single .quote-card__meta {
    /* very light brand-blue tint behind author/logo row */
    background: rgba(0, 51, 255, 0.02);
    border-top: 0;
    border-radius: 0;
    padding: 14px 16px 16px;
    align-items: center;
  }

  .testimonials--single .quote-card__avatar {
    width: 39.6px;
    height: 39.6px;
    border-radius: 39px;
    background: #0033ff;
  }

  .testimonials--single .quote-card__author {
    gap: 10px;
  }

  .testimonials--single .quote-card__name {
    font-size: 14.08px;
    line-height: 17.6px;
    letter-spacing: 0.4224px;
    color: #000;
    font-weight: 500;
  }

  .testimonials--single .quote-card__role {
    font-size: 10.56px;
    line-height: 17.6px;
    letter-spacing: 0.3168px;
    color: #6b6b6b;
  }

  .testimonials--single .quote-card__brand-logos {
    max-width: none;
  }

  .testimonials--single .quote-card__brand-logo {
    height: 38.5px;
    max-width: 80px;
    width: auto;
  }
}

/* Services */
.services { padding: 70px 0; background: #fff; border-bottom: 1px solid rgba(212, 214, 226, 0.6); }
.service-card {
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(212, 214, 226, 0.6);
  box-shadow: none;
  padding: 60px 60px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 50px;
  margin-bottom: 34px;
}
.service-card__copy {
  padding-right: 20px;
}
.service-card--reverse .service-card__copy { order: 2; }
.kicker { 
  color: #2f2f2f; 
  letter-spacing: 0.48px; 
  font-size: 16px; 
  margin-bottom: 20px; 
  text-transform: uppercase; 
  font-weight: 600;
}
.service-card__title { 
  margin: 0 0 24px; 
  font-size: 48px; 
  line-height: 60px;
  letter-spacing: 0;
  color: var(--blue);
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
}
.bullets { 
  margin: 0; 
  padding-left: 0; 
  color: #4e4e4e; 
  position: relative;
  list-style: none;
}
.bullets::before {
  /* removed: connector line between bullet points */
  content: none;
}
.bullets li { 
  margin: 0;
  padding-left: 61px;
  padding-bottom: 29px;
  color: #4e4e4e;
  font-size: 16px;
  letter-spacing: 0.16px;
  text-transform: capitalize;
  line-height: 22.5px;
  position: relative;
}
.bullets li:first-child {
  padding-top: 0;
}
.bullets li:last-child {
  padding-bottom: 0;
}
.bullets li::before {
  content: '';
  position: absolute;
  left: 25px;
  top: 8px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--blue);
  z-index: 1;
}

/* Landing page Services: keep bullet lists to 3 items per card */
.services .service-card .bullets > li:nth-child(n + 4) {
  display: none;
}
.service-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
}

.service-card__media img { 
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 500px;
  border-radius: 18px;
  object-fit: contain;
}

/* AI Email Summary specific styles */
.AI-email-summary .kicker--ai-email {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  font-weight: 600;
}
.AI-email-summary .service-card__title--ai-email {
  color: var(--blue);
  line-height: 1.2;
}
.AI-email-summary .bullets--ai-email li {
  color: #2f2f2f;
}
.AI-email-summary .bullets--ai-email .bullet--shadow {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.map__mobile {
  display: none;
}

/* Map / 11,000+ section */
.map {
  padding: 80px 0 90px;
  background: #fff;
  position: relative;
  overflow: hidden;
  min-height: 0;
  border-bottom: 0;
}
.map__blur-bg {
  position: absolute;
  top: 130px;
  left: 140px;
  /* Avoid huge GPU blur (perf). Use a gradient glow instead. */
  filter: none;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(128, 125, 254, 0.22) 0%, rgba(128, 125, 254, 0) 70%);
  width: 520px;
  height: 520px;
  opacity: 1;
  z-index: 0;
}
.map__container {
  position: relative;
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0;
  padding-inline: var(--container-gutter);
  z-index: 1;
  display: grid;
  grid-template-areas:
    "card copy"
    "stats map";
  grid-template-columns: minmax(340px, 420px) minmax(0, 1fr);
  column-gap: clamp(40px, 6vw, 96px);
  /* Bring the "USED BY" block closer to the top row (match design) */
  row-gap: 28px;
  align-items: start;
}
.map__ui-card {
  grid-area: card;
  position: relative;
  width: min(387px, 100%);
  z-index: 2;
}
.map__ui-card-inner {
  border-radius: 30px;
  background-color: #fff;
  width: 100%;
  aspect-ratio: 387 / 343;
  box-shadow: 0 12px 24px rgba(0,0,0,.08);
  padding: 21px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.map__ui-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.map__upper-right {
  grid-area: copy;
  position: relative;
  width: 100%;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.map__title-text {
  /* Figma: 48px / 50px, tracking 1.44px, SemiBold */
  font-size: 48px;
  line-height: 50px;
  letter-spacing: 1.44px;
  text-transform: capitalize;
  font-weight: 600;
  color: #2f2f2f;
  margin-bottom: 16px;
}
.map__desc-text {
  /* Figma: 20px / 30px, tracking 0.6px */
  font-size: 20px;
  letter-spacing: 0.6px;
  line-height: 30px;
  width: 100%;
  max-width: 572px;
  margin-bottom: 14px;
}
.map__desc-amply {
  font-weight: 600;
  color: #0033ff;
}
.map__desc-normal {
  color: var(--muted);
}
.map__desc-ai {
  color: #0033ff;
  font-weight: 600;
}
.map__explore-link {
  /* Figma: 16px / 30px, tracking 0.48px, underlined */
  font-size: 16px;
  font-weight: 400;
  text-decoration: underline;
  letter-spacing: 0.48px;
  line-height: 30px;
  color: #0033ff;
  cursor: pointer;
  margin-top: 6px;
  transition: opacity 0.3s ease;
  text-transform: uppercase;
}
.map__explore-link:hover {
  opacity: 0.8;
}
.map__world-image {
  grid-area: map;
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  width: min(920px, 100%);
  max-width: 100%;
  height: auto;
  z-index: 1;
  justify-self: end;
}
.map__stats-wrapper {
  position: relative;
  width: fit-content;
  height: auto;
  margin-top: 20px;
  text-align: left;
  z-index: 2;
  align-self: flex-start;
}
.map__get-started-btn {
  position: relative;
  width: 200px;
  min-width: 200px;
  height: 57.5px;
  padding: 0 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
}
.map__btn-bg {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 43.636px;
  background: #fff;
  border: 1.875px solid #0033ff;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.map__get-started-btn:hover .map__btn-bg {
  transform: scale(1.02);
  box-shadow: 0 4px 12px rgba(0, 51, 255, 0.2);
}
.map__btn-text {
  position: relative;
  letter-spacing: 0.6px;
  font-size: 20px;
  color: #0033ff;
  font-weight: 400;
  z-index: 1;
  line-height: 50px;
  text-align: center;
}
.map__btn-icon {
  position: relative;
  width: 15px;
  height: 15px;
  z-index: 1;
  display: block;
  filter: invert(13%) sepia(100%) saturate(7483%) hue-rotate(228deg) brightness(101%) contrast(144%);
  flex-shrink: 0;
  object-fit: contain;
}
.map__stats {
  grid-area: stats;
  position: relative;
  top: auto;
  left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 2;
  max-width: 580px;
  box-sizing: border-box;
  /* Nudge into a more "anchored" position under the left card */
  padding-top: 8px;
}
.map__stat-kicker {
  /* Figma: 40px / 50px, Nohemi Medium */
  font-size: 40px;
  line-height: 50px;
  text-transform: uppercase;
  font-weight: 500;
  color: #2f2f2f;
  margin-bottom: 6px;
  font-family: 'Nohemi', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
.map__stat-value-wrapper {
  /* Figma: 128px Montserrat SemiBold */
  font-size: 128px;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 600;
  color: #0033ff;
  font-family: 'Montserrat', sans-serif;
  margin: 6px 0 2px;
  letter-spacing: 0;
}
.map__stat-value {
  font-size: inherit;
  line-height: 1;
  font-weight: inherit;
  color: #0033ff;
  text-transform: uppercase;
  letter-spacing: 0;
}
.map__stat-sub {
  /* Figma: 40px / 50px, Nohemi Medium */
  font-size: 40px;
  line-height: 50px;
  text-transform: uppercase;
  font-weight: 500;
  color: #2f2f2f;
  margin-top: 0;
  font-family: 'Nohemi', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}

/* Testimonials */
.testimonials {
  padding: 70px 0;
  background: #fff;
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid rgba(212, 214, 226, 0.6);
}
.testimonials::before {
  content: none;
}
.testimonials .container {
  position: relative;
  z-index: 1;
}

/* Landing page: testimonials should be edge-to-edge on mobile too (no container padding). */
@media (max-width: 1023.98px) {
  body.landing .testimonials .container {
    padding-inline: 0;
  }
}
.testimonials__wrapper {
  display: flex;
  flex-direction: column;
  gap: 26px;
  padding: 0 120px;
  position: relative;
  width: calc(100% + 240px);
  margin-left: -120px;
  max-width: none;
}

/* Desktop: full-bleed testimonials (edge-to-edge) */
@media (min-width: 1024px) {
  .testimonials .container {
    max-width: none;
    width: 100%;
    padding-inline: 0;
  }
  .testimonials__wrapper {
    padding: 0;
    width: 100%;
    margin-left: 0;
  }
}
.testimonials__row {
  overflow: hidden;
  width: 100%;
  position: relative;
  mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}
.testimonials__row::before,
.testimonials__row::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 200px;
  z-index: 10;
  pointer-events: none;
}
.testimonials__row::before {
  left: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.95) 30%, transparent 100%);
}
.testimonials__row::after {
  right: 0;
  background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.95) 30%, transparent 100%);
}

/* Desktop: remove edge blur/fade overlays */
@media (min-width: 1024px) {
  .testimonials__row {
    mask-image: none;
    -webkit-mask-image: none;
  }
  .testimonials__row::before,
  .testimonials__row::after {
    content: none;
  }
}
.testimonials__row-inner {
  display: flex;
  gap: 26px;
  width: fit-content;
  position: relative;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.testimonials__row--top .testimonials__row-inner {
  animation: scroll-right 95s linear infinite;
  will-change: transform;
}
.testimonials__row--bottom .testimonials__row-inner {
  animation: scroll-left 108s linear infinite;
  will-change: transform;
}

/* ── Marquee card GPU hardening ──
   Inside the CSS-animated row-inner the PARENT is the only layer that needs
   GPU promotion.  Per-card backdrop-filter, filter, will-change and transitions
   each create extra compositing layers that cause text pixelation on integrated
   GPUs (Intel UHD, Apple M-series iGPU) during the transform animation. */
.testimonials:not(.testimonials--slider):not(.testimonials--single) .quote-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
  will-change: auto !important;
  transition: none !important;
  background: rgba(255, 255, 255, 0.92);
}
.testimonials:not(.testimonials--slider):not(.testimonials--single) .quote-card--blurred,
.testimonials:not(.testimonials--slider):not(.testimonials--single) .quote-card--focused {
  filter: none !important;
  opacity: 1 !important;
}
.testimonials:not(.testimonials--slider):not(.testimonials--single) .quote-card:hover {
  transform: none;
  box-shadow: 0 12px 24px rgba(0,0,0,.04);
}
.testimonials:not(.testimonials--slider):not(.testimonials--single) .quote-card__avatar {
  transition: none !important;
}
.testimonials:not(.testimonials--slider):not(.testimonials--single) .quote-card__avatar-img {
  image-rendering: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.testimonials:not(.testimonials--slider):not(.testimonials--single) .quote-card:hover .quote-card__avatar {
  transform: none;
}

/* Pause marquee on hover (desktop) — accessibility best practice */
@media (min-width: 1024px) {
  .testimonials__row:hover .testimonials__row-inner {
    animation-play-state: paused;
  }
}

/* Respect prefers-reduced-motion — stop marquee entirely */
@media (prefers-reduced-motion: reduce) {
  .testimonials__row-inner {
    animation: none !important;
  }
}
@keyframes scroll-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes scroll-left {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
.quote-card {
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(217, 217, 217, 0.6);
  border-radius: 30px;
  padding: 0;
  box-shadow: 0 12px 24px rgba(0,0,0,.04);
  width: 432px;
  max-width: 432px;
  height: 290px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease, opacity 0.3s ease;
  position: relative;
  z-index: 1;
  filter: blur(0px);
  opacity: 1;
  overflow: hidden;
}

/* Smooth swap animation for auto-rotating testimonials (carousel feel) */
.quote-card {
  will-change: transform, opacity;
}

.quote-card--swap-out {
  opacity: 0;
  transform: translateX(-18px);
}

.quote-card--swap-in {
  opacity: 0;
  transform: translateX(18px);
}
/* Blur effect for side cards */
.quote-card--blurred {
  filter: blur(2px);
  opacity: 0.7;
}
/* Focus effect for center cards */
.quote-card--focused {
  filter: blur(0px);
  opacity: 1;
}
.quote-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(0,0,0,.08);
}
.quote-card--highlight { background: rgba(255, 255, 255, 0.72); }
.quote-card__content {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 30px 30px 0 0;
  padding: 44px 30px 30px;
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 180px;
}
.quote-card__content::before {
  content: '';
  position: absolute;
  top: 15px;
  left: 20px;
  width: 18px;
  height: 18px;
  background-image: url('assets/up_quote.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.8;
}
.quote-card__content::after {
  content: '';
  position: absolute;
  bottom: 15px;
  right: 20px;
  width: 18px;
  height: 18px;
  background-image: url('assets/down_quote.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.8;
}
.quote-card p {
  margin: 0;
  color: #2f2f2f;
  line-height: 1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
  flex: 1;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  position: relative;
  z-index: 1;
}
.quote-card__meta {
  background: rgba(245, 245, 245, 0.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 0 0 30px 30px;
  padding: 18px 26px 22px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  margin-top: 0;
}
.quote-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.quote-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  position: relative;
  overflow: hidden;
  background: #0033FF;
  display: flex;
  align-items: center;
  justify-content: center;
}

.quote-card__avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.quote-card__avatar-initials {
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  line-height: 1;
  position: relative;
}
.quote-card:hover .quote-card__avatar {
  transform: scale(1.05);
}
.quote-card__author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.quote-card__name {
  font-weight: 600;
  color: var(--text);
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.quote-card__role {
  color: var(--muted);
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.quote-card__brand-logos {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
  max-width: 160px;
}

.quote-card__brand-logo {
  height: 26px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  display: block;
  filter: none;
  opacity: 1;
}

/* Hagkaup logo now uses the clean source asset. */
.quote-card__brand-logo[alt="Hagkaup"] {
  background: transparent;
  padding: 0;
  border-radius: 0;
}

.quote-card__brand-logos--double .quote-card__brand-logo {
  height: 22px;
  max-width: 110px;
}
.quote-card__brand {
  background: #fff;
  color: #ff6b35;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 6px 12px;
  border: 1.5px solid #ff6b35;
  border-radius: 8px;
  white-space: nowrap;
  align-self: flex-end;
  flex-shrink: 0;
  line-height: 1.2;
}
.testimonials__cta { display: flex; justify-content: center; margin-top: 30px; }

/* Customer Stories: slideable marquee testimonials */
.testimonials--slider .testimonials__row {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  scroll-behavior: auto;
  padding-bottom: 6px;
  /* no edge fade */
  mask-image: none;
  -webkit-mask-image: none;
}

.testimonials--slider .testimonials__row::before,
.testimonials--slider .testimonials__row::after {
  content: none;
}

.testimonials--slider .testimonials__row-inner {
  animation: none !important;
  will-change: transform;
  padding-inline: 2px;
}

.testimonials--slider .quote-card {
  scroll-snap-align: start;
}

/* disable blur/focus treatment for slider */
.testimonials--slider .quote-card--blurred,
.testimonials--slider .quote-card--focused {
  filter: none;
  opacity: 1;
}

.testimonials--slider .testimonials__row::-webkit-scrollbar {
  display: none;
}
.testimonials--slider .testimonials__row {
  scrollbar-width: none;
}

.testimonials--slider .testimonials__slider-status {
  display: flex;
  justify-content: center;
  padding: 10px 0 0;
}

.testimonials--slider .testimonials__slider-track {
  /* Match landing-page SOP dots style (3 grey dots + blue pill) */
  position: relative;
  width: 60px;
  height: 8px;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(0, 0, 0, 0.08) 58%, transparent 60%) 0 50%/8px 8px no-repeat,
    radial-gradient(circle, rgba(0, 0, 0, 0.08) 58%, transparent 60%) 50% 50%/8px 8px no-repeat,
    radial-gradient(circle, rgba(0, 0, 0, 0.08) 58%, transparent 60%) 100% 50%/8px 8px no-repeat;
  border: 0;
  overflow: visible;
}

.testimonials--slider .testimonials__slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 8px;
  width: 26px; /* SOP active-pill width */
  border-radius: 999px;
  background: var(--blue);
  transform: translateX(calc(var(--p) * (60px - 26px)));
  transition: transform 120ms ease-out;
  will-change: transform;
}

@media (max-width: 980px) {
  /* Testimonial adjustments removed as they are now in the 1024px query */
}

/* WHO WE SERVE */
.who {
  padding: 60px 0 50px;
  background: #fff;
  border-bottom: 1px solid rgba(212, 214, 226, 0.6);
}

.who .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.who__pill {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 26px;
  border-radius: 999px;
  border: 1px solid rgba(29, 29, 29, 0.12);
  background: #fff;
  color: var(--text);
  font-weight: 500;
  letter-spacing: 0.02em;
  margin: 0 auto 34px;
  width: fit-content;
}

.who__pill-dot {
  width: 10px;
  height: 10px;
  background: var(--blue);
  border-radius: 999px;
  flex-shrink: 0;
}

.who__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  gap: 48px;
  align-items: center;
  padding: 44px 0;
  width: 100%;
}

.who__item--reverse {
  grid-template-columns: minmax(360px, 520px) minmax(0, 1fr);
}

.who__item--reverse .who__media {
  order: -1;
}

.who__heading {
  margin: 0 0 10px;
  font-size: 54px;
  line-height: 1.06;
  color: var(--blue);
  font-weight: 400;
  letter-spacing: 0;
}

.who__desc {
  margin: 0 0 16px;
  color: #01033e;
  line-height: 1.55;
  font-size: 20px;
  max-width: 640px;
}

.who__logos {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 10px 0 16px;
  flex-wrap: wrap;
}

.who__logos img {
  height: 20px;
  width: auto;
  max-width: 80px;
  object-fit: contain;
  opacity: 0.95;
}

.who__logos img.who__logo--2x {
  height: 40px;
  max-width: 160px;
}

.who__logos img.who__logo--4x {
  height: 80px;
  max-width: 320px;
}

/* Restaurants card: keep partner logos visually balanced */
.who__logos--restaurants img {
  height: 28px;
  max-width: 140px;
}

.who__logos--hospitality img {
  height: 28px;
  max-width: 140px;
}
.who__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 2px solid rgba(0, 51, 255, 0.7);
  color: var(--blue);
  font-weight: 600;
  background: #fff;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (hover: hover) {
  .who__btn:hover {
    background: var(--blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 51, 255, 0.22);
  }
}

.who__btn--disabled,
.who__btn[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
  border-color: rgba(0, 0, 0, 0.14);
  color: rgba(47, 47, 47, 0.55);
}

.who__btn-arrow {
  font-size: 18px;
  line-height: 1;
}

.who__media {
  width: 100%;
  height: clamp(240px, 22vw, 320px);
  border-radius: 18px;
  overflow: hidden;
  opacity: 1;
}

.who__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 18px;
}

.who__divider {
  width: 100%;
  height: 1px;
  background: rgba(29, 29, 29, 0.12);
  margin: 18px 0;
}

/* Ready-to-use SOPs */
.sops {
  padding: 70px 0 70px;
  background: #fff;
  border-top: 1px solid rgba(212, 214, 226, 0.22);
  border-bottom: 1px solid rgba(212, 214, 226, 0.6);
  overflow: hidden;
}

/* ========================================
   Customer Stories
   ======================================== */
.cs-page {
  /* Let the global soft page background show through (all non-landing pages). */
  background: transparent;
}

.cs-top {
  /* Tighten spacing between sticky nav and hero. */
  padding: 28px 0 18px;
  background: transparent;
}

.cs-top__inner {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.cs-hero {
  padding: 0;
  background: transparent;
}

.cs-hero__inner {
  text-align: center;
  max-width: 860px;
  margin-inline: auto;
}

.cs-hero__kicker {
  font-size: 14px;
  font-weight: 600;
  color: var(--blue);
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.cs-hero__title {
  margin: 0;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: 0;
  color: var(--text);
}

.cs-hero__title-gradient {
  display: inline-block;
  background: linear-gradient(90deg, var(--blue-2) 0%, #362bff 45%, var(--blue) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.cs-hero__subtitle {
  margin: 16px auto 34px;
  max-width: 520px;
  font-size: 15px;
  line-height: 22px;
  color: var(--muted);
  letter-spacing: 0.42px;
}

.cs-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  padding: 0 18px;
  height: 40px;
  box-shadow: 0px 5px 21.2px rgba(128, 125, 254, 0.2);
}

.cs-hero__cta-arrow { font-size: 18px; line-height: 1; }

/* Highlights tiles (top 2x2 grid) */
.cs-highlights {
  padding: 22px 0 26px;
  background: transparent;
}

/* Figma highlights frame (static staggered grid + divider lines) */
.cs-highlights__frame {
  --cs-tile: 179px;
  --cs-radius: 22.375px;
  --cs-gap: 26px;
  --cs-stagger: 21px;
  --cs-line: rgba(0, 0, 0, 0.08);
  --cs-marquee-dur: 18s;
  --cs-col-gap: 24px;
  --cs-loop-distance: calc((var(--cs-tile) * 4) + (var(--cs-gap) * 3));

  max-width: 420px;
  margin-inline: auto;
  background: #f7f7f7;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 24px;
  position: relative;
  padding: 22px 14px 22px;
}

/* center vertical divider */
.cs-highlights__frame::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-0.5px);
  background: var(--cs-line);
  pointer-events: none;
}

/* Two-column continuous vertical marquee (left up, right down) */
.cs-highlights__marquee {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: var(--cs-col-gap);
}

.cs-highlights__col {
  height: calc(var(--cs-tile) * 2 + var(--cs-gap));
  overflow: hidden;
  position: relative;
}

.cs-highlights__track {
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  will-change: transform;
}

.cs-highlights__col--left .cs-highlights__track {
  animation: cs-marquee-up var(--cs-marquee-dur) linear infinite;
}

.cs-highlights__col--right .cs-highlights__track {
  animation: cs-marquee-down var(--cs-marquee-dur) linear infinite;
}

.cs-highlights__track-inner {
  display: flex;
  flex-direction: column;
  /* Maintain gap at loop boundary (between duplicated stacks) */
  gap: var(--cs-gap);
  /* divider lines stay aligned with moving cards (visible in gaps) */
  background:
    linear-gradient(var(--cs-line) 1px, transparent 1px)
    0 calc(var(--cs-tile) + (var(--cs-gap) / 2)) / 100% calc(var(--cs-tile) + var(--cs-gap));
  background-repeat: repeat-y;
}

/* Stagger right column so its 2nd tile aligns with left's 1st */
.cs-highlights__col--right .cs-highlights__track-inner {
  transform: translateY(calc(-1 * (var(--cs-tile) + var(--cs-gap))));
}

.cs-highlights__stack {
  display: flex;
  flex-direction: column;
  gap: var(--cs-gap);
}

.cs-highlights__tile {
  height: var(--cs-tile);
  border-radius: var(--cs-radius);
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 0;
}

.cs-highlights__headline {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  color: #fff;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.26px;
}

.cs-highlights__headline strong {
  font-weight: 600;
  font-size: 15px;
}

.cs-highlights__sub {
  margin-top: 10px;
  font-size: 9px;
  line-height: 16px;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 0.27px;
}

.cs-highlights__logo {
  margin-top: 14px;
  height: 26px;
  width: auto;
  max-width: min(150px, 100%);
  object-fit: contain;
  /* always white logo */
  filter: brightness(0) invert(1);
}

.cs-highlights__logo--big {
  height: 34px;
  max-width: min(190px, 100%);
}

.cs-highlights__logo--chaayos {
  /* Desktop/Mac: reduce to ~70% of previous size. */
  height: 38px;
  max-width: min(213px, 100%);
}

.cs-highlights__logoWrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

/* ensure white logo stays visible on light tile */
.cs-highlights__tile--light .cs-highlights__logoWrap {
  background: #2f2f2f;
  border-radius: 12px;
  padding: 8px 10px;
}

.cs-highlights__tile--dark { background: #404040; }
.cs-highlights__tile--purple { background: #6c23ff; }
.cs-highlights__tile--green { background: #537735; }
.cs-highlights__tile--blue { background: #0033ff; }
.cs-highlights__tile--maroon { background: #6d2774; }
.cs-highlights__tile--orange { background: #ec7412; }
.cs-highlights__tile--red { background: #c41230; }
.cs-highlights__tile--gray { background: #808080; }

/* (legacy) if any light tiles remain elsewhere */
.cs-highlights__tile--light { background: #e9e9e9; }
.cs-highlights__tile--light .cs-highlights__headline,
.cs-highlights__tile--light .cs-highlights__sub { color: #2f2f2f; }

@keyframes cs-marquee-up {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, calc(-1 * var(--cs-loop-distance)), 0); }
}

@keyframes cs-marquee-down {
  0% { transform: translate3d(0, calc(-1 * var(--cs-loop-distance)), 0); }
  100% { transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .cs-highlights__col--left .cs-highlights__track,
  .cs-highlights__col--right .cs-highlights__track {
    animation: none;
    transform: none;
  }
  .cs-highlights__col--right .cs-highlights__track-inner {
    transform: none;
  }
}

/* Customer stories: static 3-row logo layout (no marquee motion) */
.cs-logos-static {
  padding: 6px 0 18px;
  background: #fff;
}

.cs-logos-static__rows {
  --cs-logo-box-height: 42px;
  --cs-tag-slot-height: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 26px;
}

.cs-logos-static__row {
  display: contents;
}

.cs-logos-static__item {
  min-height: calc(var(--cs-logo-box-height) + var(--cs-tag-slot-height) + 10px);
  display: grid;
  grid-template-rows: var(--cs-logo-box-height) var(--cs-tag-slot-height);
  align-items: start;
  justify-items: center;
  row-gap: 10px;
}

.cs-logos-static__item img {
  grid-row: 1;
  align-self: end;
  justify-self: center;
  height: 32px;
  width: auto;
  max-height: var(--cs-logo-box-height);
  max-width: min(170px, 100%);
  object-fit: contain;
}

/* Mobile: keep exactly 3 rows x 3 logos */
.cs-logos-static__item--desktop-only {
  display: none;
}

.cs-logos-static__tag {
  grid-row: 2;
  align-self: start;
  justify-self: center;
  font-size: 10px;
  font-weight: 500;
  color: var(--blue);
  background: rgba(0, 51, 255, 0.12);
  border: 1px solid rgba(0, 51, 255, 0.18);
  padding: 3px 8px;
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

.cs-logos-static__tag--available {
  color: var(--blue);
  background: rgba(0, 51, 255, 0.12);
  border-color: rgba(0, 51, 255, 0.18);
}

.cs-logos-static__tag--pending {
  color: #6f7687;
  background: #f0f2f6;
  border-color: #d3d8e3;
}

/* Tagged logo cells are intentionally non-interactive (no hover affordance). */
.cs-logos-static__item.has-case-tag,
.cs-logos-static__item.has-case-tag img {
  cursor: default;
}

.cs-logos-static__item.has-case-tag img,
.cs-logos-static__item.has-case-tag:hover img {
  transform: none !important;
  filter: none !important;
}

@media (min-width: 1024px) {
  .cs-logos-static .container {
    max-width: none;
    width: 100%;
    padding-left: clamp(24px, 4vw, 64px);
    padding-right: clamp(24px, 4vw, 64px);
  }

  .cs-logos-static {
    padding: 8px 0 24px;
  }

  .cs-logos-static__rows {
    --cs-logo-box-height: 48px;
    --cs-tag-slot-height: 20px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 34px 30px;
  }

  .cs-logos-static__row {
    display: contents;
  }

  .cs-logos-static__item--desktop-only {
    display: grid;
  }

  .cs-logos-static__item img {
    height: 36px;
    max-height: var(--cs-logo-box-height);
    max-width: 190px;
  }
}

/* Customer stories highlights: keep logo placement stable on narrow phones */
@media (max-width: 380px) {
  .cs-highlights__frame {
    --cs-tile: 196px;
    --cs-gap: 18px;
    --cs-col-gap: 16px;
    --cs-radius: 18px;
    padding: 16px 10px;
  }

  .cs-highlights__tile {
    padding: 14px 12px 12px;
  }

  .cs-highlights__headline {
    font-size: 11px;
    line-height: 15px;
    letter-spacing: 0.2px;
  }

  .cs-highlights__headline strong {
    font-size: 13px;
  }

  .cs-highlights__sub {
    margin-top: 8px;
    font-size: 8px;
    line-height: 13px;
  }

  .cs-highlights__logoWrap {
    max-width: 100%;
    display: flex;
    align-self: flex-start;
  }

  .cs-highlights__logo {
    margin-top: 10px;
    height: 20px;
    max-width: 100%;
  }

  .cs-highlights__logo--big {
    height: 24px;
    max-width: 100%;
  }

  .cs-highlights__logo--chaayos {
    height: 30px;
    max-width: 100%;
  }
}

/* Customer stories mobile highlights: keep logo sizes uniform and inside cards */
@media (max-width: 767px) {
  .cs-highlights__logo,
  .cs-highlights__logo--big,
  .cs-highlights__logo--chaayos {
    height: 22px;
    max-width: 100%;
  }
}

.cs-stories {
  padding: 18px 0 40px;
  background: #fff;
}

.cs-stories__title {
  margin: 0 0 18px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 30px;
  line-height: 36px;
  letter-spacing: 0.2px;
  color: #2f2f2f;
  text-align: center;
}

.cs-stories__heart {
  color: var(--blue);
}

.cs-stories__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.cs-stories__controls {
  display: flex;
  justify-content: flex-start;
  margin: 14px 0 12px;
  width: 100%;
}

.cs-type-toggle {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(212, 214, 226, 0.95);
  background: rgba(244, 246, 250, 0.95);
  box-shadow: 0 10px 22px rgba(17, 24, 39, 0.04) inset;
  /* space for the right fade/chevron affordance */
  padding-right: 34px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.cs-type-toggle[data-scrollable="true"]::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  bottom: 4px;
  width: 22px;
  border-radius: 999px;
  background: linear-gradient(to right, rgba(244, 246, 250, 0.95), rgba(244, 246, 250, 0));
  opacity: 0;
  transition: opacity var(--transition-fast);
  pointer-events: none;
  z-index: 2;
}

.cs-type-toggle[data-scrollable="true"]::after {
  content: "›";
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  height: calc(100% - 8px);
  width: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  color: rgba(0, 51, 255, 0.65);
  background: linear-gradient(to right, rgba(244, 246, 250, 0), rgba(244, 246, 250, 0.95) 55%, rgba(244, 246, 250, 0.95));
  opacity: 1;
  transition: opacity var(--transition-fast);
  pointer-events: none;
  z-index: 2;
}

.cs-type-toggle[data-scrollable="true"][data-at-start="false"]::before { opacity: 1; }
.cs-type-toggle[data-scrollable="true"][data-at-end="true"]::after { opacity: 0; }

.cs-type-scroll {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  min-width: 0;
  flex: 1 1 0;
  padding-right: 6px;
  scroll-snap-type: x proximity;
}
.cs-type-scroll::-webkit-scrollbar { display: none; }

.cs-type-slider {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  width: 64px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 10px 24px rgba(17, 24, 39, 0.08),
    0 1px 0 rgba(17, 24, 39, 0.06);
  transform: translateX(0);
  transition: transform 260ms var(--transition-slow), width 260ms var(--transition-slow);
  will-change: transform, width;
  pointer-events: none;
  z-index: 1;
}

.cs-type-tab {
  appearance: none;
  position: relative;
  z-index: 2;
  border: 0 !important;
  background: transparent !important;
  color: rgba(47, 47, 47, 0.82);
  padding: 10px 14px;
  border-radius: 999px;
  font: inherit;
  font-weight: 500;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  scroll-snap-align: center;
  transition: color var(--transition-fast), opacity var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}

.cs-type-toggle[data-scrollable="true"] .cs-type-scroll {
  /* keep last label readable under chevron fade */
  padding-right: 34px;
  cursor: ew-resize;
}

.cs-type-tab--pinned {
  flex: 0 0 auto;
}

.cs-type-tab.is-active {
  color: var(--blue);
  opacity: 0.98;
}

.cs-type-tab.is-active {
  /* Fallback highlight (in case slider mis-measures on some browsers) */
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow:
    0 10px 24px rgba(17, 24, 39, 0.08),
    0 1px 0 rgba(17, 24, 39, 0.06);
}

.cs-type-tab:hover {
  color: rgba(0, 51, 255, 0.82);
}

.cs-type-tab:focus-visible {
  outline: 2px solid rgba(0, 51, 255, 0.5);
  outline-offset: 2px;
}

.cs-stories__empty {
  margin: 0;
  padding: 10px 0 2px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
}

.cs-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 0 2px;
}

.cs-pagination__pages {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cs-pagination__btn {
  appearance: none;
  border: 1px solid rgba(212, 214, 226, 1);
  background: #fff;
  color: rgba(47, 47, 47, 0.9);
  height: 36px;
  min-width: 36px;
  padding: 0 12px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);
}

.cs-pagination__btn:hover {
  border-color: rgba(0, 51, 255, 0.22);
  background: rgba(0, 51, 255, 0.06);
  color: var(--blue);
}

.cs-pagination__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.cs-pagination__page {
  appearance: none;
  border: 1px solid rgba(212, 214, 226, 1);
  background: #fff;
  color: rgba(47, 47, 47, 0.9);
  height: 36px;
  min-width: 36px;
  padding: 0 12px;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  font-size: 13px;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.cs-pagination__page:hover {
  border-color: rgba(0, 51, 255, 0.22);
  background: rgba(0, 51, 255, 0.06);
  color: var(--blue);
}

.cs-pagination__page.is-active {
  border-color: rgba(0, 51, 255, 0.22);
  background: rgba(0, 51, 255, 0.10);
  color: var(--blue);
}

.cs-pagination__ellipsis {
  color: rgba(47, 47, 47, 0.55);
  font-weight: 600;
  padding: 0 4px;
}

.cs-story {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 24px;
  overflow: hidden;
}

.cs-story--featured {
  grid-column: 1 / -1;
}

.cs-story__featured {
  display: grid;
  grid-template-columns: 1fr;
}

.cs-story__featured-media {
  background: #f3f3f3;
}

.cs-story__featured-media img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
}

.cs-story__featured-body {
  padding: 18px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cs-story__pills {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.cs-story__pill {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.1px;
  font-weight: 500;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.85);
  color: rgba(47, 47, 47, 0.85);
}

.cs-story__pill--news {
  background: rgba(0, 51, 255, 0.08);
  border-color: rgba(0, 51, 255, 0.16);
  color: var(--blue);
}

.cs-story__pill--type {
  background: rgba(83, 119, 53, 0.1);
  border-color: rgba(83, 119, 53, 0.18);
  color: #2b5a2a;
}

.cs-story__title--featured {
  margin: 0;
}

.cs-story__desc--featured {
  margin: 0;
}

.cs-story__footer--featured {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cs-story__read {
  color: var(--blue);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.cs-story__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

/* Customer Stories listing cards: keep the footer/arrow aligned across rows */
.cs-story:not(.cs-story--featured) .cs-story__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.cs-story:not(.cs-story--featured) .cs-story__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100%;
}

.cs-story:not(.cs-story--featured) .cs-story__footer {
  margin-top: auto;
}

.cs-story__link:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 4px;
  border-radius: 24px;
}

.cs-story__link:hover .cs-story__arrow {
  border-color: rgba(0, 51, 255, 0.22);
  background: rgba(0, 51, 255, 0.06);
}

.cs-story__image {
  border-radius: 16px;
  overflow: hidden;
  margin: 14px 0 14px;
}

.cs-story__image img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
}

.cs-story__body {
  padding: 18px 16px 16px;
}

.cs-story__brand {
  height: 30px;
  width: auto;
  object-fit: contain;
}

.cs-story__title {
  margin: 0 0 10px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 32px;
  color: #111;
  letter-spacing: 0.02em;
}

/* Keep blue as an accent on hover/focus, not default */
.cs-story__link:hover .cs-story__title,
.cs-story__link:focus-visible .cs-story__title {
  color: var(--blue);
}

.cs-story__desc {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.1px;
  color: var(--text);
}

.cs-story__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px dashed rgba(217, 217, 217, 0.95);
}

.cs-story__footer-left {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.cs-story__meta {
  font-size: 12px;
  line-height: 18px;
  color: #6b6b6b;
  letter-spacing: 0.1px;
  font-weight: 500;
}

.cs-story__arrow {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  background: #fff;
  display: grid;
  place-items: center;
  color: var(--blue);
  text-decoration: none;
  font-size: 20px;
}

/* Customer Story detail page (Chaayos) */
.cs-post {
  /* Let the global soft page background show through (all non-landing pages). */
  background: transparent;
}

.cs-post__body {
  padding: 6px 0 22px;
}

.cs-post__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
}

/* Widescreen only: show left sidebar */
@media (min-width: 1100px) {
  .cs-post__layout {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 46px;
  }
}

.cs-post__content {
  min-width: 0;
}

.cs-post__sidebar {
  min-width: 0;
  display: none;
}

@media (min-width: 1100px) {
  .cs-post__sidebar {
    display: block;
    position: sticky;
    top: 150px; /* fixed header offset */
    align-self: start;
  }
}

.cs-post__sidebar-card {
  border: 1px solid rgba(212, 214, 226, 0.95);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
  padding: 16px 16px 14px;
}

.cs-post__sidebar-kicker {
  font-size: 10px;
  letter-spacing: 0.28em;
  font-weight: 600;
  color: rgba(47, 47, 47, 0.7);
}

.cs-post__sidebar-title {
  margin: 10px 0 8px;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0.2px;
  color: #111;
}

.cs-post__sidebar-nav {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.cs-post__sidebar-divider {
  height: 1px;
  background: rgba(217, 217, 217, 0.95);
  margin: 14px 0 12px;
}

.cs-post__sidebar-subtitle {
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  color: #111;
  margin: 0 0 10px;
}

.cs-post__sidebar-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

/* Default: show only 3 items; JS will randomize/reorder */
.cs-post__sidebar-list[data-random-stories] > li:nth-child(n+4) {
  display: none;
}

.cs-post__sidebar-link {
  color: rgba(17, 17, 17, 0.88);
  text-decoration: none;
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
}

.cs-post__sidebar-link:hover {
  color: var(--blue);
}

.cs-post__breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  row-gap: 8px;
  margin: 0 auto 10px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.3px;
  color: #111;
}

.cs-post__crumb {
  color: inherit;
}

.cs-post__crumb--pill {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 12px;
  border-radius: 999px;
  border: 0.8px solid var(--blue);
  text-decoration: none;
  background: #fff;
}

.cs-post__sep {
  opacity: 0.9;
}

.cs-post__crumb--current {
  font-weight: 500;
  min-width: 0;
  overflow-wrap: anywhere;
}

.cs-post__hero {
  /* Use vertical padding without overriding `.container` gutters */
  padding-top: 8px;
  padding-bottom: 8px;
}

.cs-post__title {
  margin: 0 0 16px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: -0.02em;
  color: #111;
}

.cs-post__hero-image {
  width: 100%;
  max-width: 980px;
  border-radius: 18px;
  overflow: hidden;
  margin: 18px auto 0;
  background: #f3f3f3;
}

.cs-post__hero-image img {
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 1100px) {
  .cs-post__title {
    font-size: 44px;
    line-height: 50px;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
  }
}

.cs-post__lede {
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 0.7px;
  color: #1d1d1d;
}

.cs-post__stats {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  border-top: 1px solid rgba(217, 217, 217, 0.95);
  padding-top: 16px;
}

.cs-post__stat {
  margin: 0;
}

.cs-post__stat-value {
  margin: 0;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 0.6px;
  color: #404040;
}

.cs-post__stat-label {
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 19.8px;
  letter-spacing: 0.3px;
  color: #111;
}

.cs-post__stat-accent {
  color: var(--blue);
}

.cs-post__stat-arrow {
  display: inline-block;
  transform: translateY(-1px);
  color: var(--blue);
}

.cs-post__section {
  padding: 20px 0;
}

.cs-post__h2 {
  position: relative;
  margin: 0 0 12px;
  padding-left: 14px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0.32px;
  color: #000;
}

.cs-post__related {
  margin-top: 12px;
}

.cs-story--related {
  max-width: 420px;
  margin: 0 auto;
}

.cs-story__title--related {
  font-weight: 500;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: 0.02em;
}

.cs-post__h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 2px;
  height: 20px;
  background: rgba(0, 0, 0, 0.14);
  border-radius: 2px;
}

.cs-post__h3 {
  margin: 16px 0 10px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.7px;
  color: #111;
}

.cs-post__p {
  margin: 0;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 0.7px;
  color: #404040;
}

.cs-post__p--black {
  color: #000;
}

.cs-post__list {
  margin: 0;
  padding-left: 22px;
  color: #404040;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 0.7px;
}

.cs-post__list--black {
  color: #000;
}

.cs-post__rich p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 0.7px;
  color: #404040;
}

.cs-post__accent {
  color: var(--blue);
}

/* Markdown-rendered content inside case studies / blogs */
.cs-md {
  margin-top: 0;
}

.cs-md > p:first-child {
  /* Treat first paragraph as lede (matches existing design) */
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 0.7px;
  color: #1d1d1d;
}

.cs-md h2 {
  position: relative;
  margin: 22px 0 12px;
  padding-left: 14px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0.32px;
  color: #000;
}

.cs-md h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 2px;
  height: 20px;
  background: rgba(0, 0, 0, 0.14);
  border-radius: 2px;
}

.cs-md h3 {
  margin: 16px 0 10px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.7px;
  color: #111;
}

.cs-md p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 0.7px;
  color: #404040;
}

.cs-md ul {
  margin: 0 0 12px;
  padding-left: 22px;
  color: #000;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 0.7px;
}

.cs-md li {
  margin: 0 0 6px;
}

/* Customer Stories CTA (before contact form) */
.cs-cta {
  padding: 22px 0 26px;
  background: #fff;
}

.cs-cta__inner {
  text-align: center;
  max-width: 560px;
}

.cs-cta__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  background: #fff;
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
}

.cs-cta__title {
  margin: 18px 0 10px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: 0.44px;
  color: var(--text);
}

.cs-cta__title-accent {
  color: var(--blue);
}

.cs-cta__sub {
  margin: 0 auto 16px;
  max-width: 520px;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.36px;
  color: var(--muted);
}

.cs-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: radial-gradient(120% 120% at 0% 0%, #807dfe 0%, #0033ff 55%, #807dfe 100%);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 12px;
  box-shadow: 0px 10px 26px rgba(128, 125, 254, 0.25);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (hover: hover) {
  .cs-cta__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(128, 125, 254, 0.38);
  }
}

.cs-love {
  padding: 22px 0 60px;
  background: #fafafa;
  border-top: 1px solid rgba(217, 217, 217, 0.5);
  border-bottom: 1px solid rgba(212, 214, 226, 0.6);
}

.cs-love__title {
  margin: 0 0 14px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: 0.44px;
  color: var(--text);
  text-align: center;
}

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

.cs-tile {
  border-radius: 22px;
  padding: 18px;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cs-tile__headline {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  color: #fff;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.26px;
}

.cs-tile__headline strong { font-weight: 600; font-size: 15px; }

.cs-tile__sub {
  margin-top: 10px;
  font-size: 9px;
  line-height: 16px;
  letter-spacing: 0.27px;
  color: rgba(255, 255, 255, 0.92);
}

.cs-tile__logo {
  margin-top: 14px;
  height: 28px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

.cs-tile__logo--invert {
  filter: brightness(0) invert(1);
}

.cs-tile--dark { background: #404040; }
.cs-tile--purple { background: #6c23ff; }
.cs-tile--green { background: #537735; }
.cs-tile--blue { background: #0033ff; }
.cs-tile--light {
  background: #e9e9e9;
}
.cs-tile--light .cs-tile__headline,
.cs-tile--light .cs-tile__sub {
  color: #2f2f2f;
}

/* Tablet: use space better than single-column */
@media (min-width: 768px) {
  .cs-stories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (min-width: 1024px) {
  .cs-top {
    padding: 96px 0 24px;
  }

  .cs-top__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 88px;
    align-items: center;
  }

  /* When hero + highlights sit side-by-side, remove their own vertical padding */
  .cs-top .cs-hero,
  .cs-top .cs-highlights {
    padding: 0;
  }

  .cs-hero__inner {
    text-align: left;
    max-width: 560px;
    margin-inline: 0;
  }

  .cs-hero__title {
    font-size: 64px;
    line-height: 68px;
    letter-spacing: -0.5px;
  }

  .cs-hero__subtitle {
    font-size: 17px;
    line-height: 26px;
    max-width: 460px;
    margin-left: 0;
    margin-right: 0;
  }

  .cs-highlights__frame {
    margin-inline: 0;
    max-width: 820px;
    padding: 26px 18px 26px;
    --cs-tile: 210px;
    --cs-gap: 28px;
    --cs-marquee-dur: 22s;
    --cs-col-gap: 32px;
  }

  .cs-stories__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
  }
  .cs-story__image img { height: 210px; }

  .cs-stories__controls {
    justify-content: flex-start;
    margin: 18px 0 16px;
  }

  .cs-type-tab {
    font-size: 14px;
    padding: 11px 16px;
  }

  .cs-type-toggle {
    width: 100%;
    max-width: 100%;
  }

  .cs-story__featured {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: stretch;
  }

  .cs-story__featured-media img {
    height: 100%;
    min-height: 320px;
  }

  .cs-story__featured-body {
    padding: 22px 22px 18px;
  }

  .cs-story__title--featured {
    font-size: 30px;
    line-height: 38px;
  }
  .cs-love__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cs-tile { min-height: 180px; }
}

/* Customer stories page: reduce gap before logos section */
.cs-page .logos {
  margin-top: 18px;
  padding-top: 10px;
}

.sops__header {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.sops__header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.sops__view-all-row {
  display: flex;
  justify-content: center;
  margin: 6px 0 0;
}

.sops__view-all {
  margin: 0;
  flex: 0 0 auto;
}

@media (max-width: 720px) {
  .sops__view-all-row {
    justify-content: flex-start;
    margin-bottom: 10px;
  }

  .sops__view-all {
    margin: 0;
  }
}

.sops__title {
  margin: 0;
  font-size: 44px;
  line-height: 1.1;
  font-weight: 600;
  color: var(--text);
}

.sops__title-accent {
  color: var(--blue);
}

.sops__subtitle {
  margin: 0 0 40px;
  color: var(--muted);
  font-size: 16px;
}

@media (max-width: 720px) {
  .sops__title {
    font-size: 36px;
    line-height: 1.05;
  }

  .sops__subtitle {
    margin-bottom: 40px;
  }
}

.sops__scroller {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: min(340px, 82vw);
  gap: 18px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: none;
  padding: 4px 0 18px;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  cursor: grab;
}
.sops__scroller:active {
  cursor: grabbing;
}

.sops__scroller::-webkit-scrollbar {
  display: none;
}

.sop-card {
  scroll-snap-align: none;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(0,0,0,0.06);
  border: 1px solid rgba(29, 29, 29, 0.06);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
  .sop-card:hover {
    box-shadow: 0 18px 50px rgba(0,0,0,0.12), 0 4px 16px rgba(0,0,0,0.08);
    transform: translateY(-3px);
  }
}

.sop-card__image {
  height: 170px;
  background: #eef0ff;
}

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

.sop-card__body {
  padding: 16px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sop-card__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.sop-card__title {
  font-weight: 600;
  color: var(--blue);
  font-size: 16px;
}

.sop-card__tag {
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(128, 125, 254, 0.14);
  color: #5a57ff;
  font-weight: 500;
  flex-shrink: 0;
}

.sop-card__byline {
  font-size: 12px;
  color: var(--muted);
  margin-top: -2px;
}

.sop-card__desc {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.5;
}

.sop-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
}

.sop-card__chip {
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(29, 29, 29, 0.12);
  color: #2f2f2f;
  background: #fff;
}

.sop-card__cta {
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 0;
  background: var(--blue);
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

@media (hover: hover) {
  .sop-card__cta:hover {
    background: #0028cc;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 51, 255, 0.25);
  }
}

/* ========================================
   SOP Knowledge Center page (/sop-template/)
   ======================================== */
.sop-kc {
  /* account for fixed header (top offset + nav height) */
  padding-top: 140px;
  background: transparent;
}

.sop-kc__hero {
  padding: 42px 0 14px;
}

.sop-kc__header {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.sop-kc__title {
  margin: 0 0 10px;
  font-size: 44px;
  line-height: 1.1;
  font-weight: 600;
  color: var(--text);
}

.sop-kc__subtitle {
  margin: 0;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.55;
}

.sop-kc__subtitle-muted {
  color: var(--muted);
}

.sop-kc__controls {
  margin-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.sop-kc__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sop-kc__filter {
  height: 36px;
  border: 1px solid rgba(0, 51, 255, 0.14);
  background: rgba(255, 255, 255, 0.85);
  color: var(--text);
  padding: 0 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.sop-kc__filter:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.sop-kc__filter.is-active {
  background: var(--blue);
  border-color: rgba(0, 51, 255, 0.40);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 51, 255, 0.18);
}

.sop-kc__filter:focus-visible {
  outline: 3px solid rgba(0, 51, 255, 0.22);
  outline-offset: 2px;
}

.sop-kc__search {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 46px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(0, 51, 255, 0.12);
  background: rgba(255, 255, 255, 0.90);
  box-shadow: 0 12px 32px rgba(0,0,0,0.06);
  max-width: 520px;
  flex: 1 1 320px;
}

.sop-kc__search-icon {
  color: rgba(47, 47, 47, 0.55);
  flex: 0 0 auto;
}

.sop-kc__search-input {
  width: 100%;
  height: 100%;
  border: 0;
  outline: 0;
  font-size: 14px;
  background: transparent;
  color: var(--text);
}

.sop-kc__search:focus-within {
  border-color: rgba(0, 51, 255, 0.32);
  box-shadow: 0 14px 36px rgba(0, 51, 255, 0.10);
}

.sop-kc__results {
  padding: 24px 0 10px;
}

.sop-kc__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.sop-kc__card.sop-card {
  scroll-snap-align: unset;
  transform: translateY(0);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.sop-kc__card .sop-card__image {
  height: 190px;
}

.sop-kc__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 62px rgba(0,0,0,0.10);
  border-color: rgba(0, 51, 255, 0.14);
}

.sop-kc__tag {
  align-self: flex-start;
  margin-bottom: 6px;
}

.sop-kc__card-title {
  font-size: 20px;
  line-height: 1.2;
  color: var(--text);
}

.sop-card__pdf {
  font-size: 12px;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(255, 59, 48, 0.12);
  color: #d92d20;
  border: 1px solid rgba(255, 59, 48, 0.18);
}

.sop-card__download {
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  letter-spacing: 0.2px;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.sop-card__download:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 51, 255, 0.22);
}

.sop-kc__empty {
  grid-column: 1 / -1;
  padding: 26px 18px;
  border-radius: 16px;
  border: 1px dashed rgba(29, 29, 29, 0.18);
  color: var(--muted);
  text-align: center;
}

.sop-kc__pagination {
  margin: 18px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.sop-kc__page-btn {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(29, 29, 29, 0.12);
  background: #fff;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  color: #2f2f2f;
  transition: all 0.2s ease;
}

@media (hover: hover) {
  .sop-kc__page-btn:hover:not(:disabled) {
    border-color: rgba(0, 51, 255, 0.4);
    color: var(--blue);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 51, 255, 0.1);
  }
}

.sop-kc__page-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.sop-kc__page-numbers {
  display: flex;
  gap: 8px;
}

.sop-kc__page-num {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(29, 29, 29, 0.12);
  background: #fff;
  cursor: pointer;
  font-weight: 700;
}

.sop-kc__page-num.is-active {
  background: var(--blue);
  color: #fff;
  border-color: rgba(0, 51, 255, 0.35);
}

@media (max-width: 1024px) {
  .sop-kc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sop-kc__title { font-size: 38px; }
}

@media (max-width: 640px) {
  .sop-kc { padding-top: 118px; }
  .sop-kc__hero { padding: 30px 0 6px; }
  .sop-kc__title { font-size: 32px; }
  .sop-kc__grid { grid-template-columns: 1fr; }
  .sop-kc__search { max-width: 100%; }
}

.sops__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
  margin-top: 10px;
}

/* No arrow buttons under cards (swipe/scroll instead) */
.sops__arrows {
  display: none;
}

.sops__dots {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.sops__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.08);
}

.sops__dot--active {
  width: 26px;
  background: var(--blue);
}

.sops__arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}

.sops__arrow {
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(0, 51, 255, 0.18);
  background: rgba(0, 51, 255, 0.08);
  color: var(--blue);
  font-size: 22px;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
  user-select: none;
}

/* Active only when pressed/clicked */
.sops__arrow:active,
.sops__arrow.is-active {
  background: linear-gradient(96.75deg, rgba(128,125,254,1) 7.743%, rgba(0,51,255,1) 48.86%, rgba(128,125,254,1) 95.963%);
  color: #fff;
  box-shadow: 0 14px 30px rgba(0, 51, 255, 0.22);
  transform: scale(1.02);
}

/* Contact */
.contact {
  padding: 70px 0;
  /* Keep the section visually continuous with the page background.
     The card itself stays white, so readability is preserved. */
  background: transparent;
  border-bottom: 0;
}
.contact-card {
  background: #fff;
  border-radius: 34px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 100%;
}
.contact-card__left {
  display: flex;
  flex-direction: column;
  padding-top: 12px;
  align-items: center;
  text-align: center;
}
.contact-card__form {
  display: flex;
  flex-direction: column;
}
.contact-card__title {
  margin: 0 0 8px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  color: var(--text);
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.contact-card__line { 
  display: flex; 
  gap: 12px; 
  align-items: stretch;
  justify-content: flex-start;
  width: auto;
  margin-top: 16px; 
  color: var(--muted); 
}
.contact-card__divider {
  width: 1px;
  height: auto;
  background: rgba(0, 0, 0, 0.16);
  flex-shrink: 0;
  align-self: stretch;
}
.contact-card__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 0;
  align-self: center;
  display: block;
}
.contact-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.5;
  min-width: 0;
  text-align: left;
  align-self: center;
}
.contact-card__content > div {
  margin: 0;
  padding: 0;
}
.contact-card__label {
  font-weight: 600;
  color: var(--text);
}
.contact-card__link,
.contact-card__link:visited {
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}
.contact-card__link:hover {
  color: var(--blue);
}

.contact-card__line--clickable {
  cursor: pointer;
}

.contact-card__line--clickable:focus-visible {
  outline: 2px solid rgba(0, 51, 255, 0.35);
  outline-offset: 6px;
  border-radius: 14px;
}
.icon { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; }
.field { display: grid; gap: 8px; margin-bottom: 20px; }
.field__label { 
  color: var(--text); 
  font-size: 16px; 
  font-weight: 500;
}
.field__input {
  height: 56px;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  padding: 0 16px;
  outline: none;
  background: #fff;
  color: var(--text);
  font-size: 16px;
  transition: border-color 0.3s ease;
}
.field__input:focus {
  border-color: var(--blue);
}

.field__input.is-error {
  border-color: rgba(220, 38, 38, 0.65);
}

.field__error {
  font-size: 12px;
  line-height: 1.25;
  color: rgba(220, 38, 38, 0.9);
}

.contact-form__error {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(220, 38, 38, 0.18);
  background: rgba(220, 38, 38, 0.06);
  color: rgba(140, 0, 0, 0.95);
  font-size: 14px;
}

.contact-success {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px 0;
}

.contact-success__title {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 22px;
  color: var(--text);
}

.contact-success__sub {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.contact-success__btn {
  margin-top: 6px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0, 51, 255, 0.35);
  background: #fff;
  color: var(--blue);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (hover: hover) {
  .contact-success__btn:hover {
    background: var(--blue);
    border-color: var(--blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 51, 255, 0.22);
  }
}

.site-toast {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 18px;
  z-index: 200000;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(17, 24, 39, 0.92);
  color: #fff;
  font-size: 14px;
  line-height: 1.35;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
  transform: translateY(16px);
  opacity: 0;
  pointer-events: none;
  transition: transform 220ms ease, opacity 220ms ease;
}

.site-toast.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.checkbox { 
  display: flex; 
  gap: 12px; 
  align-items: flex-start; 
  font-size: 14px; 
  color: var(--text); 
  margin: 20px 0 24px; 
  line-height: 1.5;
}
.checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: var(--blue);
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid rgba(102,102,102,.35);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 3px;
}
.checkbox input[type="checkbox"]:checked {
  background: var(--blue) !important;
  background-color: var(--blue) !important;
  border-color: var(--blue);
  position: relative;
}
.checkbox input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 12px;
  font-weight: bold;
}
.checkbox a { 
  color: var(--text); 
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}
.checkbox a:hover {
  color: var(--blue);
  text-decoration: underline;
}
.contact-card__login { 
  display: block; 
  margin-top: 16px; 
  text-align: center; 
  color: var(--blue); 
  text-decoration: none;
  font-size: 16px;
  transition: opacity 0.3s ease;
}
.contact-card__login:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/* FAQ */
.faq {
  padding: 60px 0 80px;
  border-top: 0;
  border-bottom: 0;
  background: #fff;
  /* Give FAQ a bit more left/right breathing room than the global container */
  --faq-gutter: 220px;
}

/* Landing: remove divider before CTA footer */
body.landing .faq {
  border-bottom: 0;
}

.faq .container {
  width: min(var(--container), calc(100% - var(--faq-gutter)));
}
.faq__grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 34px; }
.faq__title {
  margin: 0;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 40px;
  letter-spacing: 0;
  color: var(--text);
}
.faq-item {
  border-bottom: 0;
  padding: 14px 0;
  overflow: hidden;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.02em;
  color: var(--text);
  transition: color 0.3s ease;
}
.faq-item summary:hover {
  color: var(--blue);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:after {
  content: "";
  width: 12px;
  height: 6px;
  background: url("assets/chevron-down-navbar.svg") no-repeat center / contain;
  margin-top: 8px;
  transition: transform 0.4s ease;
  flex-shrink: 0;
}
.faq-item[open] summary:after { transform: rotate(180deg); }
.faq-item__body {
  color: #555;
  padding: 0;
  line-height: 1.6;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease, padding 0.35s ease, opacity 0.25s ease;
  opacity: 0;
}
.faq-item[open] .faq-item__body {
  padding: 10px 0 0;
  opacity: 1;
}

/* ========================================
   Pricing Page
   ======================================== */
.pricing-page-hero {
  text-align: center;
  /* Keep "Simple Pricing" ~70px below navbar bottom */
  padding: 64px 0 40px;
}
.pricing-page-hero__title {
  font-size: 56px;
  font-weight: 600;
  margin-bottom: 8px;
  background: linear-gradient(90deg, #807dfe 0%, #362bff 50%, #0033ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.pricing-page-hero__subtitle {
  font-size: 24px;
  color: var(--muted);
  margin-bottom: 40px;
}

.pricing-toggle {
  display: inline-flex;
  align-items: center;
  background: #fff;
  padding: 3px;
  border-radius: 21.78px;
  border: 0.726px solid #f5f5f5;
  box-shadow: 1.452px 4.356px 7.913px rgba(0,0,0,0.10);
  margin-bottom: 60px;
}
.pricing-toggle__btn {
  padding: 9px 18px;
  border-radius: 21.78px;
  border: none;
  background: transparent;
  font-size: 13.2px;
  line-height: 14.52px;
  font-weight: 500;
  color: #555;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (hover: hover) {
  .pricing-toggle__btn:not(.is-active):hover {
    color: var(--blue);
    background: rgba(0, 51, 255, 0.05);
  }
}

.pricing-toggle__btn.is-active {
  background: #0033ff;
  color: #fff;
}
.pricing-toggle__save {
  background: #0033ff;
  color: #fff;
  font-size: 8.8px;
  line-height: 7.26px;
  padding: 5px 8px;
  border-radius: 14.52px;
  font-weight: 500;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}
.pricing-card {
  position: relative;
  padding: 28px 26px;
  border: 1px solid rgba(212, 214, 226, 0.65);
  border-radius: 30px;
  background: #fff;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: min(313px, 100%);
  margin: 0 auto;
}
.pricing-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 26px 55px rgba(28, 34, 66, 0.10);
}
.pricing-card__icon {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 45px;
  height: 45px;
  background: #fff;
  border: 1px solid #f5f5f5;
  border-radius: 30px;
  box-shadow: 0 6px 16px rgba(28, 34, 66, 0.10);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pricing-card__icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.pricing-card__badge {
  display: inline-flex;
  padding: 4px 16px;
  background: rgba(0, 51, 255, 0.05);
  border: 1px solid rgba(0, 51, 255, 0.10);
  color: #0033ff;
  border-radius: 15px;
  font-size: 12px;
  line-height: 15px;
  font-weight: 600;
  width: fit-content;
  margin-bottom: 24px;
  border: none;
}
.pricing-card__price-wrapper {
  margin-bottom: 16px;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.pricing-card__currency {
  font-size: 42px;
  font-weight: 500;
  color: #0033ff;
}
.pricing-card__amount {
  font-size: 42px;
  font-weight: 500;
  color: #0033ff;
  line-height: 1;
  display: inline-block;
  font-variant-numeric: tabular-nums;
  will-change: transform, opacity;
  transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.pricing-card__amount.is-switching {
  opacity: 0;
  transform: translateY(10px);
}

@media (prefers-reduced-motion: reduce) {
  .pricing-card__amount {
    transition: none;
  }
}
.pricing-card__period {
  font-size: 14px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
}
.pricing-card__price-sub {
  font-size: 12px;
  color: #2f2f2f;
  font-weight: 500;
  margin-bottom: 24px;
  text-transform: uppercase;
}
.pricing-card__desc {
  font-size: 12px;
  color: #555;
  line-height: 18px;
  letter-spacing: 0.36px;
  margin-bottom: 32px;
}
.pricing-card__cta {
  margin-bottom: 32px;
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
  border-radius: 30px;
}
.pricing-card__features-title {
  font-size: 12px;
  color: #757575;
  font-weight: 500;
  margin-bottom: 20px;
}
.pricing-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px;
}
.pricing-features li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  line-height: 16.5px;
  color: #2f2f2f;
  font-weight: 400;
  padding-left: 0;
}
.pricing-features li::before {
  content: none;
}
.pricing-features__icon {
  width: 14px;
  height: 14px;
  color: #0033ff;
  flex-shrink: 0;
}

.pricing-compare-section {
  text-align: center;
  padding: 60px 0;
}
/* Compare plans section + mobile comparison table */
.compare-accordion {
  display: block;
  width: min(980px, 100%);
  margin: 0 auto;
}
.compare-accordion__title {
  color: #0033ff;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 18px;
}
.compare-accordion__body {
  margin-top: 0;
}

.compare-table {
  --compare-border: rgba(0, 51, 255, 0.22);
  --compare-separator: rgba(0, 51, 255, 0.34);
  --compare-row-h: 54px;
  --compare-head-h: 156px;
  --compare-left-w: 260px;
  --compare-col-w: 260px;

  border: 1px solid var(--compare-border);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  text-align: left;
}
.compare-table__wrap {
  display: flex;
  align-items: stretch;
}
.compare-left {
  width: var(--compare-left-w);
  flex: 0 0 var(--compare-left-w);
  /* Keep the feature/plan divider always visible while right side scrolls */
  border-right: 1px solid var(--compare-separator);
  background: #fff;
}
.compare-right {
  flex: 1;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  background: #fff;
}
.compare-cols {
  display: flex;
  width: max-content;
}
.compare-col {
  width: var(--compare-col-w);
  flex: 0 0 var(--compare-col-w);
  border-right: 1px solid var(--compare-separator);
  scroll-snap-align: start;
  background: #fff;
}
.compare-col:first-child {
  border-left: 0;
}
.compare-col:last-child {
  border-right: 0;
}

.compare-cell {
  height: var(--compare-row-h);
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--compare-border);
  font-size: 14px;
  color: #1d1d1d;
  background: #fff;
}
.compare-left .compare-cell {
  justify-content: flex-start;
}
.compare-cell--label {
  font-weight: 500;
}
.compare-cell--head {
  height: var(--compare-head-h);
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  background: #f6f9ff;
  color: #0033ff;
}
.compare-cell--plan {
  height: var(--compare-head-h);
  padding: 16px 12px;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.compare-plan-card {
  width: 100%;
  height: 100%;
  border-radius: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}
.compare-plan-card--highlight {
  border-color: transparent;
  box-shadow: none;
  background: transparent;
}
.compare-plan-card__top {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
.compare-plan-card__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: #0033ff;
  background: rgba(0, 51, 255, 0.08);
  text-transform: none;
}
.compare-plan-card__badge {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0033ff;
  background: rgba(0, 51, 255, 0.10);
  border: 1px solid rgba(0, 51, 255, 0.18);
  padding: 4px 10px;
  border-radius: 999px;
}
.compare-plan-card__name {
  font-weight: 800;
  font-size: 16px;
}
.compare-plan-card__price {
  font-weight: 900;
  font-size: 34px;
  line-height: 1.1;
  color: #0033ff;
}
.compare-plan-card__currency {
  font-size: 16px;
  font-weight: 800;
  position: relative;
  top: -8px;
  margin-right: 2px;
}
.compare-plan-card__sub {
  font-size: 12px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.55);
  line-height: 1.2;
}
.compare-plan-card__cta.btn {
  display: none;
}

.compare-check {
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  color: #0033ff;
}
.compare-minus {
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
  color: rgba(0, 0, 0, 0.28);
}

@media (min-width: 900px) {
  .compare-table {
    --compare-left-w: 360px;
    --compare-col-w: 220px;
    --compare-head-h: 150px;
  }
  .compare-right {
    scroll-snap-type: none;
  }
  .compare-cols {
    /* ensure columns don't get squished on desktop */
    min-width: calc(var(--compare-col-w) * 3);
  }
  .compare-plan-card__price {
    font-size: 30px;
  }
}

.pricing-contact {
  padding: 80px 0;
  background: #fff;
}
.pricing-contact__inner {
  max-width: 600px;
  margin: 0 auto;
  background: #fcfcfc;
  border: 1px solid #f0f0f0;
  border-radius: 40px;
  padding: 60px;
}
.pricing-contact__title {
  font-size: 48px;
  color: var(--text);
  font-weight: 700;
  text-align: center;
  margin-bottom: 8px;
}
.pricing-contact__title span {
  color: #0033ff;
}
.pricing-contact__subtitle {
  text-align: center;
  color: var(--muted);
  font-size: 16px;
  margin-bottom: 40px;
  line-height: 1.6;
}
.pricing-contact__info {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px;
  align-items: center;
}
.contact-info-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--muted);
  font-size: 15px;
}
.contact-info-item img {
  width: 20px;
  height: 20px;
}

.pricing-form {
  display: grid;
  gap: 20px;
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-group label {
  font-size: 14px;
  color: var(--text);
  font-weight: 600;
}
.form-group input {
  height: 50px;
  border-radius: 12px;
  border: 1px solid #e0e0e0;
  padding: 0 16px;
  font-size: 16px;
  background: #fff;
  transition: border-color 0.3s ease;
}
.form-group input:focus {
  outline: none;
  border-color: #0033ff;
}
.form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 10px;
}
.form-checkbox input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  cursor: pointer;
}
.form-checkbox label {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}
.form-checkbox a {
  color: var(--text);
  text-decoration: underline;
}
.btn--submit {
  background: #7a7dff;
  color: #fff;
  height: 56px;
  font-size: 18px;
  font-weight: 600;
  border-radius: 100px;
  margin-top: 20px;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}
@media (hover: hover) {
  .btn--submit:hover {
    background: #6a6dfa;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(122, 125, 255, 0.3);
  }
}
.pricing-form__footer {
  text-align: center;
  margin-top: 20px;
  font-size: 14px;
  color: var(--muted);
}
.pricing-form__footer a {
  color: #0033ff;
  text-decoration: underline;
  font-weight: 600;
}

@media (max-width: 1024px) {
  .pricing-grid {
    grid-template-columns: 1fr;
    padding: 0 20px;
  }
  /* On tablet/mobile the header is shorter; reduce hero top padding accordingly */
  .pricing-page-hero { padding-top: 31px; }
  .pricing-page-hero__title { font-size: 24px; letter-spacing: 0.48px; }
  .pricing-page-hero__subtitle { font-size: 20px; letter-spacing: 0.4px; }
  .pricing-contact__inner { padding: 40px 20px; margin: 0 20px; }
}

@media (max-width: 1024px) {
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-card__desc { min-height: 0; }
  .compare-row { grid-template-columns: 1.2fr 0.6fr 0.6fr 0.6fr; }
  .pricing-signup__card { grid-template-columns: 1fr; }
  .pricing-hero__title { font-size: 36px; }
}

@media (max-width: 640px) {
  .pricing-hero__title { font-size: 30px; }
  .pricing-compare__title { font-size: 28px; }
  .compare-table .compare-cell { padding: 0 12px; font-size: 13px; }

  .compare-table {
    --compare-left-w: 165px;
    --compare-col-w: 200px;
    --compare-row-h: 52px;
    --compare-head-h: 152px;
  }
  .compare-plan-card__price { font-size: 30px; }
  .compare-plan-card__cta.btn { height: 40px; }
}

/* CTA + Footer */
.cta-footer {
  padding: 16px 0 28px;
  background: #fff;
}

/* CTA "Built for high growth..." should be full-bleed */
.cta-footer > .container:first-of-type {
  max-width: none;
  width: 100%;
  padding-inline: 0;
}
.cta-footer > .container:first-of-type .cta {
  width: 100%;
  border-radius: 0;
  margin-bottom: 20px;
}

/* ========================================
   Solutions — Industry pages hero
   ======================================== */
.industry-hero {
  padding: 26px 0 10px;
  background: #fff;
}

.industry-hero__inner {
  text-align: center;
  max-width: 860px;
}

.industry-switch {
  width: min(262px, 100%);
  height: 40px;
  margin: 0 auto 28px;
  background: var(--blue);
  border-radius: 30px;
  display: flex;
  align-items: center;
  padding: 3px;
  gap: 10px;
  position: relative;
  max-width: 100%;
  overflow: visible; /* allow dropdown menu to render outside pill */
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.industry-switch__prefix {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.42px;
  padding-left: 14px;
  white-space: nowrap;
}

.industry-switch__btn {
  flex: 1;
  height: 34px;
  border-radius: 20px;
  border: 0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 12px;
  cursor: pointer;
  gap: 10px;
  min-width: 0; /* allow value to ellipsis instead of overflowing */
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.industry-switch__value {
  display: block;
  flex: 1 1 auto;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.42px;
  color: #1d1d1d;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.industry-switch__chev {
  width: 12px;
  height: 7px;
  opacity: 0.9;
  transition: transform 160ms ease;
  flex-shrink: 0;
  margin-left: auto;
}

.industry-switch[data-open="true"] .industry-switch__chev {
  transform: rotate(180deg);
}

.industry-switch__menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.12);
  padding: 10px 12px;
  display: none;
  z-index: 1000;
}

.industry-switch[data-open="true"] .industry-switch__menu {
  display: block;
}

.industry-switch__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 10px;
  text-decoration: none;
  color: var(--text);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.42px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.industry-switch__option:last-child { border-bottom: 0; }
.industry-switch__option[aria-selected="true"] { color: var(--blue); }

.industry-hero__title {
  margin: 0 auto;
  max-width: 420px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 29px;
  letter-spacing: 0.48px;
  color: #101010;
}

.industry-hero__sub {
  margin: 12px auto 28px;
  max-width: 520px;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.42px;
  color: #707070;
}

.industry-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 36px;
  padding: 0 18px;
  border-radius: 31px;
  border: 1.5px solid var(--blue);
  color: #1d1d1d;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.42px;
  box-shadow: 0px 5px 21.2px rgba(128, 125, 254, 0.2);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (hover: hover) {
  .industry-hero__cta:hover {
    background: var(--blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0, 51, 255, 0.28);
  }
}

.industry-hero__cta-arrow { font-size: 18px; line-height: 1; }

.industry-hero__shot {
  margin: 18px auto 0;
  width: min(321px, 100%);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(227, 227, 227, 0.8);
  background: #fff;
}

.industry-hero__shot img {
  width: 100%;
  height: 303px;
  object-fit: cover;
  display: block;
}

.industry-hero .logos {
  margin-top: 12px;
  padding-top: 10px;
  /* Keep marquee truly full-width on by-teams/product pages. */
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.industry-features__pill {
  margin: 20px auto 14px;
  width: 105px;
  height: 28px;
  border-radius: 15px;
  background: #fff;
  border: 1px solid rgba(227, 227, 227, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--blue);
  font-size: 14px;
  letter-spacing: 0.2px;
}

.industry-features__pill-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.industry-features {
  /* Features section should have a clean, neutral background (no purple glow). */
  margin: 0 auto;
  padding: 22px 18px 26px;
  border-radius: 28px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.05);
  background: #fff;
}

.industry-feature-split {
  display: block;
}

.industry-features__grid {
  display: grid;
  /* Responsive: keep tiles consistent across laptop widths */
  --feature-tile-w: clamp(132px, 11.5vw, 154px);
  --feature-tile-h: clamp(92px, 7.4vw, 100px);
  grid-template-columns: repeat(2, var(--feature-tile-w));
  gap: 24px;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
}

.industry-feature {
  position: relative;
  overflow: hidden;
  width: var(--feature-tile-w);
  height: var(--feature-tile-h);
  border-radius: 20px;
  border: 1px solid rgba(227, 227, 227, 1);
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 12px 12px;
  color: #2f2f2f;
  cursor: default;
  pointer-events: none;
  box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.04);
  transition: none;
}

.industry-feature::after {
  /* Remove the purple/blue blurred glow under feature tiles. */
  content: none;
}

.industry-feature__icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
}

.industry-feature__icon svg {
  width: 26px;
  height: 26px;
}

.industry-feature__icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  display: block;
  /* Keep all feature icons in the same active blue tone. */
  filter:
    brightness(0) saturate(100%)
    invert(16%) sepia(98%) saturate(6853%) hue-rotate(223deg) brightness(106%) contrast(112%);
  transition: none;
}

.industry-feature__label {
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0.1px;
  font-weight: 600;
  text-align: center;
  position: relative;
  z-index: 1;
}

.industry-feature.is-active {
  border: 1px solid rgba(227, 227, 227, 1);
  box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.04);
}

.industry-feature.is-active .industry-feature__icon img,
.industry-feature:focus-visible .industry-feature__icon img {
  filter:
    brightness(0) saturate(100%)
    invert(16%) sepia(98%) saturate(6853%) hue-rotate(223deg) brightness(106%) contrast(112%);
}

/* Prevent sticky hover on touch devices (iOS/Android). */
@media (hover: hover) and (pointer: fine) {
  .industry-feature:hover .industry-feature__icon img {
    filter:
      brightness(0) saturate(100%)
      invert(16%) sepia(98%) saturate(6853%) hue-rotate(223deg) brightness(106%) contrast(112%);
  }
}

.industry-feature:active {
  transform: none;
}

.industry-feature-panels {
  padding: 24px 0 8px;
}

.industry-feature-panel {
  /* Figma: white card with subtle border + 20px radius */
  background: #fff;
  border: 0.5px solid #f1f1f5;
  border-radius: 20px;
  padding: 28px 24px;
  max-width: 720px;
  margin: 0 auto;
  box-shadow: none;
  text-align: left;
}

.industry-feature-panel__title {
  margin: 0 0 10px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  /* Figma typography */
  font-weight: 400;
  font-size: 32px;
  line-height: 35px;
  color: var(--blue);
  letter-spacing: 0;
}

.industry-feature-panel__desc {
  margin: 0 0 14px;
  color: var(--text);
  /* Figma typography */
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0;
}

.industry-feature-panel__highlight {
  margin: -6px 0 14px;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0, 51, 255, 0.14);
  background: rgba(0, 51, 255, 0.05);
  color: rgba(47, 47, 47, 0.86);
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

.industry-feature-panel__bullets {
  /* Figma layout */
  width: min(314px, 100%);
  margin: 0 0 18px;
  padding-left: 18px;
  color: var(--text);
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.industry-feature-panel__bullets li {
  margin: 0;
  /* Figma typography */
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 15.05px;
  line-height: 14.11px;
  letter-spacing: 0.01em;
  text-transform: capitalize;
}

.industry-feature-panel__bullets li::marker {
  color: var(--blue);
}

.industry-feature-panel__bullets li:nth-child(n + 4) {
  display: none;
}

.industry-feature-panel__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1.5px solid var(--blue);
  color: #1d1d1d;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.42px;
  box-shadow: 0px 5px 21.2px rgba(128, 125, 254, 0.2);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (hover: hover) {
  .industry-feature-panel__cta:hover {
    background: var(--blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0, 51, 255, 0.28);
  }
}

.industry-feature-panel__media {
  margin-top: 18px;
  border-radius: 20px;
  overflow: hidden;
  border: none;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.industry-feature-panel__media img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

@media (min-width: 1024px) {
  /* Desktop should follow mobile flow: feature tiles first, then detail panel. */
  .industry-hero__inner {
    max-width: var(--container);
  }

  .industry-feature-split {
    display: block;
    margin-top: 8px;
  }

  .industry-features {
    margin: 0 auto;
    width: 100%;
    max-width: none;
    padding: 28px 28px 30px;
  }

  .industry-features__grid {
    --feature-tile-w: clamp(190px, 16vw, 240px);
    --feature-tile-h: clamp(132px, 10vw, 164px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
    width: 100%;
    max-width: none;
  }

  .industry-feature {
    width: 100%;
    height: var(--feature-tile-h);
  }

  /* Keep the last odd tile aligned by spanning the full row center. */
  .industry-features__grid .industry-feature:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: calc(50% - 10px);
    justify-self: center;
  }

  .industry-feature-panels {
    padding: 20px 0 0;
    width: 100%;
    max-width: none;
    margin: 0 auto;
  }

  .industry-feature-panel {
    max-width: none;
    width: 100%;
    margin: 0;
  }

  .industry-feature-panel {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: 28px;
    padding: 38px;
  }

  .industry-feature-panel__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
  }

  .industry-feature-panel__media {
    margin-top: 0;
  }

  .industry-feature-panel__media img {
    height: 380px;
  }
}

@media (min-width: 1024px) {
  .industry-hero { padding: 40px 0 20px; }
  .industry-hero__title { font-size: 40px; line-height: 48px; max-width: 720px; }
  .industry-hero__sub { font-size: 16px; line-height: 24px; max-width: 720px; }
  .industry-hero__shot { width: min(720px, 100%); }
  .industry-hero__shot img { height: 420px; }
}
.cta-footer > .container:last-of-type {
  background: transparent;
  padding: 0;
  margin-top: 0;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
}
.cta {
  border-radius: 30px;
  padding: 72px 40px;
  text-align: center;
  color: #fff;
  background: linear-gradient(110.83deg, rgba(164,162,255,.95) 1.4667%, rgba(72,68,255,.95) 31.523%, rgba(102,98,255,.855) 61.401%, rgba(0,46,229,.76) 93.146%, rgba(173,171,255,.76) 128%);
  box-shadow: none;
  margin-bottom: 10px;
}
.cta h2 { margin: 0 0 16px; font-size: 48px; line-height: 1.2; }
.cta p { margin: 0 auto 22px; max-width: 820px; line-height: 1.6; font-size: 16px; opacity: .95; }
.cta__actions { display: inline-flex; gap: 12px; }
.footer {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1.9fr;
  gap: 50px;
  padding: 20px 24px 40px;
  background: transparent;
  margin: 0 auto;
  max-width: var(--container);
  width: 100%;
}
.footer__left {
  position: relative;
  z-index: 2;
  min-height: 300px;
}
.footer__brand {
  margin-bottom: 0;
}
.footer__brand img {
  height: 36px;
  width: auto;
  display: block;
  position: relative;
  z-index: 3;
}
.footer__tagline {
  font-size: 32px;
  margin-top: 16px;
  color: var(--text);
  font-weight: 400;
  line-height: 1.3;
  position: relative;
  z-index: 3;
}
.footer__social {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  position: relative;
  z-index: 3;
}
.footer__social a {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 0;
}
.footer__social img {
  width: 24px;
  height: 24px;
  filter: brightness(0);
  opacity: 1;
}
.footer__watermark-section {
  margin-top: 24px;
  position: relative;
  z-index: 3;
  pointer-events: none;
}
.footer__watermark {
  width: 4000px;
  height: auto;
  display: block;
  opacity: 1;
  pointer-events: none;
}
.footer__cols {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 50px;
  position: relative;
  z-index: 2;
}
.footer__col-title {
  font-size: 20px;
  margin: 0 0 20px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.4;
}
.footer__col-title--accent {
  color: var(--blue);
  font-weight: 600;
}
.footer__text {
  color: var(--text);
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 32px;
  font-size: 16px;
}
.footer__text div {
  margin-bottom: 8px;
}
.footer__link {
  display: block;
  color: var(--text);
  margin: 8px 0;
  font-size: 16px;
  letter-spacing: 0;
  font-weight: 400;
  text-decoration: none;
  line-height: 1.6;
}
.footer__link:hover {
  color: var(--blue);
}
.footer-bottom {
  border-top: 1px solid rgba(217,217,217,0.3);
  padding: 20px 24px;
  margin-top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--text);
  font-size: 16px;
  letter-spacing: 0;
  font-weight: 400;
  background: #fff;
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.footer-bottom__left {
  color: var(--text);
}
.footer-bottom__right {
  display: flex;
  gap: 30px;
}
.footer-bottom__right a {
  color: var(--text);
  text-decoration: none;
}
.footer-bottom__right a:hover {
  color: var(--blue);
}

/* Footer v2 (matches the screenshot layout) */
.footer.footer--v2 {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: none;
  background: transparent;
}

.footer--v2 .footer__top {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footer--v2 .footer__brand img {
  height: 42px;
}

.footer--v2 .footer__tagline {
  margin-top: 0;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1.12;
}

.footer--v2 .footer__social {
  margin-top: 4px;
  gap: 14px;
}

.footer--v2 .footer__social a {
  width: 46px;
  height: 46px;
  background: #1d1d1d;
  border-radius: 10px;
}

.footer--v2 .footer__social img {
  filter: brightness(0) invert(1);
  opacity: 1;
}

.footer--v2 .footer__divider {
  border-top: 1px solid rgba(29, 29, 29, 0.12);
}

.footer--v2 .footer__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  padding: 4px 0;
  align-items: start;
}

.footer--v2 .footer__col-title {
  margin-bottom: 14px;
}

.footer--v2 .footer__text {
  margin-bottom: 0;
}

.footer--v2 .footer__text--contact div {
  margin-bottom: 12px;
}

.footer--v2 .footer__contact,
.footer--v2 .footer__contact:visited {
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
}

.footer--v2 .footer__contact:hover {
  color: var(--blue);
}

.footer--v2 .footer__contact-label {
  font-weight: 600;
  color: var(--text);
}

.footer--v2 .footer__link {
  color: var(--muted);
}

.footer--v2 .footer__link:hover {
  color: var(--blue);
}

.footer-bottom.footer-bottom--v2 {
  border-top: 1px solid rgba(29, 29, 29, 0.12);
  padding: 26px 0 44px;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
  background: transparent;
  max-width: none;
}

.footer-bottom--v2 .footer-bottom__left {
  color: var(--muted);
}

.footer-bottom--v2 .footer-bottom__right {
  gap: 14px;
  align-items: center;
  justify-content: center;
}

.footer-bottom--v2 .footer-bottom__right a {
  color: var(--muted);
}

.footer-bottom--v2 .footer-bottom__right a:hover {
  color: var(--blue);
}

.footer-bottom--v2 .footer-bottom__sep {
  color: rgba(29, 29, 29, 0.35);
}

/* ========================================
   Responsive Design - Tailwind Breakpoints
   xl: 1280px | lg: 1024px | md: 768px | sm: 640px
   ======================================== */

/* 2XL Breakpoint — large monitors (min-width: 1536px) */
@media (min-width: 1536px) {
  :root {
    --container: 1360px;
    --container-gutter: clamp(24px, 4vw, 72px);
  }

  .site-header { width: min(var(--container), calc(100% - 120px)); }

  .hero__media-img--desktop {
    max-width: 640px;
  }
}

/* Tablet range: keep grids multi-column where possible */
@media (min-width: 768px) and (max-width: 1024px) {
  .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* XL Breakpoint - Large laptops (max-width: 1280px) */
@media (max-width: 1280px) {
  :root {
    --container: 1100px;
  }
  
  .site-header { width: min(var(--container), calc(100% - 60px)); }
  
  .hero__title {
    font-size: 44px;
    line-height: 58px;
  }
  
  .hero__copy { max-width: 520px; }
  
  .hero__subtitle {
    font-size: 22px;
    line-height: 32px;
  }
  
  .service-card {
    padding: 50px;
    gap: 40px;
  }
  
  .service-card__title {
    font-size: 42px;
    line-height: 54px;
  }
  
  .map__title-text {
    font-size: 42px;
    line-height: 46px;
  }
  
  .who__title {
    font-size: 42px;
  }
  
  .who__heading {
    font-size: 36px;
  }
  
  .cta h2 {
    font-size: 42px;
  }
  
  .faq__title {
    font-size: 36px;
  }
}

/* LG Breakpoint - Tablets landscape (max-width: 1024px) */
@media (max-width: 1024px) {
  :root {
    --container: 900px;
    /* Keep a consistent page gutter on tablet sizes */
    --container-gutter: 24px;
    --header-clearance: 120px;
  }
  
  .site-header {
    width: calc(100% - 48px);
    top: 30px;
  }
  
  .nav {
    height: 80px;
    min-height: 80px;
    max-height: 80px;
    padding: 0 20px;
    gap: 16px;
  }
  
  .nav__link {
    font-size: 16px;
    letter-spacing: 0.8px;
  }
  
  .brand__logo {
    height: 46px;
  }
  
  /* Under 1024px: top bar stays visible (logo + Call us + hamburger) */
  .nav__cta { display: none !important; }

  /* exactly.ai-style dropdown panel directly beneath navbar */
  .nav {
    position: relative !important;
    overflow: visible !important;
  }

  .nav__links {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 96px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100vh - 108px) !important;
    max-height: calc(100dvh - 108px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    min-height: min-content !important;
    /* Glass effect like navbar - high opacity for premium look */
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.16) !important;
    padding: 14px 18px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-12px) !important;
    /* Extra smooth transition */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                visibility 0.4s !important;
    z-index: 100000 !important;
  }

  .nav__links[aria-expanded="true"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .nav__links .nav__link {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    color: var(--text) !important;
    background: none !important;
  }

  /* Keep dropdown chevron pinned to the far right */
  .nav__links .nav__link--trigger {
    justify-content: space-between !important;
  }

  .nav__links .nav__link:last-child {
    border-bottom: 0 !important;
  }

  .nav__drawer-cta-wrapper {
    display: block !important;
    padding: 16px 0 8px;
    width: 100%;
  }

  .nav__drawer-btn {
    width: 100% !important;
    height: 48px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    justify-content: center !important;
  }
  
  .hero {
    padding: 70px 0 50px;
  }
  
  .hero__grid {
    gap: 30px;
  }
  
  .hero__copy {
    flex: 1 1 420px;
    min-width: 0;
    max-width: 520px;
  }
  
  .hero__title {
    font-size: 38px;
    line-height: 50px;
  }
  
  .hero__subtitle {
    font-size: 20px;
    line-height: 30px;
    margin: 20px 0 28px;
  }
  
  .pill {
    height: 36px;
    margin-bottom: 20px;
  }
  
  .pill__tag {
    height: 34px;
    padding: 0 14px;
    font-size: 14px;
  }
  
  .pill__text {
    padding: 0 12px;
    font-size: 14px;
  }
  
  .hero__media-img--desktop {
    max-width: 480px;
  }
  
  .logos {
    margin-top: 30px;
    padding-top: 24px;
  }
  
  .logo-text {
    font-size: 22px;
  }
  
  .service-card {
    padding: 40px;
    gap: 30px;
  }
  
  .service-card__title {
    font-size: 36px;
    line-height: 48px;
    margin-bottom: 20px;
  }
  
  .bullets li {
    font-size: 15px;
    padding-bottom: 24px;
  }
  
  .map {
    min-height: auto;
    padding: 40px 0;
    background: #fff;
  }
  
  .map__blur-bg,
  .map__container,
  .map__stats {
    display: none !important;
  }

  .map__mobile {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    position: relative;
  }

  .map__mobile-img {
    width: 100%;
    height: auto;
    display: block;
  }

  .map__mobile-stats {
    width: 100%;
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  /* Mobile map stats: scale down typography (desktop uses Figma 40/128/40) */
  .map__mobile-stats .map__stat-kicker,
  .map__mobile-stats .map__stat-sub {
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    font-weight: 600;
  }
  .map__mobile-stats .map__stat-value-wrapper {
    font-size: 64px;
    line-height: 1;
    margin: 12px 0 10px;
  }

  .map__mobile-stats .map__stats-wrapper {
    margin-top: 14px;
    align-self: flex-start;
  }

  .map__mobile-world-image {
    width: 100%;
    height: auto;
    max-width: none;
    display: block;
    margin: 18px 0 0;
  }

  .who__title {
    font-size: 36px;
  }
  
  .who__heading {
    font-size: 32px;
  }
  
  .who__copy p {
    font-size: 20px;
    line-height: 30px;
  }
  
  .contact-card {
    padding: 36px;
    gap: 30px;
  }
  
  .contact-card__title {
    font-size: 34px;
  }
  
  .faq__title {
    font-size: 32px;
  }

  .faq { --faq-gutter: 96px; }
  
  .faq-item summary {
    font-size: 16px;
    line-height: 20px;
  }
  
  .cta {
    padding: 60px 32px;
  }
  
  .cta h2 {
    font-size: 38px;
  }
  
  .footer__tagline {
    font-size: 28px;
  }
  
  main {
    padding-top: 120px !important;
  }

  /* Testimonials Tablet Design */
  .testimonials {
    padding: 50px 0;
  }

  /* Remove testimonial background image on screens <= 1024px */
  .testimonials::before {
    content: none;
  }

  /* Mobile/tablet: subtle background tint like design */
  .testimonials {
    background: linear-gradient(180deg, #ffffff 0%, #f3f4ff 45%, #ffffff 100%);
  }
  .testimonials::after {
    content: '';
    position: absolute;
    /* Start the glow lower so it doesn't reach card tops */
    inset: clamp(120px, 18vw, 200px) -10% -10% -10%;
    background:
      radial-gradient(60% 40% at 50% 40%, rgba(128, 125, 254, 0.22) 0%, rgba(128, 125, 254, 0) 70%),
      radial-gradient(55% 35% at 30% 65%, rgba(0, 51, 255, 0.12) 0%, rgba(0, 51, 255, 0) 70%);
    pointer-events: none;
    z-index: 0;
  }

  /* Mobile/tablet: make testimonials full-bleed (no side gutters) */
  .testimonials .container {
    width: 100%;
    margin: 0;
  }
  .testimonials__wrapper {
    padding: 0;
    width: 100%;
    margin-left: 0;
    gap: 20px;
    overflow: hidden;
  }

  /* Keep glow behind content (container is z-index:1) */
  .testimonials .container {
    position: relative;
    z-index: 1;
  }

  /* Ensure rows themselves span the full viewport width */
  .testimonials__row {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .testimonials__row::before,
  .testimonials__row::after {
    width: 60px;
  }
  .quote-card {
    width: 320px;
    max-width: 320px;
    height: auto;
    min-height: 240px;
    border-radius: 24px;
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
    padding: 0;
  }

  /* Ensure highlight cards are fully opaque on mobile */
  .quote-card--highlight { background: #fff; }
  .quote-card--highlight .quote-card__content { background: #fff; }
  .quote-card__content {
    padding: 40px 24px 44px;
    min-height: 0;
    /* Keep content fully opaque (no background glow showing through) */
    background: #fff;
    position: relative;
    z-index: 1;
    /* Rounded bottom corners so meta color can show behind */
    border-radius: 24px;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .quote-card p {
    font-size: 14px;
    line-height: 1.6;
    padding: 0;
    min-height: 0;
    color: #1d1d1f;
  }
  .quote-card__meta {
    height: 92px;
    padding: 14px 20px;
    background: #f3f4ff;
    border-top: 0;
    /* Meta sits behind the content's rounded corners */
    margin-top: -18px;
    position: relative;
    z-index: 0;
    /* Keep outer card rounding only at the bottom */
    border-radius: 0 0 24px 24px;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
  }
  .quote-card__avatar {
    width: 40px;
    height: 40px;
  }
  .quote-card__name {
    font-size: 14px;
  }
  .quote-card__role {
    font-size: 12px;
  }

  /* Brand logos: scale down to fit meta height */
  .quote-card__brand-logos {
    max-width: 120px;
    flex: 0 1 120px;
    min-width: 0;
    justify-content: flex-end;
    overflow: hidden;
  }

  .quote-card__brand-logo {
    height: 20px;
    max-width: 120px;
    object-fit: contain;
  }

  .quote-card__brand-logos--double .quote-card__brand-logo {
    height: 18px;
    max-width: 90px;
  }

  .testimonials__row--bottom {
    display: block;
  }

  /* Mobile/tablet: remove edge fade + any blur treatment */
  .testimonials__row {
    mask-image: none;
    -webkit-mask-image: none;
  }
  .testimonials__row::before,
  .testimonials__row::after {
    content: none;
  }
  .quote-card--blurred,
  .quote-card--focused {
    filter: none;
    opacity: 1;
  }

  /* Mega menu inside mobile dropdown */
  .nav__mega {
    position: static;
    transform: none !important;
    width: 100%;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin-top: 0;
    gap: 18px;
    grid-template-columns: 1fr;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    border: 0;
    display: none;
  }
  .nav__item--has-menu.is-open .nav__mega { display: grid; }

  .nav__mega-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .nav__mega-trigger {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    /* Match drawer parent item typography */
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.2px;
    line-height: 1.2;
    margin: 0;
    padding: 14px 0;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    color: var(--text);
    background: transparent;
  }

  .nav__chev--mega {
    display: block;
    transition: transform 180ms ease;
  }

  .nav__mega-group.is-open .nav__chev--mega {
    transform: rotate(180deg);
  }

  .nav__mega-panel {
    display: none;
    padding-left: 18px;
    border-left: 0;
  }

  .nav__mega-group.is-open .nav__mega-panel {
    display: block;
  }

  .nav__mega-panel .nav__mega-link {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.2px;
    line-height: 1.2;
    padding: 14px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }

  .nav__mega-panel .nav__mega-link:last-child {
    border-bottom: 0;
  }

  /* Product dropdown should match Solutions link sizing on mobile */
  .nav__mega--product .nav__mega-link {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.2px;
    line-height: 1.2;
    padding: 14px 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }

  .nav__mega--product .nav__mega-link:last-child {
    border-bottom: 0;
  }
}

/* MD Breakpoint - Tablets portrait (max-width: 768px) */
@media (max-width: 768px) {
  .site-header {
    z-index: 100005;
    /* IMPORTANT: prevent fixed drawer being constrained by transformed header */
    left: 20px;
    transform: none;
  }
  :root {
    --container: 100%;
    /* Mobile/small screens: keep one constant gutter site-wide */
    --container-gutter: 20px;
  }
  
  .site-header {
    width: calc(100% - 40px);
    top: 24px;
  }
  
  .nav {
    height: auto;
    min-height: 70px;
    max-height: none;
    padding: 14px 16px;
    gap: 12px;
  }
  
  .nav__right {
    display: flex;
    margin-left: auto;
    gap: 10px;
  }

  .nav__top-cta {
    display: inline-flex;
    height: 34px;
    padding: 0 12px;
    font-size: 14px;
    border-radius: 999px;
  }

  .nav__toggle {
    display: flex;
    order: 0;
    z-index: 100002;
  }
  
  /* exactly.ai-style dropdown panel beneath navbar */
  .nav {
    position: relative !important;
    overflow: visible !important;
  }

  .nav__links {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 96px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100vh - 108px) !important;
    max-height: calc(100dvh - 108px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    min-height: min-content !important;
    /* Glass effect like navbar - high opacity for premium look */
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.16) !important;
    padding: 14px 16px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-12px) !important;
    /* Extra smooth transition */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                visibility 0.4s !important;
    z-index: 100000 !important;
  }
  
  .nav__links[aria-expanded="true"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  
  .nav__links .nav__link {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
    display: flex !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    width: 100% !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  .nav__links .nav__link:last-child {
    border-bottom: 0 !important;
  }

  .nav__drawer-cta-wrapper {
    display: block !important;
    padding: 16px 0 8px;
    width: 100%;
  }

  .nav__drawer-btn {
    width: 100% !important;
    height: 48px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    justify-content: center !important;
  }
  
  .hero {
    padding: 50px 0 40px;
  }
  
  .hero__grid {
    flex-direction: column;
    gap: 0;
  }
  
  .hero__copy {
    flex: 0 0 auto;
    width: 100%;
    min-width: unset;
    max-width: 100%;
    text-align: center;
  }
  
  .hero__media {
    justify-content: center;
    width: 100%;
    position: relative;
    z-index: 1;
    margin-top: -30px;
  }
  
  .hero__actions {
    position: relative;
    z-index: 2;
    margin-bottom: 0;
  }
  
  .hero__media-img--desktop {
    display: none;
  }

  .hero__media-img--mobile {
    display: block;
    max-width: 100%;
    width: 100%;
  }
  
  .hero__title {
    font-size: 36px;
    line-height: 48px;
  }
  
  .hero__subtitle {
    font-size: 18px;
    line-height: 28px;
    margin: 18px auto 24px;
    max-width: 500px;
  }
  
  .hero__actions {
    justify-content: center;
    gap: 16px;
  }
  
  .hero__actions .btn {
    width: auto;
    min-width: 150px;
    height: 48px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    padding: 0 28px;
  }
  
  .hero__proof {
    justify-content: center;
  }
  
  .hero__rating {
    justify-content: center;
  }
  
  .pill {
    margin: 0 auto 20px;
  }
  
  .logos__track--top {
    margin-bottom: 20px;
  }
  
  .logos__set { gap: 20px; }

  .logos {
    --marquee-logo-box-height: 56px;
    --marquee-logo-height: 38px;
    --marquee-logo-width: 140px;
    --marquee-tag-slot: 20px;
    --marquee-logo-row-gap: 6px;
    --marquee-item-min-width: 110px;
  }

  .logo-item--scale2 {
    --logo-box-height: 84px;
  }
  
  .logo-item img {
    height: var(--marquee-logo-height);
    max-width: var(--marquee-logo-width);
  }
  
  .logo-item--lg img {
    height: var(--marquee-logo-height);
    max-width: var(--marquee-logo-width);
  }
  
  .logo-text {
    font-size: 20px;
  }
  
  .stats__image--desktop {
    display: none;
  }

  .stats__image--mobile {
    display: none;
  }
  
  .stats__mobile {
    display: flex;
  }
  
  .service-card {
    grid-template-columns: 1fr;
    padding: 32px;
    gap: 24px;
  }
  
  .service-card--reverse .service-card__copy {
    order: 0;
  }
  
  .service-card__title {
    font-size: 32px;
    line-height: 42px;
    font-weight: 400;
  }

  .service-card__media img {
    width: 100%;
    max-height: 500px;
    object-fit: contain;
  }

  /* Email summary screenshot is taller → constrain to match others */
  .AI-email-summary .service-card__media img {
    max-height: 520px;
  }
  
  .kicker {
    margin-bottom: 16px;
  }
  
  .bullets::before {
    left: 21.5px;
  }
  
  .bullets li {
    padding-left: 50px;
    padding-bottom: 20px;
    font-size: 15px;
  }
  
  .bullets li::before {
    left: 18px;
    top: 8px;
    width: 9px;
    height: 9px;
  }
  
  .who {
    padding: 50px 0 30px;
  }
  
  .who__title {
    font-size: 32px;
    margin-bottom: 24px;
    padding-left: 24px;
  }
  
  .who__card,
  .who__card--reverse {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 24px;
  }
  
  .who__card--reverse .who__image {
    order: 0;
  }
  
  .who__heading {
    font-size: 28px;
    margin-bottom: 10px;
  }
  
  .who__copy p {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 16px;
  }
  
  .contact {
    padding: 50px 0;
  }
  
  .contact-card {
    grid-template-columns: 1fr;
    padding: 28px;
    gap: 32px;
  }
  
  .contact-card__left {
    padding-top: 0;
    align-items: center;
    text-align: center;
  }
  
  .contact-card__title {
    font-size: 30px;
  }
  
  .faq {
    padding: 50px 0 60px;
  }

  .faq { --faq-gutter: 56px; }
  
  .faq__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .faq__title {
    font-size: 30px;
    line-height: 40px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--text);
  }
  
  .faq-item summary {
    font-size: 16px;
    line-height: 20px;
  }
  
  .cta-footer {
    padding: 12px 0 24px;
  }
  
  .cta {
    padding: 48px 24px;
    border-radius: 24px;
    margin-bottom: 10px;
  }
  
  .cta h2 {
    font-size: 32px;
  }
  
  .cta p {
    font-size: 15px;
  }
  
  .cta__actions {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    flex-wrap: nowrap;
  }
  
  .cta__actions .btn {
    width: auto;
    min-width: 0;
    padding: 0 18px;
  }

  .cta-footer > .container:last-of-type {
    margin-top: 0;
    padding: 0;
    width: calc(100% - 40px);
  }
  
  .footer {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 20px 20px 30px;
  }
  
  .footer__left {
    min-height: auto;
  }
  
  .footer__tagline {
    font-size: 24px;
  }
  
  .footer__cols {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  
  .footer__col-title {
    font-size: 18px;
    margin-bottom: 16px;
  }
  
  .footer__link {
    font-size: 15px;
    margin: 6px 0;
  }
  
  .footer-bottom {
    flex-direction: column;
    gap: 12px;
    padding: 16px 20px;
    text-align: center;
  }
  
  .footer-bottom__right {
    gap: 20px;
  }

  /* Footer v2: keep large tagline + 2x2 grid on tablets */
  .footer.footer--v2 {
    padding: 0;
    gap: 24px;
  }

  .footer--v2 .footer__tagline {
    font-size: clamp(32px, 9vw, 44px);
  }

  .footer--v2 .footer__row {
    gap: 32px;
  }

  .footer-bottom.footer-bottom--v2 {
    padding: 22px 0 36px;
  }
  
  main {
    padding-top: 110px !important;
  }
}

/* SM Breakpoint - Mobile (max-width: 640px) */
@media (max-width: 640px) {
  :root {
    --header-clearance: 96px;
  }

  .site-header {
    width: calc(100% - (var(--container-gutter) * 2));
    top: 16px;
  }
  
  .nav {
    padding: 12px 14px;
    min-height: 70px;
    border-radius: 20px;
  }
  
  .brand__logo {
    height: 43px;
  }
  
  .nav__toggle {
    --hamburger-shift: 9px;
    gap: 5px;
    padding: 6px;
    align-items: flex-end;
  }

  .nav__toggle span {
    width: 24px;
    height: 1.75px;
  }

  .nav__toggle span:nth-child(2) {
    width: 15px;
  }

  .nav__top-cta .btn__icon--left {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    color: #fff !important;
  }

  /* SOPs heading (mobile) */
  .sops__title {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight: 600;
    font-size: 27px;
    line-height: 84.38px;
    letter-spacing: 0.03em;
  }

  /* SOP card subtext (mobile) */
  .sop-card__desc {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.03em;
    color: var(--muted);
  }

  .cta-footer > .container:last-of-type {
    width: calc(100% - (var(--container-gutter) * 2));
    margin-top: 0;
    padding: 0;
  }

  /* Map: override .container padding for this block */
  .map__mobile-stats.container {
    padding-left: 45px;
  }
  
  .nav__links {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 96px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100vh - 108px) !important;
    max-height: calc(100dvh - 108px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    /* Glass effect like navbar - high opacity for premium look */
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.16) !important;
    padding: 14px 18px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-12px) !important;
    /* Extra smooth transition */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), 
                visibility 0.4s !important;
    z-index: 100000 !important;
  }
  
  .nav__links[aria-expanded="true"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  
  .nav__links .nav__link {
    display: flex !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    width: 100% !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  }

  .nav__links .nav__link:last-child {
    border-bottom: 0 !important;
  }

  .nav__drawer-cta-wrapper {
    display: block !important;
    padding: 16px 0 8px;
    width: 100%;
  }

  .nav__drawer-btn {
    width: 100% !important;
    height: 48px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    justify-content: center !important;
  }

  /* Mobile nav drawer: keep submenu typography aligned to parent items */
  .nav__mega-trigger,
  .nav__mega-panel .nav__mega-link,
  .nav__mega--product .nav__mega-link {
    font-size: 16px;
    font-weight: 300;
  }
  
  .btn {
    height: 38px;
    font-size: 14px;
    padding: 0 14px;
  }
  
  .btn--lg {
    height: 42px;
  }
  
  /* Map (mobile): add more padding + 43px left inset */
  .map__mobile-stats {
    padding: 12px 16px 12px 45px;
    box-sizing: border-box;
  }

  .map__mobile-stats .map__get-started-btn {
    width: 100px;
    min-width: 100px;
    height: 28.75px;
    padding: 0 10px;
    gap: 6px;
    opacity: 1;
  }

  .map__mobile-stats .map__btn-bg {
    border-radius: 21.82px;
    border-width: 0.94px;
  }

  .map__mobile-stats .map__btn-text {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight: 400;
    font-size: 10px;
    line-height: 25px;
    letter-spacing: 0.03em;
    text-align: center;
  }

  .map__mobile-stats .map__btn-icon {
    width: 12px;
    height: 12px;
  }
  
  .hero {
    padding: 40px 0 30px;
  }
  
  .hero__grid {
    gap: 0;
  }
  
  .hero__title {
    font-size: 28px;
    line-height: 38px;
    letter-spacing: 0.8px;
  }
  
  .hero__subtitle {
    font-size: 16px;
    line-height: 26px;
    margin: 16px auto 20px;
  }
  
  .pill {
    height: 34px;
  }
  
  .pill__tag {
    height: 32px;
    padding: 0 12px;
    font-size: 13px;
  }
  
  .pill__text {
    padding: 0 10px;
    font-size: 13px;
  }
  
  .hero__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
  }

  .hero__actions .btn {
    flex: 0 1 auto;
    min-width: 0;
    width: auto;
    white-space: nowrap;
    height: 46px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 600;
    padding: 0 20px;
  }
  
  .hero__media {
    margin-top: -30px;
  }
  
  .hero__proof {
    margin-top: 32px;
    flex-wrap: wrap;
  }
  
  .avatar {
    width: 36px;
    height: 36px;
  }
  
  .hero__proof-text {
    font-size: 14px;
  }
  
  .hero__rating {
    font-size: 14px;
  }
  
  .logos {
    margin-top: 24px;
    padding-top: 20px;
    --marquee-logo-box-height: 50px;
    --marquee-logo-height: 32px;
    --marquee-logo-width: 120px;
    --marquee-tag-slot: 22px;
    --marquee-logo-row-gap: 6px;
    --marquee-item-min-width: 90px;
  }

  .logo-item--scale2 {
    --logo-box-height: 74px;
    /* 2× looks too large on mobile */
    --logo-scale: 1.6;
  }
  
  .logos__strap {
    font-size: 14px;
    margin-bottom: 14px;
  }
  .logos__strap::before,
  .logos__strap::after {
    background: rgba(212, 214, 226, 0.2);
  }

  .logos__static-grid {
    /* keep 4-per-row like design */
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px 16px;
  }

  .logos__cell {
    row-gap: var(--marquee-logo-row-gap);
    min-height: calc(var(--marquee-logo-box-height) + var(--marquee-tag-slot) + var(--marquee-logo-row-gap));
  }

  .logos__cell img {
    height: 34px;
    max-width: min(150px, 100%);
  }
  
  .logos__track--top {
    margin-bottom: 16px;
  }
  
  .logos__set { gap: 14px; }
  
  .logo-item {
    min-width: var(--marquee-item-min-width);
  }
  
  .logo-item img {
    height: calc(var(--marquee-logo-height) * var(--logo-boost));
    max-width: calc(var(--marquee-logo-width) * var(--logo-boost));
  }
  
  .logo-item--lg img {
    height: calc(var(--marquee-logo-height) * var(--logo-boost));
    max-width: calc(var(--marquee-logo-width) * var(--logo-boost));
  }
  
  .logo-item__tag {
    font-size: 10px;
    line-height: 1.2;
    padding: 4px 10px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
  }
  
  .logo-text {
    font-size: 16px;
  }
  
  .stats__image--desktop {
    display: none;
  }

  .stats__image--mobile {
    display: none;
  }
  
  .stats__mobile {
    display: flex;
    padding: 30px 0;
  }

  .stats__mobile > :not(.stats__mobile-cards) {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
  
  .stats__mobile-title {
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 20px;
  }
  
  .stats__mobile-pill {
    padding: 10px 20px;
    margin-bottom: 20px;
  }
  
  .stats__mobile-cards {
    gap: 12px;
  }
  
  .stats__mobile-card {
    padding: 28px 16px;
    border-radius: 20px;
  }
  
  .stats__mobile-card-value {
    font-size: 24px;
    line-height: 30px;
  }
  
  .stats__mobile-card-label {
    font-size: 12px;
    line-height: 15px;
  }
  
  .services {
    padding: 50px 0;
  }
  
  .service-card {
    padding: 24px;
    gap: 20px;
    margin-bottom: 24px;
    border-radius: 24px;
  }
  
  .service-card__copy {
    padding-right: 0;
  }
  
  .kicker {
    font-size: 14px;
    margin-bottom: 12px;
  }
  
  .service-card__title {
    font-size: 32px;
    line-height: 42px;
    margin-bottom: 18px;
    font-weight: 400;
  }

  .service-card__media img {
    width: 100%;
    max-height: 520px;
    object-fit: contain;
  }

  /* Make key product screenshots slightly larger on mobile */
  .Store-visit .service-card__media img,
  .Comm-feed .service-card__media img,
  .vm-execution .service-card__media img {
    max-height: 460px;
  }

  .AI-email-summary .service-card__media img {
    max-height: 480px;
  }
  
  .bullets::before {
    left: 17.5px;
    width: 2px;
  }
  
  .bullets li {
    padding-left: 42px;
    padding-bottom: 18px;
    font-size: 14px;
    line-height: 20px;
  }
  
  .bullets li::before {
    left: 14px;
    top: 7px;
    width: 9px;
    height: 9px;
  }
  
  .testimonials {
    padding: 40px 0;
  }
  
  /* On mobile, crop the testimonial_bg.png further up to hide the pill at the bottom */
  .testimonials::before {
    background-position: center 10%;
  }
  
  .testimonials__wrapper {
    padding: 0;
    width: 100%;
    margin-left: 0;
    gap: 20px;
    overflow: hidden;
  }
  
  .testimonials__row::before,
  .testimonials__row::after {
    width: 40px;
  }
  
  .testimonials__row-inner {
    gap: 16px;
  }
  
  .quote-card {
    width: 300px;
    max-width: 300px;
  }
  
  .quote-card__content {
    padding: 36px 20px 36px;
    position: relative;
    z-index: 1;
    border-radius: 24px;
  }
  
  .quote-card p {
    font-size: 13px;
    line-height: 1.5;
  }
  
  .quote-card__meta {
    height: 86px;
    padding: 14px 12px;
    margin-top: -16px;
    border-top: 0;
    position: relative;
    z-index: 0;
    border-radius: 0 0 24px 24px;
  }

  .quote-card__avatar {
    width: 36px;
    height: 36px;
  }

  .quote-card__name {
    font-size: 13px;
  }

  .quote-card__role {
    font-size: 11px;
  }

  .quote-card__brand-logo {
    height: 18px;
    max-width: 96px;
  }

  .quote-card__brand-logos {
    max-width: 96px;
    flex: 0 1 96px;
    min-width: 0;
  }

  .quote-card__brand-logos--double .quote-card__brand-logo {
    height: 16px;
    max-width: 72px;
  }
  
  .testimonials__row--bottom {
    display: block;
  }
  
  .testimonials__cta {
    margin-top: 24px;
  }
  
  .who {
    padding: 40px 0 24px;
  }
  
  .who__title {
    font-size: 26px;
    margin-bottom: 20px;
    padding-left: 20px;
  }
  
  .who__card {
    padding: 20px;
    gap: 20px;
    margin-bottom: 24px;
    border-radius: 24px;
  }
  
  .who__heading {
    font-size: 24px;
  }
  
  .who__copy p {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 14px;
  }

  /* WHO (mobile): keep text + image side-by-side */
  .who__pill { margin-bottom: 22px; }
  .who .container { align-items: stretch; }
  .who__item {
    grid-template-columns: 1fr 195px;
    gap: 20px;
    padding: 26px 0;
    align-items: start;
  }
  .who__item--reverse { grid-template-columns: 195px 1fr; }
  .who__media { justify-self: end; }
  .who__item--reverse .who__media { justify-self: start; }
  .who__heading { font-size: 22px; line-height: 22px; }
  .who__desc { font-size: 14px; }
  .who__logos img { height: 14px; max-width: 56px; }
  .who__logos img.who__logo--2x { height: 28px; max-width: 112px; }
  .who__logos img.who__logo--4x { height: 56px; max-width: 224px; }
  .who__media { border-radius: 10px; height: auto; aspect-ratio: 1 / 1; }
  .who__media img { border-radius: 10px; }
  .who__btn {
    width: 80px;
    height: 23px;
    padding: 0 6px;
    gap: 4px;
    border-radius: 17.455px;
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight: 600;
    font-size: 8px;
    line-height: 20px;
    letter-spacing: 0.03em;
    text-align: center;
    justify-content: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    border-width: 1.5px;
    opacity: 1;
  }
  .who__btn-arrow { font-size: 12px; line-height: 1; display: inline-block; }
  
  .contact {
    padding: 40px 0;
  }
  
  .contact-card {
    padding: 20px;
    gap: 28px;
    border-radius: 24px;
  }
  
  /* Contact card (match Figma) */
  .contact-card {
    background: #fff;
    border-radius: 30.6px;
    box-shadow: 0px 16.32px 37.4px 0px rgba(107, 107, 107, 0.25);
  }

  .contact-card__left .contact-card__title {
    font-size: 30px !important;
    line-height: 30px !important; /* 100% */
    font-weight: 500;
    margin-bottom: 6px;
  }

  .contact-card__left p.muted {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight: 400;
    font-size: 14px !important;
    line-height: 18px !important;
    letter-spacing: 0;
    color: var(--text);
    margin: 0 0 14px;
    max-width: 227px;
    text-align: center;
  }
  
  .contact-card__line {
    margin-top: 14px;
    /* On small screens we keep the row centered like before. */
    justify-content: center;
    width: auto;
    max-width: none;
    align-items: flex-start;
  }
  
  .contact-card__left .contact-card__content {
    font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-weight: 400;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0.02em;
    color: var(--muted);
  }

  .contact-card__label,
  .contact-card__link,
  .contact-card__link:visited {
    font-weight: 400;
    color: var(--muted);
  }

  .contact-card__line--email .contact-card__content {
    font-size: 13px !important;
    line-height: 1.8 !important;
    letter-spacing: 0.03em;
  }

  .contact-card__icon {
    width: 18px;
    height: 18px;
  }

  .contact-card__divider {
    height: 28px;
    background: #e4e4e4;
  }
  
  .field {
    margin-bottom: 16px;
  }
  
  .field__label {
    font-size: 14px;
  }

  .contact-card__form .field__label {
    color: var(--text) !important;
  }
  
  .field__input {
    height: 46px;
    font-size: 15px;
  }
  
  .checkbox {
    font-size: 13px;
    margin: 16px 0 20px;
  }

  .contact-card__form .checkbox,
  .contact-card__form .checkbox span {
    color: var(--muted);
  }

  .contact-card__form .checkbox a {
    color: var(--muted);
    text-decoration: underline;
  }
  
  .btn--gradient {
    height: 50px;
    font-size: 15px;
    border-radius: 30px;
  }
  
  .faq {
    padding: 40px 0 50px;
  }

  .faq { --faq-gutter: 32px; }
  
  .faq__title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  
  .faq-item {
    padding: 12px 0;
  }
  
  .faq-item summary {
    font-size: 16px;
    line-height: 20px;
    gap: 12px;
  }
  
  .faq-item__body {
    font-size: 14px;
  }
  
  .cta-footer {
    padding: 16px 0 24px;
  }
  
  .cta {
    padding: 40px 20px;
    border-radius: 20px;
    margin-bottom: 20px;
  }
  
  .cta h2 {
    font-size: 26px;
    margin-bottom: 14px;
  }
  
  .cta p {
    font-size: 14px;
    margin-bottom: 20px;
  }
  
  .footer {
    gap: 32px;
    padding: 32px 16px 24px;
  }
  
  .footer__brand img {
    height: 30px;
  }
  
  .footer__tagline {
    font-size: 22px;
    margin-top: 12px;
  }
  
  .footer__social {
    margin-top: 20px;
  }
  
  .footer__social a {
    width: 28px;
    height: 28px;
  }
  
  .footer__social img {
    width: 20px;
    height: 20px;
  }

  .footer__social svg {
    width: 28px;
    height: 28px;
  }
  
  .footer__cols {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  
  .footer__col-title {
    font-size: 17px;
    margin-bottom: 14px;
  }
  
  .footer__text {
    font-size: 14px;
    margin-bottom: 24px;
  }
  
  .footer__link {
    font-size: 14px;
  }
  
  .footer-bottom {
    padding: 14px 16px;
    font-size: 14px;
  }
  
  .footer-bottom__right {
    gap: 16px;
    font-size: 13px;
  }
  
  main {
    padding-top: 90px !important;
  }
}

/* XS Breakpoint - Small phones (max-width: 480px) */
@media (max-width: 480px) {
  :root {
    --header-clearance: 86px;
  }

  .site-header {
    width: calc(100% - (var(--container-gutter) * 2));
    top: 12px;
  }
  
  .nav {
    padding: 10px 12px;
    min-height: 64px;
    border-radius: 16px;
  }
  
  .brand__logo {
    height: 38px;
  }
  
  /* Contact: keep title size like design */
  .contact-card__title {
    font-size: 30px;
    line-height: 1;
  }

  /* Map: override .container padding for this block (small phones) */
  .map__mobile-stats.container {
    padding-left: 45px;
    padding-right: 12px;
  }
  
  .hero {
    padding: 32px 0 24px;
  }
  
  .hero__title {
    font-size: 24px;
    line-height: 32px;
  }
  
  .hero__subtitle {
    font-size: 15px;
    line-height: 24px;
  }
  
  .pill {
    height: 32px;
  }
  
  .pill__tag {
    height: 30px;
    padding: 0 10px;
    font-size: 12px;
  }
  
  .pill__text {
    padding: 0 8px;
    font-size: 12px;
  }
  
  .hero__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
  }

  .hero__actions .btn {
    flex: 0 1 auto;
    min-width: 0;
    width: auto;
    white-space: nowrap;
    height: 44px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    padding: 0 16px;
  }
  
  .hero__media {
    margin-top: -25px;
  }
  
  .logos__track--top {
    margin-bottom: 14px;
  }
  
  .logos__set { gap: 24px; }

  .logos {
    --marquee-logo-box-height: 44px;
    --marquee-logo-height: 24px;
    --marquee-logo-width: 92px;
    /* Keep enough space so "Case Study" pill never clips */
    --marquee-tag-slot: 22px;
    --marquee-logo-row-gap: 5px;
    --marquee-item-min-width: 70px;
  }

  .logo-item--scale2 {
    --logo-box-height: 66px;
    --logo-scale: 1.45;
  }
  
  .logo-item {
    min-width: var(--marquee-item-min-width);
  }
  
  .logo-item img {
    height: var(--marquee-logo-height);
    max-width: var(--marquee-logo-width);
  }
  
  .logo-item--lg img {
    height: var(--marquee-logo-height);
    max-width: var(--marquee-logo-width);
  }
  
  .logo-item__tag {
    font-size: 9px;
    padding: 3px 8px;
    line-height: 1.15;
  }
  
  .logo-text {
    font-size: 14px;
  }
  
  .stats__mobile {
    padding: 26px 0;
  }

  .stats__mobile > :not(.stats__mobile-cards) {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
  
  .stats__mobile-title {
    font-size: 30px;
    margin-bottom: 20px;
  }
  
  .stats__mobile-pill {
    padding: 8px 16px;
    margin-bottom: 18px;
    gap: 8px;
  }
  
  .stats__mobile-pill-dot {
    width: 6px;
    height: 6px;
  }
  
  .stats__mobile-cards {
    gap: 10px;
  }
  
  .stats__mobile-card {
    padding: 24px 14px;
    border-radius: 18px;
  }
  
  .stats__mobile-card-value {
    font-size: 24px;
  }
  
  .stats__mobile-card-label {
    font-size: 12px;
  }
  
  .service-card {
    padding: 20px;
    border-radius: 20px;
  }
  
  .service-card__title {
    font-size: 32px;
    line-height: 40px;
    font-weight: 400;
  }

  .service-card__media img {
    width: 100%;
    max-height: 480px;
    object-fit: contain;
  }

  .AI-email-summary .service-card__media img {
    max-height: 440px;
  }
  
  .bullets li {
    font-size: 13px;
    padding-left: 36px;
  }
  
  .quote-card {
    width: 260px;
    max-width: 260px;
  }

  .quote-card__brand-logo {
    height: 18px;
    max-width: 84px;
  }

  .quote-card__brand-logos {
    max-width: 84px;
    flex: 0 1 84px;
    min-width: 0;
  }

  .quote-card__brand-logos--double .quote-card__brand-logo {
    height: 15px;
    max-width: 64px;
  }

  .testimonials__row--bottom {
    display: block;
  }
  
  .who__title {
    font-size: 22px;
    padding-left: 20px;
  }
  
  .who__heading {
    font-size: 20px;
  }
  
  .contact-card__title {
    font-size: 22px;
  }
  
  .faq__title {
    font-size: 22px;
  }
  
  .cta h2 {
    font-size: 22px;
  }
  
  .footer__tagline {
    font-size: 20px;
  }
  
  main {
    padding-top: 80px !important;
  }
}


/* ========================================
   Footer Redesign (v3)
   ======================================== */
.footer-container {
  /* Use the same container rules/gutters as the rest of the site */
  max-width: var(--container);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}

.footer.footer--v3 {
  margin: 0;
  max-width: none;
  width: 100%;
  padding: 20px 0 40px;
  display: block;
  background: #fff;
}

.footer--v3 .footer__main {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.footer--v3 .footer__brand img {
  width: 84px;
  height: 52px;
  object-fit: contain;
}

.footer--v3 .footer__headline {
  font-weight: 400;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: 0;
  color: var(--text);
  margin: 10px 0 0;
  white-space: normal;
}

.footer--v3 .footer__social {
  display: flex;
  gap: 12px;
  margin-top: 6px;
}

.footer--v3 .social-icon {
  position: relative;
  width: 33px;
  height: 33px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.footer--v3 .social-icon svg {
  width: 33px;
  height: 33px;
}

.footer--v3 .social-icon__default,
.footer--v3 .social-icon__hover {
  transition: opacity 0.3s ease;
}

.footer--v3 .social-icon__hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

@media (hover: hover) {
  .footer--v3 .social-icon:hover {
    transform: translateY(-2px);
  }

  .footer--v3 .social-icon:hover .social-icon__default {
    opacity: 0;
  }

  .footer--v3 .social-icon:hover .social-icon__hover {
    opacity: 1;
  }
}

.footer--v3 .footer__cols--v3 {
  display: grid;
  /* Mobile: match previous footer structure (2x2 grid) */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
  row-gap: 36px;
}

.footer--v3 .footer__col {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer--v3 .footer__col-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 4px;
  text-transform: none;
}

.footer--v3 .footer__col-title--blue {
  color: #0033ff;
}

.footer--v3 .footer__contact-info {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer--v3 .footer__contact-info span {
  font-size: 15px;
  color: var(--muted);
  font-weight: 400;
  white-space: nowrap;
}

/* legacy subsection (kept for backwards compatibility) */
.footer--v3 .footer__subsection {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer--v3 .footer__watermark-section {
  position: relative;
  margin-top: 18px;
}

.footer--v3 .footer__watermark {
  width: min(520px, 90%);
  height: auto;
  opacity: 0.08;
  /* tint watermark to #2d2d2d (matches design) */
  filter: brightness(0) saturate(100%) invert(18%);
  pointer-events: none;
}

/* Only show the watermark on larger/taller viewports */
@media (max-width: 1024px), (max-height: 700px) {
  .footer--v3 .footer__watermark-section {
    display: none !important;
  }
}

.footer--v3 .footer__link {
  font-size: 15px;
  color: var(--muted);
  text-decoration: none;
  font-weight: 400;
  line-height: 1.5;
  transition: color 0.3s ease;
  margin: 0;
}

.footer--v3 .footer__link:hover {
  color: #0033ff;
}

@media (max-width: 430px) {
  /* Keep contact numbers readable on narrow screens. */
  .footer--v3 .footer__col--contact {
    grid-column: 1 / -1;
  }

  .footer--v3 .footer__contact-info span {
    font-size: 14px;
  }
}

.footer--v3 .footer__bottom {
  border-top: 1px solid #f0f0f0;
  padding: 26px 0 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.footer--v3 .footer__copyright {
  font-size: 15px;
  color: var(--muted);
  margin: 0;
}

.footer--v3 .footer__legal {
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: center;
  font-size: 14px;
  color: var(--muted);
}

.footer--v3 .footer__legal a {
  color: var(--muted);
  text-decoration: none;
}

.footer--v3 .footer__sep { color: #e0e0e0; }

@media (min-width: 1024px) {
  .footer.footer--v3 {
    padding: 80px 0 40px;
  }

  .footer--v3 .footer__main {
    display: grid;
    grid-template-columns: minmax(280px, 1.05fr) minmax(0, 1.95fr);
    gap: 72px;
    align-items: start;
  }

  .footer--v3 .footer__left {
    position: relative;
    min-height: 280px;
  }

  .footer--v3 .footer__watermark-section {
    position: absolute;
    left: -20px;
    bottom: -14px;
    margin-top: 0;
  }

  .footer--v3 .footer__cols--v3 {
    grid-template-columns: 1.25fr 0.9fr 1fr 1fr;
    gap: 56px;
  }

  .footer--v3 .footer__bottom {
    text-align: left;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
  }

  .footer--v3 .footer__legal {
    justify-content: flex-end;
  }
}

/* Very narrow screens: fall back to single column */
@media (max-width: 360px) {
  .footer--v3 .footer__cols--v3 {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }
}

@media (max-width: 640px) {
  .footer-container {
    padding-inline: var(--container-gutter);
  }

  /* Make legal links readable and not covered by the floating demo widget */
  .footer--v3 .footer__legal {
    font-size: 15px;
  }
  .footer--v3 .footer__legal a {
    color: rgba(29, 29, 29, 0.72);
    text-decoration: none;
  }
  .footer--v3 .footer__bottom {
    margin-top: 18px;
    padding-bottom: 110px;
  }
}

/* Who (mobile): keep hospitality logos in one row */
@media (max-width: 640px) {
  .who__logos[aria-label="Hospitality brands"] {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 12px;
    padding-bottom: 4px;
  }
  .who__logos[aria-label="Hospitality brands"]::-webkit-scrollbar { display: none; }
  .who__logos[aria-label="Hospitality brands"] img { flex: 0 0 auto; }
}

/* ------------------------------------------------------------ */
/* Single testimonial sections (industry/team/product pages)     */
/* Remove the divider line between testimonials and logo strip. */
/* ------------------------------------------------------------ */
.testimonials.testimonials--single {
  border-bottom: 0 !important;
}

.testimonials.testimonials--single::before,
.testimonials.testimonials--single::after {
  content: none !important;
}

/* Single-testimonial pages: disable hover lift/scale effects */
.testimonials.testimonials--single .quote-card {
  transition: none !important;
}

.testimonials.testimonials--single .quote-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

.testimonials.testimonials--single .quote-card:hover .quote-card__avatar {
  transform: none !important;
}

/* ------------------------------------------------------------ */
/* Legal pages (Terms, etc.)                                    */
/* Centered column, plain readable text (not blog styling).     */
/* ------------------------------------------------------------ */
.legal-page {
  padding: 28px 0 72px;
}

.legal-page__container {
  max-width: 860px;
}

.legal-page__header {
  text-align: center;
  margin-bottom: 22px;
}

.legal-page__title {
  margin: 0 0 8px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.15;
  color: #111;
}

.legal-page__meta {
  color: var(--muted);
  font-size: 14px;
}

.legal-page__container p,
.legal-page__container li,
.legal-page__container a {
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: var(--text);
}

.legal-page__container h2 {
  margin: 26px 0 10px;
  font-family: "Nohemi", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 26px;
  color: #111;
}

.legal-page__container ul {
  margin: 10px 0 14px;
  padding-left: 22px;
}

.legal-page__container li {
  margin: 10px 0;
}

.legal-page__contact {
  margin-top: 10px;
  display: grid;
  gap: 6px;
  justify-items: center;
  text-align: center;
}
