/* =========================================================
   ATISFY - FIGMA FIDELITY LAYER
   Approved board: Figma file qD7vdwupPN7dckfpKC512a, node 2311:2903
   Loaded after theme.css. Every rule here corrects the base theme to the approved frames.
   Selectors are prefixed with #page-container#page-container (specificity 2,0,0) so they win
   against the base theme's #page-container rules without touching them.
   Audit item ids (G-xx, H-xx, C-xx, A-xx, CS-xx, B-xx, M-xx, P-xx) refer to figma-audit/FIGMA-VS-SITE-AUDIT.md
   ========================================================= */

/* ---------- Tokens (light = approved design) ---------- */
html[data-theme="light"] {
  --atisfy-surface: #f2f2f2;                       /* Figma Surface/Secondary */
  --atisfy-border: #dcdfe3;                        /* Figma Border/Primary */
  --atisfy-heading: #000000;                       /* Figma Text/Heading */
  --atisfy-divider-line: #dde0e4;                  /* G-11 */
  --atisfy-column-divider-gradient: linear-gradient(90deg, rgba(221, 224, 228, 0) 0%, #dde0e4 52.68%, rgba(221, 224, 228, 0) 100%);
}
:root {
  --atisfy-cta-width: 135px;                       /* G-04 */
  --atisfy-footer-width: 1216px;
  --atisfy-footer-column-gap: 111px;
  --atisfy-text-violet: #553cf4;
}

/* ---------- G-12 / G-13: headings (Figma 'Landing Title/H3 Title': Inter 550, 40/48, -1px) ---------- */
html[data-theme="light"] #page-container#page-container .et_pb_text h2,
html[data-theme="light"] #page-container#page-container h2.et_pb_module_header {
  font-weight: 550 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.2 !important;
}

/* ---------- G-02 / G-03 / G-04 / G-06: header ---------- */
#page-container#page-container .atisfy-header-menu .et-menu > li > a {
  color: #758195 !important;
}
#page-container#page-container .atisfy-header-menu .et-menu > li > a:hover,
#page-container#page-container .atisfy-header-menu .et-menu > li:hover > a {
  color: #111111 !important;
}
#page-container#page-container .atisfy-header-cta,
#page-container#page-container .atisfy-header-cta.et_pb_button {
  width: var(--atisfy-cta-width) !important;
  min-width: var(--atisfy-cta-width) !important;
}
#page-container#page-container .atisfy-header-actions {
  gap: 24px !important;
}
@media (min-width: 981px) {
  #page-container#page-container .atisfy-header-section {
    min-height: 76px !important;
  }
  #page-container#page-container .atisfy-header-section .et_pb_row.atisfy-header-row {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    column-gap: 24px !important;
    min-height: 76px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
  #page-container#page-container .atisfy-header-row > .atisfy-header-logo {
    justify-self: start !important;
  }
  #page-container#page-container .atisfy-header-row > .atisfy-header-menu {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    justify-self: center !important;
    transform: translateX(-16px);
  }
  #page-container#page-container .atisfy-header-row > .atisfy-header-actions {
    justify-self: end !important;
  }
}
/* chevron after Solutions / Resources: 16px stroke icon in #758195 */
#page-container#page-container .atisfy-header-menu .et-menu > li.menu-item-has-children > a:first-child {
  padding-right: 22px !important;
}
#page-container#page-container .atisfy-header-menu .et-menu > li.menu-item-has-children > a:first-child::after {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  font-size: 0 !important;
  right: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23758195' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
}

/* ---------- G-07 / G-08 / G-09 / G-10: footer ---------- */
#page-container#page-container .atisfy-footer-section > .et_pb_row,
#page-container#page-container .atisfy-footer-section .atisfy-footer-top-row {
  max-width: 1216px !important;
}
#page-container#page-container .atisfy-footer-top-row {
  grid-template-columns: 313px 238px 179px 1fr !important;
  column-gap: 111px !important;
}
#page-container#page-container .atisfy-footer-nav p:first-child,
#page-container#page-container .atisfy-footer-nav p:first-child strong,
#page-container#page-container .atisfy-footer-nav p:first-child b {
  text-transform: uppercase !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: #000000 !important;
}
#page-container#page-container .atisfy-footer-nav p a,
#page-container#page-container .atisfy-footer-nav p a:link,
#page-container#page-container .atisfy-footer-nav p a:visited {
  font-family: Inter, Arial, sans-serif !important;
  color: var(--atisfy-text-soft) !important;
}
#page-container#page-container .atisfy-footer-nav p a:hover {
  color: #111111 !important;
}
#page-container#page-container .atisfy-social-media {
  display: none !important;                         /* G-10: not in the approved footer */
}
#page-container#page-container .atisfy-footer-copy,
#page-container#page-container .atisfy-footer-copy p {
  margin: 28px 0 0 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  letter-spacing: 0.5px !important;
  color: var(--atisfy-text-soft) !important;
  text-align: left !important;
}
#page-container#page-container .atisfy-footer-nav p a {
  white-space: nowrap !important;
}

/* =========================================================
   HOME
   ========================================================= */
/* H-03: hero pill 282 x 49 */
body.home #page-container#page-container .atisfy-shine-border .et_pb_text_inner {
  min-height: 47px !important;
  padding: 14px 30px !important;
}
/* H-02: hero rhythm (pill -> H1 34, H1 -> sub-head 35, sub-head -> paragraph 33 px) */
body.home #page-container#page-container .et_pb_section:first-of-type .et_pb_column > .et_pb_module:nth-child(1) { margin-bottom: 1px !important; }
body.home #page-container#page-container .et_pb_section:first-of-type .et_pb_column > .et_pb_module:nth-child(3) { margin-top: 3px !important; }
body.home #page-container#page-container .et_pb_section:first-of-type .et_pb_column > .et_pb_module:nth-child(4) { margin-top: 3px !important; }

/* H-05: logo strip - no extra marquee padding, logos darkened to the design's #a5a5a5 on light */
body.home #page-container#page-container .atisfy-infinite-scroll-wrapper { padding: 0 !important; }
html[data-theme="light"] body.home #page-container#page-container .atisfy-infinite-scroll-item img { filter: brightness(0.816) !important; }

/* H-07 / H-08 / H-09 / H-10: ecosystem product block (image 583 x 623 + text column at +114 px) */
body.home #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row {
  min-height: 623px !important;
  gap: 114px !important;
  justify-content: flex-start !important;
  background: var(--atisfy-bg, #ffffff) !important; /* opaque: a sticky card must hide the one it slides over */
  border-radius: 0 !important;
  width: min(calc(100% - 48px), 1216px) !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:first-child {
  flex: 0 0 583px !important;
  max-width: 583px !important;
  border-radius: 36px !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:first-child img,
body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:first-child .et_pb_image img {
  border-radius: 36px !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:last-child {
  flex: 1 1 auto !important;
  max-width: 519px !important;
  padding: 0 !important;
  gap: 0 !important;
  justify-content: center !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_text h3 {
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 550 !important;
  font-size: 32px !important;
  line-height: 40px !important;
  letter-spacing: -0.02em !important;
  color: var(--atisfy-heading, #000) !important;
  margin: 40px 0 0 !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_text p {
  font-size: 18px !important;
  line-height: 28px !important;
  color: var(--atisfy-text-soft) !important;
  margin: 24px 0 0 !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row ul {
  padding-left: 27px !important;
  margin: 24px 0 0 !important;
  gap: 20px !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row ul li {
  font-size: 18px !important;
  line-height: 20px !important;
  color: var(--atisfy-text-soft) !important;
}
/* H-10: CTA is a violet text link with a chevron, not a pill */
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button_module_wrapper { margin-top: 48px !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button,
body.home #page-container#page-container .atisfy-stacked-parallax-row a.atisfy-btn {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--atisfy-text-violet) !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 500 !important;
  gap: 8px !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button:hover { background: transparent !important; color: #4a34d6 !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button::before { content: none !important; display: none !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button::after {
  content: "" !important;
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  margin: 0 0 0 8px !important;
  width: 16px !important;
  height: 16px !important;
  font-size: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M6 3.5l4.5 4.5L6 12.5' stroke='%23553cf4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
}

/* H-13: stats - near-black numbers, grey 2-line labels, tooltip on the asterisk metric */
body.home #page-container#page-container .et_pb_number_counter .percent,
body.home #page-container#page-container .et_pb_number_counter .percent p,
body.home #page-container#page-container .et_pb_number_counter .percent-value {
  color: #111111 !important;
  font-weight: 700 !important;
}
body.home #page-container#page-container .et_pb_number_counter h3,
body.home #page-container#page-container .et_pb_number_counter .title {
  white-space: pre-line !important;
  color: var(--atisfy-text-soft) !important;
  font-weight: 400 !important;
}
body.home #page-container#page-container .atisfy-has-tip { position: relative; }

/* H-16 / H-17: Resources */
html[data-theme="light"] #page-container#page-container .atisfy-recent-hero-card__title,
html[data-theme="light"] #page-container#page-container .atisfy-recent-hero-card__date,
html[data-theme="light"] #page-container#page-container .atisfy-recent-hero-card h3 {
  color: #ffffff !important;
}
#page-container#page-container .atisfy-recent-stacked-item__read-more,
#page-container#page-container .atisfy-recent-stacked-item__read-more:link {
  color: var(--atisfy-text-soft) !important;
}

/* ---- Home refinements (measured against the approved frame) ---- */
body.home #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row {
  width: min(100%, 1216px) !important;
}
/* heading block above the first product: H2 +2, sub-title -4, first card +33 */
body.home #page-container#page-container .atisfy-stacked-parallax-wrap > .et_pb_column > .et_pb_module:nth-child(1) { margin-top: 2px !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-wrap > .et_pb_column > .et_pb_module:nth-child(2) { margin-top: -4px !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stack-row-1 { margin-top: 33px !important; }
/* product text rhythm: icon -> title 40, title -> description 29, bullets pitch 40, bullets -> link 48 */
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_text h3 {
  margin-top: 34px !important;
  letter-spacing: -0.01em !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_text p { margin-top: 21px !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:last-child { padding-bottom: 14px !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button,
body.home #page-container#page-container .atisfy-stacked-parallax-row a.atisfy-btn {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  align-items: center !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button,
body.home #page-container#page-container .atisfy-stacked-parallax-row a.atisfy-btn {
  flex-direction: row !important;
  height: 24px !important;
}
/* product description + bullets carry the design's slight negative tracking */
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_text p,
body.home #page-container#page-container .atisfy-stacked-parallax-row ul li {
  letter-spacing: -0.012em !important;
}
/* heading tracking measured from the approved frame: ~-0.01em (ink widths 417 / 354) */
html[data-theme="light"] #page-container#page-container .et_pb_text h2,
html[data-theme="light"] #page-container#page-container h2.et_pb_module_header {
  letter-spacing: -0.01em !important;
}
/* stats labels 22/28, closer to the numbers */
body.home #page-container#page-container .et_pb_number_counter h3,
body.home #page-container#page-container .et_pb_number_counter .title {
  line-height: 28px !important;
  margin-top: -8px !important;
}
body.home #page-container#page-container .atisfy-stacked-parallax-row ul { margin-top: 20px !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:last-child { padding-bottom: 6px !important; }

/* tooltip on the asterisk metric (Figma: white 316px bubble, 8px radius, soft shadow, caret) */
body.home #page-container#page-container [data-tip] { position: relative; cursor: help; }
body.home #page-container#page-container [data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  bottom: 39px;
  transform: translateX(calc(-50% + 65px));
  width: 316px;
  box-sizing: border-box;
  padding: 5.5px 12px;
  background: #ffffff;
  color: #111111;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(23, 23, 23, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 5;
}
/* caret under the bubble, pointing at the asterisk */
body.home #page-container#page-container [data-tip]::before { content: ""; position: absolute; left: calc(50% + 65px); bottom: 34px; width: 10px; height: 10px; background: #ffffff; transform: translateX(-50%) rotate(45deg); box-shadow: 3px 3px 6px rgba(23, 23, 23, 0.06); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease; z-index: 6; }
body.home #page-container#page-container [data-tip]:hover::before, body.home #page-container#page-container [data-tip]:focus-within::before { opacity: 1; visibility: visible; }
body.home #page-container#page-container [data-tip]:hover::after,
body.home #page-container#page-container [data-tip]:focus-within::after { opacity: 1; visibility: visible; }

/* ---- Home: Resources, partners spacing, footer copyright ---- */
/* stats labels: -2 instead of -8 */
body.home #page-container#page-container .et_pb_number_counter h3,
body.home #page-container#page-container .et_pb_number_counter .title { margin-top: -2px !important; }

/* partners -> Resources: +37 px; Resources sub-title -> cards: -24 px */
body.home #page-container#page-container .et_pb_row.portfolio { margin-top: 37px !important; }
#page-container#page-container .atisfy-recent-posts-showcase { margin-top: 36px !important; }

/* H-17: list thumbnails 120 px at the column edge, 25 px gap, 40 px between rows */
#page-container#page-container .atisfy-recent-stacked-column {
  gap: 40px !important;
  justify-content: flex-start !important;
}
#page-container#page-container .atisfy-recent-stacked-item {
  min-height: 120px !important;
  padding: 0 !important;
  gap: 25px !important;
  border-radius: 0 !important;
}
#page-container#page-container .atisfy-recent-stacked-item__image {
  width: 120px !important;
  height: 120px !important;
}

/* G-10: copyright under the tagline: 12 px */
#page-container#page-container .atisfy-footer-copy,
#page-container#page-container .atisfy-footer-copy p {
  margin: 12px 0 0 !important;
  font-size: 12px !important;
}

/* ecosystem frames: keep the approved description line breaks; centre the CTA chevron on the text */
.atisfy-nb { white-space: nowrap; }
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button { align-items: center !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button::after { transform: none !important; top: auto !important; inset: auto !important; vertical-align: middle; }
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button_module_wrapper { margin-top: 42px !important; }

/* ---- footer top divider (Figma: 1px fading line 94px below the last section, logo 73px below it) ---- */
#page-container#page-container .atisfy-footer-section {
  position: relative !important;
  margin-top: 15px !important;
}
#page-container#page-container .atisfy-footer-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(1216px, 100%);
  height: 1px;
  transform: translateX(-50%);
  background: var(--atisfy-column-divider-gradient);
  pointer-events: none;
}
/* partners block +4, Resources cards +3 (fine tuning from measured offsets) */
body.home #page-container#page-container .et_pb_row:has(+ .et_pb_row.partner-logo) { margin-top: 4px !important; }
body.home #page-container#page-container .et_pb_row.portfolio { margin-top: 35px !important; }
#page-container#page-container .atisfy-recent-posts-showcase { margin-top: 39px !important; }
/* footer section height: Figma divider -> frame end = 345px */
#page-container#page-container .atisfy-footer-section { min-height: 336px !important; }
#page-container#page-container .atisfy-footer-section { padding-bottom: 17px !important; }
/* re-measured against the approved Home frame (offset by the stacked ecosystem cards) */
body.home #page-container#page-container .et_pb_row:has(+ .et_pb_row.partner-logo) { margin-top: 7px !important; }
body.home #page-container#page-container .et_pb_row.atisfy-gradient-column-border { padding-bottom: 132px !important; }
body.home #page-container#page-container .et_pb_row.portfolio { margin-top: 3px !important; }
#page-container#page-container .atisfy-recent-posts-showcase { margin-bottom: 3px !important; margin-top: 36px !important; }
body.home #page-container#page-container .et_pb_row_9 { margin-top: 4px !important; }
body.home #page-container#page-container .et_pb_row_9 > .et_pb_column > .et_pb_text_21 { margin-top: 2px !important; }
body.home #page-container#page-container .et_pb_row_9 .et_pb_row_10 { padding-top: 8px !important; }
body.home #page-container#page-container .et_pb_row_11 > .et_pb_column > .et_pb_text_23 { margin-top: 2px !important; }
#page-container#page-container .atisfy-footer-section { margin-top: 17px !important; }
/* footer left column: tagline sits 21px under the logo, copyright 55px under the tagline's last line (measured on the approved frames) */
#page-container#page-container .et_pb_image_0_tb_footer { margin-bottom: 0 !important; }
#page-container#page-container .et_pb_text_1_tb_footer { margin-top: 3px !important; }

/* =========================================================
   CONTACT  (post 131)
   ========================================================= */
/* G-05: the approved Contact header has only the theme toggle */
body.page-id-131 #page-container#page-container .atisfy-header-cta { display: none !important; }

/* layout: left column vertically centred against the 592px form card, 64px gap */
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 64px !important;
}
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child > .et_pb_column:first-child {
  flex: 1 1 560px !important;
  max-width: 560px !important;
}
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child > .et_pb_column:last-child {
  flex: 0 0 592px !important;
  max-width: 592px !important;
}

/* C-01 / C-03 left column text */
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child p:only-child strong,
body.page-id-131 #page-container#page-container .et_pb_text p { }
body.page-id-131 #page-container#page-container .atisfy-client-logos { margin: 0; }

/* C-02: client logos - 3 + 3 + 2, centred in rows, 41px between rows */
#page-container#page-container .atisfy-client-logos {
  display: flex;
  flex-direction: column;
  gap: 41px;
  width: 567px;
  max-width: 100%;
  margin-left: -2px;
}
#page-container#page-container .atisfy-client-logos__row {
  display: flex;
  align-items: center;
}
#page-container#page-container .atisfy-client-logos__row--wide { justify-content: space-between; }
#page-container#page-container .atisfy-client-logos__row--start { justify-content: flex-start; gap: 51px; }
#page-container#page-container .atisfy-client-logos img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
html[data-theme="dark"] #page-container#page-container .atisfy-client-logos img { filter: brightness(1.3); }

/* C-04: form card */
body.page-id-131 #page-container#page-container .contact-form,
body.page-id-131 #page-container#page-container .contact-form .et_pb_code_inner {
  width: 100% !important;
  box-sizing: border-box !important;
}
body.page-id-131 #page-container#page-container .contact-form {
  background: #f2f2f2 !important;
  border: 0 !important;
  border-radius: 24px !important;
  padding: 25px !important;
}
html[data-theme="dark"] body.page-id-131 #page-container#page-container .contact-form { background: var(--atisfy-surface) !important; }
.contact-form .atisfy-cf-grid { display: flex; flex-direction: column; gap: 20px; }
.contact-form .atisfy-cf-row { display: flex; gap: 15px; }
.contact-form .atisfy-cf-cell { position: relative; flex: 1 1 0; min-width: 0; }
.contact-form .atisfy-cf-label {
  display: flex !important;
  align-items: center;
  gap: 4px;
  margin: 0 0 4px !important;
  padding: 0 !important;
  font: 400 16px/24px Inter, Arial, sans-serif !important;
  color: #758195 !important;
}
.contact-form .atisfy-cf-req { color: #7f1d1d; margin-left: 6px; font-size: 14px; position: relative; top: -4px; }
.contact-form .atisfy-cf-info { display: inline-flex; margin-left: 2px; }
.contact-form .atisfy-cf-optional { font-size: 14px; color: #8490a1; margin-left: 2px; }
.contact-form .atisfy-cf-fieldwrap, .contact-form .hs-form-field.atisfy-cf-fieldwrap { margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; }
.contact-form .atisfy-cf-hidden { display: none !important; }
.contact-form .atisfy-cf-emptyset { display: none !important; }
.contact-form .atisfy-cf-native,
.contact-form .atisfy-cf-native + * ~ .input { }
.contact-form .atisfy-cf-fieldwrap .input:has(.atisfy-cf-native) { position: absolute; width: 0; height: 0; overflow: hidden; opacity: 0; pointer-events: none; }
.contact-form input.hs-input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not(.atisfy-cf-native),
.contact-form textarea.hs-input,
.contact-form .atisfy-cf-field {
  width: 100% !important;
  height: 48px !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #dcdfe3 !important;
  border-radius: 8px !important;
  font: 400 16px/24px Inter, Arial, sans-serif !important;
  color: #111111 !important;
  box-shadow: none !important;
}
.contact-form textarea.hs-input { height: 112px !important; padding: 12px !important; resize: none; }
.contact-form .hs-input::placeholder, .contact-form .atisfy-cf-field::placeholder, .contact-form .atisfy-cf-phone__num::placeholder { color: #758195 !important; opacity: 1; }
.contact-form .atisfy-cf-field:focus, .contact-form .hs-input:focus { outline: none !important; border-color: #553cf4 !important; box-shadow: 0 0 0 3px rgba(85, 60, 244, 0.15) !important; }

/* dropdown buttons + panels */
.contact-form .atisfy-cf-dd { position: relative; }
.contact-form .atisfy-cf-dd__btn { display: flex !important; align-items: center; justify-content: space-between; text-align: left; cursor: pointer; }
.contact-form .atisfy-cf-dd__text.is-placeholder { color: #758195; }
.contact-form .atisfy-cf-dd__panel {
  display: none;
  position: absolute;
  z-index: 20;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  max-height: 240px;
  overflow-y: auto;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #ffffff;
  border: 1px solid #dcdfe3;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(23, 23, 23, 0.12);
}
.contact-form .atisfy-cf-dd.is-open .atisfy-cf-dd__panel,
.contact-form .atisfy-cf-phone.is-open .atisfy-cf-dd__panel { display: block; }
.contact-form .atisfy-cf-dd__item { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 10px; margin: 0; border-radius: 8px; font: 400 16px/24px Inter, Arial, sans-serif; color: #111111; cursor: pointer; }
.contact-form .atisfy-cf-dd__item:hover { background: #f2f2f2; }
.contact-form .atisfy-cf-dd__item span { margin-left: auto; color: #758195; }

/* mobile number: [flag v] (+91) number */
.contact-form .atisfy-cf-phone { position: relative; display: flex; align-items: center; height: 48px; background: #fff; border: 1px solid #dcdfe3; border-radius: 8px; box-sizing: border-box; }
.contact-form .atisfy-cf-phone__code { display: flex; align-items: center; gap: 6px; height: 100%; padding: 0 10px; background: none; border: 0; border-right: 1px solid #dcdfe3; cursor: pointer; }
.contact-form .atisfy-cf-phone__prefix { padding-left: 8px; font: 400 16px/24px Inter, Arial, sans-serif; color: #758195; }
.contact-form .atisfy-cf-phone__num { flex: 1; min-width: 0; height: 100%; border: 0 !important; background: transparent !important; padding: 0 8px !important; font: 400 16px/24px Inter, Arial, sans-serif !important; color: #111 !important; box-shadow: none !important; }
.contact-form .atisfy-cf-phone__panel { width: 260px; }

/* errors */
.contact-form .hs-error-msgs, .contact-form .atisfy-cf-error { margin: 4px 0 0 !important; padding: 0 !important; list-style: none; font: 400 12px/16px Inter, Arial, sans-serif !important; color: #7f1d1d !important; }
.contact-form .hs-error-msgs label { color: #7f1d1d !important; font-size: 12px !important; line-height: 16px !important; margin: 0 !important; }
.contact-form .has-error .atisfy-cf-phone, .contact-form .has-error .atisfy-cf-field, .contact-form .has-error .hs-input { border-color: #7f1d1d !important; }

/* submit + legal note */
.contact-form .hs_submit { margin: 22px 0 0 !important; }
.contact-form .hs_submit .actions { margin: 0 !important; padding: 0 !important; }
.contact-form input[type="submit"].hs-button {
  display: block;
  width: 100% !important;
  height: 48px !important;
  padding: 0 24px !important;
  background: #553cf4 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font: 600 16px/24px Inter, Arial, sans-serif !important;
  cursor: pointer;
  box-shadow: none !important;
}
.contact-form input[type="submit"].hs-button:hover { background: #4a34d6 !important; }
.contact-form .legal-consent-container, .contact-form .hs-richtext { margin-top: 12px !important; font: 400 12px/16px Inter, Arial, sans-serif !important; color: #758195 !important; }
.contact-form .hs-richtext p { margin: 0 !important; font-size: 12px !important; line-height: 16px !important; color: #758195 !important; }
/* C-05: the hidden HubSpot "Lead Status" field must not render its label */
.contact-form .hs_hs_lead_status, .contact-form .hs-hs_lead_status, .contact-form .hs-form-field:has(input[name="hs_lead_status"]) { display: none !important; }

/* C-07 / C-08: locations - 808 x 564 map + 372px cards, 36px gap */
#page-container#page-container .atisfy-locations-showcase {
  display: flex !important;
  align-items: flex-start !important;
  gap: 36px !important;
  max-width: 1216px !important;
}
#page-container#page-container .atisfy-locations-map-container { flex: 0 0 808px !important; width: 808px !important; max-width: 808px !important; }
#page-container#page-container .atisfy-locations-map-card {
  width: 808px !important;
  height: 564px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 32px !important;
  overflow: hidden !important;
  background: #f2f2f2 !important;
  box-shadow: none !important;
  border: 0 !important;
  position: relative;
}
#page-container#page-container .atisfy-locations-map-card .atisfy-office-map-img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 0 !important; }
html[data-theme="dark"] #page-container#page-container .atisfy-office-map-img--light { display: none !important; }
html[data-theme="dark"] #page-container#page-container .atisfy-office-map-img--dark { display: block !important; filter: invert(0.88) hue-rotate(180deg) brightness(0.9); }
/* markers are baked into the approved artwork: hotspots stay as invisible hover/click targets at the same spots */
#page-container#page-container .atisfy-hotspot-wave, #page-container#page-container .atisfy-hotspot-core { opacity: 0 !important; }
#page-container#page-container .atisfy-map-hotspot { width: 28px !important; height: 28px !important; transform: translate(-50%, -50%) !important; }
#page-container#page-container .atisfy-map-hotspot--loc-india { left: 36.63% !important; top: 45.39% !important; }
#page-container#page-container .atisfy-map-hotspot--loc-singapore { left: 54.46% !important; top: 39.01% !important; }
#page-container#page-container .atisfy-map-hotspot--loc-indonesia { left: 61.39% !important; top: 59.57% !important; }
#page-container#page-container .atisfy-map-hotspot--loc-australia { left: 83.42% !important; top: 88.30% !important; }

#page-container#page-container .atisfy-locations-list { flex: 0 0 372px !important; width: 372px !important; display: flex !important; flex-direction: column !important; gap: 32px !important; }
#page-container#page-container .atisfy-location-card {
  width: 372px !important;
  min-height: 112px !important;
  height: auto !important;
  box-sizing: border-box !important;
  padding: 20px !important;
  border: 1px solid #dcdfe3 !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  display: block !important;
}
html[data-theme="dark"] #page-container#page-container .atisfy-location-card { background: transparent !important; border-color: var(--atisfy-border) !important; }
#page-container#page-container .atisfy-location-card__icon-box,
#page-container#page-container .atisfy-location-card__action-link { display: none !important; }
#page-container#page-container .atisfy-location-card__content { padding: 0 !important; margin: 0 !important; }
#page-container#page-container .atisfy-location-card__title { margin: 0 0 8px !important; font: 500 16px/24px Inter, Arial, sans-serif !important; letter-spacing: 0 !important; }
#page-container#page-container .atisfy-location-card__title a { color: var(--atisfy-heading, #000) !important; text-decoration: none; }
#page-container#page-container .atisfy-location-card__address { margin: 0 !important; font: 400 14px/20px Inter, Arial, sans-serif !important; color: var(--atisfy-text-soft) !important; }

/* ---- refinements from measured output ---- */
body.page-id-131 #page-container#page-container .atisfy-header-actions .et_pb_button_module_wrapper { display: none !important; }
.contact-form .hs-form-field { display: block !important; gap: 0 !important; }
.contact-form .hs-form-field > .input { margin: 0 !important; }
/* C-01 'Trusted Worldwide' is near-black; C-03 rating line is left aligned */
body.page-id-131 #page-container#page-container .atisfy-section .et_pb_column > .et_pb_text:nth-child(3) p { color: #111111 !important; font-weight: 500 !important; }
body.page-id-131 #page-container#page-container .atisfy-section .et_pb_column p:has(> img.wp-image-77),
body.page-id-131 #page-container#page-container .atisfy-section .et_pb_text:has(img.wp-image-77) { text-align: left !important; }

/* ---- pass 2: input height 50, card 593 wide / 24 padding, tighter gaps ---- */
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child > .et_pb_column:last-child { flex: 0 0 593px !important; max-width: 593px !important; }
body.page-id-131 #page-container#page-container .contact-form { padding: 24px !important; }
.contact-form .atisfy-cf-label { margin-bottom: 2px !important; }
.contact-form input.hs-input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not(.atisfy-cf-native),
.contact-form .atisfy-cf-field,
.contact-form .atisfy-cf-phone { height: 50px !important; }
.contact-form textarea.hs-input { height: 112px !important; min-height: 112px !important; max-height: 112px !important; }
.contact-form .hs_submit { margin-top: 8px !important; }
/* left column rhythm */
body.page-id-131 #page-container#page-container .atisfy-section .et_pb_column > .et_pb_text:nth-child(2) { margin-top: 4px !important; }
body.page-id-131 #page-container#page-container .atisfy-section .et_pb_column > .et_pb_text:nth-child(3) { margin-top: 13px !important; }
body.page-id-131 #page-container#page-container .atisfy-section .et_pb_row:first-child .et_pb_column:first-child .et_pb_column:nth-child(2) { margin-top: -7px; }

/* ---- pass 3 ---- */
.contact-form .hs-error-msgs:not(:has(*)) { display: none !important; }
.contact-form .hs-error-msgs { margin: 4px 0 0 !important; }
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child { margin-top: 16px !important; }
body.page-id-131 #page-container#page-container .atisfy-section .et_pb_row:first-child .et_pb_column:first-child .et_pb_column:nth-child(3) { margin-top: -11px; }

/* ---- pass 4: card growth, divider before the locations block ---- */
#page-container#page-container .atisfy-locations-list { height: auto !important; max-height: none !important; }
#page-container#page-container .atisfy-location-card { flex: 0 0 auto !important; height: auto !important; max-height: none !important; overflow: visible !important; }
#page-container#page-container .atisfy-location-card__title { margin-bottom: 4px !important; }
body.page-id-131 #page-container#page-container .atisfy-section { row-gap: 0 !important; }
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) {
  position: relative !important;
  margin-top: 99px !important;
  padding-top: 111px !important;
}
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(calc(100vw - var(--sbw, 0px)), 1440px);
  height: 1px;
  transform: translateX(-50%);
  background: var(--atisfy-column-divider-gradient);
}

/* ---- pass 5: HubSpot's own (hidden) labels still reserved 8px each; submit gap 26 ---- */
.contact-form .hs-form-field > label { display: none !important; margin: 0 !important; height: 0 !important; }
.contact-form .hs_submit { margin-top: 26px !important; }

/* ---- pass 6 ---- */
.contact-form .hs_submit { margin-top: 11px !important; }
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child { margin-top: 18px !important; }

/* ---- pass 7: locations block spacing ---- */
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) { padding-top: 105px !important; }
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) .et_pb_text:nth-child(2) { margin-top: -2px !important; }
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(3), 
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) .et_pb_row { margin-top: 67px !important; }
body.page-id-131 #page-container#page-container .atisfy-section { padding-bottom: 84px !important; }
#page-container#page-container .atisfy-locations-showcase { margin: 0 auto !important; }
#page-container#page-container .atisfy-location-card { padding: 20px 20px 18px !important; }
/* approved card has a 1px #dcdfe3 border (736..1328 x 152..795); padding trimmed so the fields stay where they were */
body.page-id-131 #page-container#page-container .contact-form { border: 1px solid #dcdfe3 !important; padding: 23px 23px 24px !important; box-sizing: border-box !important; }
html[data-theme="dark"] body.page-id-131 #page-container#page-container .contact-form { border-color: var(--atisfy-border) !important; }
/* compensate the 1px taller card */
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) { padding-top: 104px !important; }
body.page-id-131 #page-container#page-container .atisfy-section { padding-bottom: 82px !important; }
body.page-id-131 #page-container#page-container .atisfy-footer-section { margin-top: 18px !important; }
/* dropdown panels as drawn in the frames: 8px padding, 40px rows, 12px row radius; category list shows all 10 options (416px), country list shows 5 rows (216px) and scrolls */
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-dd__panel { padding: 8px !important; border-radius: 16px !important; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-dd__panel:not(:has(img)) { max-height: none !important; overflow: visible !important; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-dd__panel:has(img) { max-height: 216px !important; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-dd__item { padding: 0 8px !important; border-radius: 12px !important; color: #111111 !important; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-dd__item span { color: #758195 !important; }
html[data-theme="dark"] body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-dd__item { color: #ffffff !important; }

/* ---- pixel audit round 2 (measured against the frame): field radius 12, chevrons 20px and lower/right, flag 30x20, textarea padding + no grip, label gap ---- */
body.page-id-131 #page-container#page-container .contact-form input.hs-input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not(.atisfy-cf-native),
body.page-id-131 #page-container#page-container .contact-form textarea.hs-input,
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-field,
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-phone { border-radius: 12px !important; }
body.page-id-131 #page-container#page-container .contact-form textarea.hs-input { padding: 8px 14px !important; resize: none !important; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-dd__btn svg { width: 20px; height: 20px; position: relative; top: 0; right: -4px; flex: 0 0 20px; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-phone__code svg { width: 20px; height: 20px; position: relative; top: 0; flex: 0 0 20px; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-phone__code img { width: 30px !important; height: 20px !important; object-fit: cover; border-radius: 2px; }
/* the frame draws every input ~2px lower than its label: shift the controls visually (no layout change) */
body.page-id-131 #page-container#page-container .contact-form input.hs-input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not(.atisfy-cf-native),
body.page-id-131 #page-container#page-container .contact-form textarea.hs-input,
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-field,
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-phone { position: relative; top: 2px; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-req { margin-left: 5px; top: -5px; }
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-info svg { width: 16px; height: 16px; } 
body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-info svg * { stroke: #758195; stroke-width: 1.5; }

/* =========================================================
   ABOUT (post 111)
   ========================================================= */
/* A-02: gradient runs light -> dark (Figma samples #a7a7a7 at the left edge to #494949 at the right) */
html[data-theme="light"] #page-container#page-container .atisfy-text-gradient,
html[data-theme="light"] #page-container#page-container .atisfy-gradient-heading {
  background: linear-gradient(90deg, #a7a7a7 0%, #494949 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* A-03: team gallery 5 columns 185 / 185 / 317 / 185 / 185, 24px gaps, 204px side cards, 437px centre card */
body.page-id-111 #page-container#page-container .atisfy-leadership-showcase {
  max-width: 1153px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.page-id-111 #page-container#page-container .atisfy-team-gallery {
  grid-template-columns: 185px 185px 317px 185px 185px !important;
  column-gap: 24px !important;
  row-gap: 24px !important;
  justify-content: center !important;
  align-items: start !important;
}
body.page-id-111 #page-container#page-container .atisfy-team-col { gap: 24px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-col--outer-left,
body.page-id-111 #page-container#page-container .atisfy-team-col--outer-right { margin-top: 62px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-col--inner-left,
body.page-id-111 #page-container#page-container .atisfy-team-col--inner-right { margin-top: 15px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-col--center { margin-top: 0 !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card {
  aspect-ratio: auto !important;
  height: 204px !important;
  min-height: 204px !important;
  border-radius: 24px !important;
}
body.page-id-111 #page-container#page-container .atisfy-team-card--hero {
  height: 437px !important;
  min-height: 437px !important;
  border-radius: 24px !important;
}

/* A-04: orbit graphic (centred, 940 x 390) */
body.page-id-111 #page-container#page-container .et_pb_image { text-align: center; }
body.page-id-111 #page-container#page-container .et_pb_image img { display: block; margin: 0 auto; max-width: 100%; height: auto; }
html[data-theme="dark"] body.page-id-111 #page-container#page-container .et_pb_image img[src*="about-orbit"] { filter: invert(0.92) hue-rotate(180deg); }

/* ---- vertical rhythm measured against the approved About frame ---- */
body.page-id-111 #page-container#page-container .atisfy-team-col { align-self: start !important; }
body.page-id-111 #page-container#page-container .atisfy-section { padding-top: 84.6px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(1) .et_pb_column > .et_pb_module:nth-child(2) { margin-top: -14px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(1) .et_pb_column > .et_pb_module:nth-child(3) { margin-top: 23px !important; }

/* A-05: dividers (under the team grid, before OUR TEAM) */
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2),
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6) { position: relative !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2)::before,
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6)::before {
  content: "";
  position: absolute;
  left: 50%;
  width: min(calc(100vw - var(--sbw, 0px)), 1440px);
  height: 1px;
  transform: translateX(-50%);
  background: var(--atisfy-column-divider-gradient);
}
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2)::before { top: 99px; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6)::before { top: 98px; }

body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) { padding-top: 105px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) .et_pb_column > .et_pb_module:nth-child(1) { margin-bottom: -4px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(3) { padding-top: 163px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(4) { padding-top: 155px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(5) { padding-top: 84px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(4) .et_pb_column > .et_pb_module:nth-child(2),
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(5) .et_pb_column > .et_pb_module:nth-child(2) { margin-top: 2px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6) { padding-top: 181px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6) .et_pb_column > .et_pb_module:nth-child(2) { margin-top: 3px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6) .et_pb_column > .et_pb_module:nth-child(3) { margin-top: 2px !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6) .et_pb_column > .et_pb_module:nth-child(4) { margin-top: 63px !important; }

/* A-06: team marquee - 5 rows of 74px tiles, 105px horizontal pitch, ~95px vertical pitch, soft edges */
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper { padding: 0 !important; gap: 21px !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-row { padding: 0 !important; margin: 0 !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-member {
  flex: 0 0 74px !important;
  width: 74px !important;
  height: 74px !important;
  margin-right: 31px !important;
  border-radius: 20px !important;
}
body.page-id-111 #page-container#page-container .atisfy-staff-member img { border-radius: 20px !important; width: 74px !important; height: 74px !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(6) { padding-bottom: 77px !important; }

/* About team cards: caption state from the approved variant frame (no lift/border; gradient from 47% to black; 17/13 caption) */
body.page-id-111 #page-container#page-container .atisfy-team-card:hover,
body.page-id-111 #page-container#page-container .atisfy-team-card:focus-visible,
body.page-id-111 #page-container#page-container .atisfy-team-card.is-hovered {
  transform: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.04) !important;
}
body.page-id-111 #page-container#page-container .atisfy-team-card:hover .atisfy-team-card__image,
body.page-id-111 #page-container#page-container .atisfy-team-card:focus-visible .atisfy-team-card__image,
body.page-id-111 #page-container#page-container .atisfy-team-card.is-hovered .atisfy-team-card__image { transform: none !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card__overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 47%, rgba(0, 0, 0, 1) 100%) !important;
}
body.page-id-111 #page-container#page-container .atisfy-team-card__info { padding: 16px 16px 20px !important; gap: 2px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__info { padding: 24px 32px 28px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card__name { font-size: 17px !important; line-height: 24px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-shadow: none !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__name { font-size: 22px !important; line-height: 30px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card__role { font-size: 13px !important; line-height: 18px !important; letter-spacing: 0 !important; color: rgba(255, 255, 255, 0.8) !important; text-shadow: none !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__role { font-size: 13px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card__info { padding-bottom: 23px !important; padding-left: 15px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card__role,
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__role { font-size: 12px !important; line-height: 16px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card__info { padding-bottom: 24px !important; gap: 3px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card__name { font-size: 16px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__info { padding: 24px 30px 19px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__name { font-size: 20px !important; line-height: 28px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__info { gap: 2px !important; }
body.page-id-111 #page-container#page-container .atisfy-team-card--hero .atisfy-team-card__name { font-size: 19.5px !important; }

/* =========================================================
   About team slider (Slack roster): lean markup from includes/team-sync.php
   - the page prints ONE list (ul/li); assets/js/team-marquee.js builds the 5 rows and the repeated sets (.is-built)
   - two identical sets per row => seamless loop at -50% (the theme's -25% rules assumed four groups)
   - names come from data-name (no extra DOM nodes), shown on hover like before
   - animation only while visible and never for reduced motion; before the script runs (or without JS) the list is a static row
   - NOT using content-visibility here: measured CLS 0.287 on scroll with it, 0.001 without; the section is lazy-built by JS and its images are lazy, so it costs little anyway
   - min-height reserves the final height (454px) so nothing moves when the rows are built
   ========================================================= */
@keyframes atisfyTeamLeft  { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes atisfyTeamRight { from { transform: translate3d(-50%, 0, 0); } to { transform: translate3d(0, 0, 0); } }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-track { animation: none !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row.move-left .atisfy-staff-carousel-track { animation-name: atisfyTeamLeft !important; animation-duration: 82s !important; animation-timing-function: linear !important; animation-iteration-count: infinite !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row.move-right .atisfy-staff-carousel-track { animation-name: atisfyTeamRight !important; animation-duration: 88s !important; animation-timing-function: linear !important; animation-iteration-count: infinite !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row.row-2 .atisfy-staff-carousel-track { animation-duration: 90s !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row.row-3 .atisfy-staff-carousel-track { animation-duration: 78s !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row.row-4 .atisfy-staff-carousel-track { animation-duration: 86s !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row.row-5 .atisfy-staff-carousel-track { animation-duration: 84s !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built.is-offscreen .atisfy-staff-carousel-track { animation-play-state: paused !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper { min-height: 454px; }
body.page-id-111 #page-container#page-container ul.atisfy-staff-carousel-group { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body.page-id-111 #page-container#page-container ul.atisfy-staff-carousel-group > li.atisfy-staff-member { list-style: none !important; }
body.page-id-111 #page-container#page-container .atisfy-staff-member[data-name]::after {
  content: attr(data-name);
  position: absolute; inset: 0; z-index: 5;
  display: flex; align-items: flex-end; justify-content: center;
  box-sizing: border-box; padding: 6px 4px 10px;
  border-radius: 20px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.65) 50%, rgba(0, 0, 0, 0.1) 80%, transparent 100%);
  color: #ffffff; font: 600 11px/1.2 Inter, Arial, sans-serif; letter-spacing: 0.01em; text-align: center; word-break: break-word;
  opacity: 0; transform: translateY(6px); transition: opacity 0.2s ease, transform 0.2s ease; pointer-events: none;
}
body.page-id-111 #page-container#page-container .atisfy-staff-member[data-name]:hover::after { opacity: 1; transform: translateY(0); }
/* hover / keyboard focus pauses only the row that is being hovered (WCAG 2.2.2) */
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row:hover .atisfy-staff-carousel-track, body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row:focus-within .atisfy-staff-carousel-track { animation-play-state: paused !important; }
/* reduced-motion visitors (this includes Windows with 'show animations' switched off) still get the carousel, four times slower, instead of a frozen grid */
@media (prefers-reduced-motion: reduce) {
  body.page-id-111 #page-container#page-container .atisfy-staff-carousel-wrapper.is-built .atisfy-staff-carousel-row .atisfy-staff-carousel-track { animation-duration: 320s !important; }
}
/* tracks start at the left edge of the row (a centred, wider-than-screen track left the right half of the right-moving rows empty) */
body.page-id-111 #page-container#page-container .atisfy-staff-carousel-row { justify-content: flex-start !important; }
/* the module that hosts the slider must not grow to the width of the track (it is a flex item with min-width:auto, which made the track centre itself on an 8000px box) */
body.page-id-111 #page-container#page-container .et_pb_text_inner:has(> .atisfy-staff-carousel-wrapper), body.page-id-111 #page-container#page-container .et_pb_text_inner.atisfy-team-host { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }

/* Contact: the page title is now the single <h1> (was an <h2>); it keeps the approved h2 look (700 / -0.9px / 120%) */
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child h1 { font-weight: 700 !important; letter-spacing: -0.9px !important; line-height: 1.2 !important; }

/* =========================================================
   ARCHIVES: Blog Articles, Market Insights (category archives) + shared toolbar
   ========================================================= */
/* B-05 / CS-02: solid black H1 (no fading gradient), 22/33 two-line sub-title ~410px wide */
html[data-theme="light"] #page-container#page-container .atisfy-category-archive-intro__title {
  background: none !important;
  -webkit-text-fill-color: #000000 !important;
  color: #000000 !important;
}
#page-container#page-container .atisfy-category-archive-intro__subtitle {
  font-size: 22px !important;
  line-height: 33px !important;
  max-width: 410px !important;
}
body.category #page-container#page-container #main-content .container,
body.archive:not(.single) #page-container#page-container #main-content .container {
  padding-top: 85px !important;
}

/* B-04: third title line was clipped (descenders): extend the clamp box and pull the layout back */
body.category #page-container#page-container #left-area article.et_pb_post .atisfy-card-title-text,
body.archive:not(.single) #page-container#page-container #left-area article.et_pb_post .atisfy-card-title-text {
  max-height: 104px !important;
  padding-bottom: 8px !important;
  margin-bottom: -8px !important;
}

/* hidden by the search / filter toolbar */
[data-atisfy-hide="1"] { display: none !important; }

/* CS-03 / B-01 / M-02: Search + Filters toolbar and applied-filter chips */
#page-container#page-container .atisfy-archive-tools { width: 100%; max-width: 1216px; margin: 0 auto 47px; box-sizing: border-box; }
#page-container#page-container .atisfy-archive-tools__row { display: flex; align-items: flex-start; gap: 22px; }
#page-container#page-container .atisfy-archive-search {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 50px;
  margin: 0;
  padding: 0 14px;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #dcdfe3;
  border-radius: 12px;
}
#page-container#page-container .atisfy-archive-search input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0 !important;
  outline: 0;
  background: transparent !important;
  box-shadow: none !important;
  font: 400 16px/24px Inter, Arial, sans-serif;
  color: #111111;
}
#page-container#page-container .atisfy-archive-search input::placeholder { color: #758195; opacity: 1; }
#page-container#page-container .atisfy-archive-search:focus-within { border-color: #553cf4; }
#page-container#page-container .atisfy-archive-filters { position: relative; flex: 0 0 205px; }
#page-container#page-container .atisfy-archive-filters__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 205px;
  height: 50px;
  padding: 0 16px 0 12px;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #dcdfe3;
  border-radius: 12px;
  font: 400 16px/24px Inter, Arial, sans-serif;
  color: #758195;
  cursor: pointer;
}
#page-container#page-container .atisfy-archive-filters__panel {
  display: none;
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #dcdfe3;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(23, 23, 23, 0.1);
}
#page-container#page-container .atisfy-archive-filters.is-open .atisfy-archive-filters__panel { display: block; }
#page-container#page-container .atisfy-archive-filters__item { display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 0 8px; margin: 0; font: 400 16px/24px Inter, Arial, sans-serif; color: #111111; cursor: pointer; }
#page-container#page-container .atisfy-archive-filters__item input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 0;
  background: #ffffff;
  border: 1px solid #8490a1;
  border-radius: 4px;
  cursor: pointer;
}
#page-container#page-container .atisfy-archive-filters__item input[type="checkbox"]:checked {
  background: #175cff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
  border-color: #175cff;
}
#page-container#page-container .atisfy-archive-filters__empty { padding: 10px 8px; font: 400 14px/20px Inter, Arial, sans-serif; color: #758195; }
#page-container#page-container .atisfy-archive-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
#page-container#page-container .atisfy-archive-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 8px;
  background: #f2f2f2;
  border: 1px solid #dcdfe3;
  border-radius: 6px;
  font: 400 12px/16px Inter, Arial, sans-serif;
  color: #111111;
}
#page-container#page-container .atisfy-archive-chip__x { display: inline-flex; padding: 0; background: none; border: 0; cursor: pointer; }
#page-container#page-container .atisfy-archive-chips__clear { padding: 0; background: none; border: 0; font: 400 12px/16px Inter, Arial, sans-serif; color: #1d7afc; cursor: pointer; }
#page-container#page-container .atisfy-archive-empty { margin: 24px auto; text-align: center; font: 400 16px/24px Inter, Arial, sans-serif; color: #758195; }
html[data-theme="dark"] #page-container#page-container .atisfy-archive-search,
html[data-theme="dark"] #page-container#page-container .atisfy-archive-filters__btn,
html[data-theme="dark"] #page-container#page-container .atisfy-archive-filters__panel { background: var(--atisfy-surface); border-color: var(--atisfy-border); }
html[data-theme="dark"] #page-container#page-container .atisfy-archive-search input,
html[data-theme="dark"] #page-container#page-container .atisfy-archive-filters__item { color: #ffffff; }

/* the toolbar sits inside the card grid: span all three columns */
body.category #page-container#page-container #left-area > .atisfy-archive-tools,
body.archive #page-container#page-container #left-area > .atisfy-archive-tools,
body.category #page-container#page-container #left-area > .atisfy-archive-empty,
body.archive #page-container#page-container #left-area > .atisfy-archive-empty { grid-column: 1 / -1; }
body.category #page-container#page-container #left-area > .atisfy-category-archive-intro,
body.archive #page-container#page-container #left-area > .atisfy-category-archive-intro { grid-column: 1 / -1; }
#page-container#page-container .atisfy-category-archive-intro { margin-bottom: 26px !important; }
#page-container#page-container .atisfy-archive-tools { margin-bottom: 0 !important; }
#page-container#page-container .atisfy-archive-tools { margin-bottom: 11px !important; }
body.category-marketing-insights #page-container#page-container .atisfy-category-archive-intro__subtitle { max-width: 610px !important; }
body.category #page-container#page-container #main-content .container { padding-bottom: 68px !important; }

/* ---- archive card internals (measured against the approved Blog frame) ---- */
body.category #page-container#page-container #left-area article.et_pb_post,
body.archive:not(.single) #page-container#page-container #left-area article.et_pb_post { padding: 15px !important; }
html body.archive #page-container#page-container #left-area article.et_pb_post::after {
  box-sizing: border-box !important;
  min-height: 28px !important;
  height: 28px !important;
  margin-top: 8px !important;
}
body.category #page-container#page-container #left-area article.et_pb_post .entry-title,
body.archive:not(.single) #page-container#page-container #left-area article.et_pb_post .entry-title { padding-top: 1px !important; }

/* =========================================================
   CASE STUDIES (page 187, shortcode grid)
   ========================================================= */
/* CS-01: Divi's right-sidebar padding squeezed the wrapper to 1149px and off-centre; use the full 1216px */
body.atisfy-has-case-studies #page-container#page-container #left-area { width: 100% !important; padding-right: 0 !important; float: none !important; }
body.atisfy-has-case-studies #page-container#page-container #main-content .container { padding-top: 85px !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-wrapper { max-width: 1216px !important; width: 100% !important; }
/* CS-02: solid black H1, 22/33 sub-title ~420px wide */
html[data-theme="light"] body.atisfy-has-case-studies #page-container#page-container h1.entry-title {
  background: none !important;
  -webkit-text-fill-color: #000000 !important;
  color: #000000 !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-header { width: min(100%, 420px) !important; max-width: 420px !important; margin: 26px auto 0 !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-description,
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-description p {
  font-size: 22px !important;
  line-height: 33px !important;
  max-width: 420px !important;
  text-align: center !important;
  color: var(--atisfy-text-soft) !important;
}
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-header { margin-top: 16px !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-tabs { margin-top: 70px !important; margin-bottom: 0 !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-archive-tools { margin-top: 46px !important; margin-bottom: 2px !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-pagination { margin-top: 48px !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-tabs { margin-top: 62px !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-archive-tools { margin-top: 48px !important; margin-bottom: -9px !important; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-pagination { margin-bottom: 5px !important; }

/* =========================================================
   SINGLE POST (Theme Builder body layout 312)
   Approved frame: content column starts at x=265 (724 wide), share rail at x=1035
   ========================================================= */
body.single-post #page-container#page-container .et_pb_section_0_tb_body { padding-top: 64px !important; }
body.single-post #page-container#page-container .et_pb_row_0_tb_body,
body.single-post #page-container#page-container .et_pb_row_1_tb_body {
  width: 100% !important;
  max-width: 1216px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 0 0 153px !important;
  box-sizing: border-box !important;
}
body.single-post #page-container#page-container .et_pb_row_0_tb_body { margin-bottom: 0 !important; }
body.single-post #page-container#page-container .et_pb_row_0_tb_body .et_pb_column_0_tb_body { width: 724px !important; max-width: 724px !important; margin: 0 !important; }
body.single-post #page-container#page-container .et_pb_row_1_tb_body { column-gap: 46px !important; }
body.single-post #page-container#page-container .et_pb_row_1_tb_body .et_pb_column_1_tb_body { width: 724px !important; flex: 0 0 724px !important; margin: 0 !important; }
body.single-post #page-container#page-container .et_pb_row_1_tb_body .et_pb_column_2_tb_body { width: 206px !important; flex: 0 0 206px !important; margin: 0 !important; }
/* title 40/48 weight 550, 24px under the back pill, 6px above the category pill */
body.single-post #page-container#page-container .et_pb_code_0_tb_body { margin-bottom: 24px !important; }
body.single-post #page-container#page-container .et_pb_post_title_0_tb_body h1.entry-title {
  font-size: 40px !important;
  line-height: 48px !important;
  font-weight: 550 !important;
  letter-spacing: -0.01em !important;
}
body.single-post #page-container#page-container .et_pb_post_title_0_tb_body { padding-bottom: 0 !important; margin-bottom: 6px !important; }
body.single-post #page-container#page-container .et_pb_post_title_0_tb_body .et_pb_title_container { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body.single-post #page-container#page-container .et_pb_code_1_tb_body { margin-bottom: 29px !important; }
body.single-post #page-container#page-container .et_pb_row_1_tb_body { justify-content: flex-start !important; }
body.single-post #page-container#page-container .et_pb_row_0_tb_body .et_pb_column_0_tb_body { row-gap: 0 !important; gap: 0 !important; }
body.single-post #page-container#page-container .et_pb_code_1_tb_body { margin-bottom: 87px !important; }
body.single-post #page-container#page-container .atisfy-sticky-share-block { padding-top: 25px !important; }
body.single-post #page-container#page-container .atisfy-share-title { margin-bottom: -5px !important; }
body.single-post #page-container#page-container .et_pb_image_0_tb_body { margin-bottom: 1px !important; }
/* body rhythm: paragraphs 26px lines + 14px gap; heading sits 3px further from its text */
body.single-post #page-container#page-container .et_pb_post_content_0_tb_body p,
body.single-post #page-container#page-container .et_pb_post_content_0_tb_body ul { padding-bottom: 14px !important; }
body.single-post #page-container#page-container .et_pb_post_content_0_tb_body h2 { padding-bottom: 19px !important; }

/* =========================================================
   TYPE TUNING: per-element letter-spacing measured from ink-band widths against the approved frames
   (same text + size + weight => same width; the delta is tracking)
   ========================================================= */
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-description,
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-description p { letter-spacing: 0 !important; }
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child .et_pb_column > .et_pb_text:nth-child(2) p { letter-spacing: -0.26px !important; }
body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:nth-child(2) h2 { font-weight: 700 !important; letter-spacing: -0.4px !important; }
body.page-id-131 #page-container#page-container h2.entry-title, body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child h2 { font-weight: 700 !important; letter-spacing: -0.9px !important; }
html[data-theme="light"] body.single-post #page-container#page-container .atisfy-article-breadcrumb-pill,
html[data-theme="light"] body.single-post #page-container#page-container .atisfy-article-breadcrumb-pill span { color: #758195 !important; }
html[data-theme="light"] body.single-post #page-container#page-container .atisfy-article-breadcrumb-pill svg path { stroke: #758195 !important; }
body.page-id-111 #page-container#page-container .atisfy-section > .et_pb_row:first-child h1 { letter-spacing: 0 !important; }

/* Home Resources list items: date lighter, dot = Border/Primary, bigger blue arrow, vertical rhythm measured against the frame */
html[data-theme="light"] #page-container#page-container .atisfy-recent-stacked-item__date { color: #adb4c1 !important; font-weight: 400 !important; }
html[data-theme="light"] #page-container#page-container .atisfy-recent-stacked-item__dot { background: #dcdfe3 !important; }
#page-container#page-container .atisfy-recent-stacked-item__read-more-ar { font-size: 16px !important; font-weight: 600 !important; }
#page-container#page-container .atisfy-recent-stacked-item__header { margin-top: -3px !important; }
#page-container#page-container .atisfy-recent-stacked-item__title { margin-top: 2px !important; }
#page-container#page-container .atisfy-recent-stacked-item__read-more { margin-top: 5px !important; }

/* Home: stats row is 1280px wide in the frame (columns centred at 240 / 560 / 880 / 1200); H2 tracking for Partners + Resources;
   the Resources sub-title wraps at ~700px; the "Marketing at Scale" sub-title is 8px narrower than default tracking */
@media (min-width: 1280px) {
  body.home #page-container#page-container .et_pb_row_8 { width: min(1277px, calc(100vw - var(--sbw, 0px) - 48px)) !important; max-width: none !important; position: relative !important; left: 50% !important; transform: translateX(-50%) !important; }
}
body.home #page-container#page-container .et_pb_text_20 h2,
body.home #page-container#page-container .et_pb_text_22 h2 { font-weight: 700 !important; letter-spacing: -0.4px !important; }
body.home #page-container#page-container .et_pb_text_23 p { max-width: 700px !important; margin-left: auto !important; margin-right: auto !important; }
body.home #page-container#page-container .et_pb_row_7 > .et_pb_column > .et_pb_text:nth-child(2) p { letter-spacing: -0.17px !important; }
body.home #page-container#page-container .et_pb_row_9 > .et_pb_column > .et_pb_text_21 p { letter-spacing: -0.06px !important; }
#page-container#page-container .atisfy-recent-stacked-item__category { letter-spacing: 0.38px !important; }

/* About: Our Story / Mission / Vision headings are bold (700) in the frame; paragraph measure ~745px */
body.page-id-111 #page-container#page-container #main-content .et_pb_text h2:not(.atisfy-gradient-heading):not(.atisfy-text-gradient) { font-weight: 700 !important; letter-spacing: -0.4px !important; }
body.page-id-111 #page-container#page-container #main-content .atisfy-section > .et_pb_row:nth-child(n+3):nth-child(-n+5) .et_pb_text p { max-width: 757px !important; }
body.page-id-111 #page-container#page-container #main-content .atisfy-section > .et_pb_row:nth-child(n+3):nth-child(-n+5) .et_pb_text_7 p { max-width: 750px !important; }
@media (min-width: 1280px) {
  /* four equal columns (319px) like the frame, instead of content-sized flex items */
  body.home #page-container#page-container .et_pb_row_8 .et_pb_number_counter { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; max-width: none !important; }
}
@media (min-width: 1280px) { body.home #page-container#page-container .et_pb_row_8 > .et_pb_column { column-gap: 0 !important; } }
body.home #page-container#page-container h1.entry-title, body.home #page-container#page-container .et_pb_text h1 { font-weight: 650 !important; }
body.home #page-container#page-container .et_pb_text h1 strong { font-weight: 750 !important; }
body.home #page-container#page-container .et_pb_text h1 { transform: translateX(-7px); }
body.home #page-container#page-container .et_pb_text_2 p { font-weight: 500 !important; letter-spacing: 0 !important; }
@media (min-width: 1280px) { body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:last-child { padding-bottom: 16px !important; } }


/* Case Studies cards: pill 1px, title 4px, date 4px higher than the default card rhythm (measured against the frame; card height unchanged) */
#page-container#page-container .atisfy-case-study-card__category { position: relative; top: -1px; }
#page-container#page-container .atisfy-case-study-card__title,
#page-container#page-container .atisfy-case-study-card__date { position: relative; top: -4px; }

/* Home partner cards: logo sizes as drawn in the frame (Meta 110x37, Google 68x67, TikTok 169x38, HubSpot 72x72) */
body.home #page-container#page-container .et_pb_row_10 > .et_pb_column:nth-child(1) img { transform: scale(1.06); }
body.home #page-container#page-container .et_pb_row_10 > .et_pb_column:nth-child(2) img { transform: scale(1.11); }
body.home #page-container#page-container .et_pb_row_10 > .et_pb_column:nth-child(3) img { transform: scale(1.33); }
body.home #page-container#page-container .et_pb_row_10 > .et_pb_column:nth-child(4) img { transform: scale(0.96); }
body.page-id-131 #page-container#page-container p:has(> img.wp-image-77) img, body.page-id-131 #page-container#page-container img.wp-image-77 { position: relative; top: 3px; }

/* Case Studies tabs: three equal 165px tabs (frame), bar 42px high */
body.atisfy-has-case-studies #page-container#page-container .atisfy-cs-tab-btn { padding-left: 7px !important; padding-right: 7px !important; flex: 1 1 0 !important; min-width: 0 !important; text-align: center; }
body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-tabs { min-height: 42px !important; align-items: center; margin-bottom: -2px !important; }
/* archive toolbar icons: search 15px closer to the edge, filter funnel 16px nudged right */
#page-container#page-container .atisfy-archive-search { padding-left: 11px !important; gap: 6px !important; }
#page-container#page-container .atisfy-archive-search svg { width: 15px; height: 15px; }
#page-container#page-container .atisfy-archive-search svg * { stroke-width: 1.5; }
#page-container#page-container .atisfy-archive-filters__btn { padding-right: 10px !important; }
#page-container#page-container .atisfy-archive-filters__btn svg { width: 16px; height: 16px; }

/* Home product cards: product name 500, CTA link 600 (ink density measured against the ecosystem frames) */
body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_text h3 { font-weight: 650 !important; letter-spacing: -0.5px !important; }
body.home #page-container#page-container .atisfy-stacked-parallax-row a.atisfy-btn, body.home #page-container#page-container .atisfy-stacked-parallax-row .et_pb_button { font-weight: 600 !important; letter-spacing: -0.3px !important; }
/* footer column headings: 500 (ink density vs the frame) */
#page-container#page-container .atisfy-footer-nav p:first-child, #page-container#page-container .atisfy-footer-nav p:first-child strong, #page-container#page-container .atisfy-footer-nav p:first-child b { font-weight: 500 !important; }
/* Resources hero card shadow: measured ~1.6x too strong against the frame */
html[data-theme="light"] #page-container#page-container .atisfy-recent-hero-card { box-shadow: 0px 40px 40px -20px rgba(23, 23, 23, 0.05), 0px 10px 10px -5px rgba(23, 23, 23, 0.037), inset 0px 0px 6px rgba(255, 255, 255, 0.4) !important; }
#page-container#page-container .atisfy-recent-hero-card { border-radius: 24px !important; }
#page-container#page-container .atisfy-recent-hero-card__overlay { border-radius: 0 0 24px 24px !important; }

/* =========================================================
   DIVIDERS as drawn in the approved frames:
   section dividers are full-width fades (1440 incl. the fade); footer divider is full-width on Home + About and 1216 elsewhere;
   the Home partners divider is a flat #f2f2f2 line.
   `overflow-x: clip` on sections keeps the 100vw lines from ever widening the page (and keeps sticky cards working).
   ========================================================= */
.et_pb_section { overflow-x: clip; }
/* Home: line under the stats */
body.home #page-container#page-container .et_pb_column_11 { position: relative !important; border-bottom-color: transparent !important; border-image-source: none !important; border-top-color: transparent; }
body.home #page-container#page-container .et_pb_column_11::after {
  content: ""; position: absolute; left: 50%; bottom: 0; width: min(calc(100vw - var(--sbw, 0px)), 1440px); height: 1px; transform: translateX(-50%);
  background: var(--atisfy-column-divider-gradient); pointer-events: none;
}
/* Home: flat line under the partners */
body.home #page-container#page-container .et_pb_row_9 { border-image-source: none !important; border-bottom-color: #f2f2f2 !important; }
/* footer divider full-width on Home and About */
body.home #page-container#page-container .atisfy-footer-section::before,
body.page-id-111 #page-container#page-container .atisfy-footer-section::before { width: min(calc(100vw - var(--sbw, 0px)), 1440px); }

/* Hero pill "shine" beam: it travels the pill outline on a 1px ring left uncovered by the white inner block. At display-scaling factors
   (125% / 150%) that 1px ring rounds away on the top edge and the beam disappears there. Draw the beam ABOVE the inner block, 3px thick
   (the outer half is clipped by the module, the inner ~1.5px stays visible on every side), so it can never be covered. */
.atisfy-shine-border.et_pb_module { isolation: isolate; }
.atisfy-shine-border.et_pb_module::after { height: 3px !important; z-index: 3 !important; }

/* =========================================================
   DARK THEME counterparts for the light-theme fidelity rules above
   (the approved Figma frames are light; dark keeps the site's existing dark palette)
   ========================================================= */
html[data-theme="dark"] .contact-form .atisfy-cf-field,
html[data-theme="dark"] .contact-form .hs-input,
html[data-theme="dark"] .contact-form .atisfy-cf-dd__btn,
html[data-theme="dark"] .contact-form .atisfy-cf-phone,
html[data-theme="dark"] .contact-form select,
html[data-theme="dark"] .contact-form textarea {
  background: #16191e !important;
  border-color: #2d3138 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .contact-form .atisfy-cf-phone__num,
html[data-theme="dark"] .contact-form .atisfy-cf-dd__text { background: transparent !important; color: #ffffff !important; }
html[data-theme="dark"] .contact-form .atisfy-cf-phone__code { border-right-color: #2d3138; }
html[data-theme="dark"] .contact-form .atisfy-cf-dd__text.is-placeholder,
html[data-theme="dark"] .contact-form .hs-input::placeholder,
html[data-theme="dark"] .contact-form .atisfy-cf-field::placeholder,
html[data-theme="dark"] .contact-form .atisfy-cf-phone__num::placeholder { color: #8b95a5 !important; }
html[data-theme="dark"] .contact-form .atisfy-cf-dd__panel,
html[data-theme="dark"] .contact-form .atisfy-cf-dd__list { background: #16191e; border-color: #2d3138; }
html[data-theme="dark"] .contact-form .atisfy-cf-dd__item { color: #ffffff; }
html[data-theme="dark"] .contact-form .atisfy-cf-dd__item:hover { background: #22262d; }
html[data-theme="dark"] .contact-form .atisfy-cf-req,
html[data-theme="dark"] .contact-form .hs-error-msgs,
html[data-theme="dark"] .contact-form .atisfy-cf-error,
html[data-theme="dark"] .contact-form .hs-error-msgs label { color: #f87171 !important; }
html[data-theme="dark"] .contact-form .has-error .atisfy-cf-phone,
html[data-theme="dark"] .contact-form .has-error .atisfy-cf-field,
html[data-theme="dark"] .contact-form .has-error .hs-input { border-color: #f87171 !important; }
html[data-theme="dark"] body.page-id-131 #page-container#page-container .atisfy-section .et_pb_column > .et_pb_text:nth-child(3) p { color: #ffffff !important; }
html[data-theme="dark"] #page-container#page-container .atisfy-office-map-wrap,
html[data-theme="dark"] body.page-id-131 #page-container#page-container .et_pb_code .atisfy-locations-map { background: #16191e !important; }
html[data-theme="dark"] body.page-id-131 #page-container#page-container .contact-form input.hs-input,
html[data-theme="dark"] body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-field,
html[data-theme="dark"] body.page-id-131 #page-container#page-container .contact-form textarea.hs-input {
  background: #16191e !important;
  border-color: #2d3138 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .contact-form svg path { stroke: #ffffff; }
html[data-theme="dark"] { --atisfy-heading: #ffffff; }
html[data-theme="dark"] #page-container#page-container .atisfy-header-menu .et-menu > li > a:hover,
html[data-theme="dark"] #page-container#page-container .atisfy-header-menu .et-menu > li:hover > a { color: #ffffff !important; }
html[data-theme="dark"] #page-container#page-container .atisfy-footer-nav p:first-child,
html[data-theme="dark"] #page-container#page-container .atisfy-footer-nav p:first-child strong,
html[data-theme="dark"] #page-container#page-container .atisfy-footer-nav p:first-child b { color: #ffffff !important; }
html[data-theme="dark"] #page-container#page-container .atisfy-footer-nav p a:hover { color: #ffffff !important; }
html[data-theme="dark"] body.home #page-container#page-container .et_pb_number_counter .percent,
html[data-theme="dark"] body.home #page-container#page-container .et_pb_number_counter .percent p,
html[data-theme="dark"] body.home #page-container#page-container .et_pb_number_counter .percent-value { color: #ffffff !important; }

/* =========================================================
   FLUID LAYER: the approved frames are 1440 wide; these rules reproduce them exactly at >=1440 and
   let the same layout shrink without ever forcing the page wider than the viewport (real browsers keep a 15px scrollbar).
   ========================================================= */
/* footer: proportional columns (313 : 238 : 179 : 153 = the 1216px design) instead of fixed pixels that force a 1440px section */
#page-container#page-container .atisfy-footer-section { min-width: 0 !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; padding-left: clamp(24px, 5vw, 100px) !important; padding-right: clamp(24px, 5vw, 100px) !important; }
#page-container#page-container .atisfy-footer-section > .et_pb_row { min-width: 0 !important; }
#page-container#page-container .atisfy-footer-top-row {
  grid-template-columns: minmax(0, 313fr) minmax(0, 238fr) minmax(0, 179fr) minmax(0, 153fr) !important;
  column-gap: min(111px, 7.7vw) !important;
}
#page-container#page-container .atisfy-footer-top-row > .et_pb_column,
#page-container#page-container .atisfy-footer-top-row .et_pb_text { min-width: 0 !important; max-width: 100% !important; }
@media (max-width: 1439px) {
  #page-container#page-container .atisfy-footer-nav p a { white-space: normal !important; }
}
/* safety net: nothing may widen the page. `clip` (not `hidden`) so position:sticky stacked cards keep working */
html, body, #page-container, #et-boc, #et-main-area { overflow-x: clip; }

/* About team gallery: proportional tracks (185:185:317:185:185, 24px gaps = 1153px at the design size) and aspect-ratio cards */
@media (min-width: 900px) {
  body.page-id-111 #page-container#page-container .atisfy-team-gallery { grid-template-columns: minmax(0, 185fr) minmax(0, 185fr) minmax(0, 317fr) minmax(0, 185fr) minmax(0, 185fr) !important; width: 100% !important; }
  body.page-id-111 #page-container#page-container .atisfy-team-card { height: auto !important; min-height: 0 !important; aspect-ratio: 185 / 204 !important; }
  body.page-id-111 #page-container#page-container .atisfy-team-card--hero { aspect-ratio: 317 / 437 !important; }
}
/* Home Resources: hero card + list share the row proportionally (543 : 605 with a 68px gap = 1216px). Explicit widths, not flex-grow, so the block never collapses */
@media (min-width: 981px) {
  #page-container#page-container .atisfy-recent-posts-showcase { gap: min(68px, 4.8vw) !important; width: 100% !important; }
  #page-container#page-container .atisfy-recent-hero-card { width: calc((100% - min(68px, 4.8vw)) * 543 / 1148) !important; flex: 0 0 auto !important; min-width: 0 !important; height: auto !important; aspect-ratio: 543 / 440 !important; }
  #page-container#page-container .atisfy-recent-stacked-column { width: calc((100% - min(68px, 4.8vw)) * 605 / 1148) !important; flex: 0 0 auto !important; min-width: 0 !important; }
  #page-container#page-container .atisfy-recent-stacked-item > * { min-width: 0; }
}
/* the Divi text module wrapping the Resources block must fill the row (it was only 1216px wide because its children were fixed-width) */
body.home #page-container#page-container .et_pb_text_24,
body.home #page-container#page-container .et_pb_text_24 > .et_pb_text_inner { width: 100% !important; max-width: 100% !important; }

/* =========================================================
   TABLET / PHONE layouts. The approved frames are 1440 desktop only, so below the design width these rules keep every module
   fluid, readable and free of horizontal scroll. Breakpoints: 1279 (two-column blocks stack), 1099, 899, 599.
   ========================================================= */
@media (max-width: 1279px) {
  /* contact: text column, form card, then locations stack */
  body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child { flex-wrap: wrap !important; }
  body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child > .et_pb_column:first-child,
  body.page-id-131 #page-container#page-container .atisfy-section > .et_pb_row:first-child > .et_pb_column:last-child { flex: 1 1 100% !important; width: 100% !important; max-width: 720px !important; margin-left: auto !important; margin-right: auto !important; }
  body.page-id-131 #page-container#page-container #main-content .et_pb_column,
  body.page-id-131 #page-container#page-container #main-content .et_pb_module,
  body.page-id-131 #page-container#page-container .contact-form,
  body.page-id-131 #page-container#page-container .atisfy-client-logos { max-width: 100% !important; box-sizing: border-box; }
  body.page-id-131 #page-container#page-container .atisfy-client-logos__row { flex-wrap: wrap !important; gap: 16px 24px !important; }
  body.page-id-131 #page-container#page-container .atisfy-client-logos img { max-width: 100% !important; height: auto !important; }
  /* locations: map on top, cards in a grid below */
  body.page-id-131 #page-container#page-container .atisfy-locations-showcase { flex-direction: column !important; align-items: stretch !important; gap: 24px !important; width: 100% !important; max-width: 100% !important; }
  body.page-id-131 #page-container#page-container .atisfy-locations-map-container,
  body.page-id-131 #page-container#page-container .atisfy-locations-list { flex: 1 1 auto !important; width: 100% !important; max-width: 100% !important; }
  body.page-id-131 #page-container#page-container .atisfy-locations-map-card { height: auto !important; aspect-ratio: 808 / 564; }
  body.page-id-131 #page-container#page-container .atisfy-locations-list { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important; gap: 16px !important; }
}
@media (max-width: 1099px) {
  /* footer */
  #page-container#page-container .atisfy-footer-section { min-height: 0 !important; }
  #page-container#page-container .atisfy-footer-top-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 32px !important; row-gap: 32px !important; }
  #page-container#page-container .atisfy-footer-top-row .atisfy-footer-nav p a { white-space: normal !important; }
  /* archives + case studies toolbar */
  #page-container#page-container .atisfy-archive-tools__row { flex-wrap: wrap; }
  #page-container#page-container .atisfy-archive-search { flex: 1 1 100%; }
  #page-container#page-container .atisfy-archive-filters { flex: 1 1 100%; }
  #page-container#page-container .atisfy-archive-filters__btn { width: 100%; }
  body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-header { width: 100% !important; }
  /* single post: one column, share rail under the article header */
  body.single-post #page-container#page-container .et_pb_row_0_tb_body,
  body.single-post #page-container#page-container .et_pb_row_1_tb_body { padding: 0 24px !important; flex-wrap: wrap !important; }
  body.single-post #page-container#page-container .et_pb_row_0_tb_body .et_pb_column_0_tb_body,
  body.single-post #page-container#page-container .et_pb_row_1_tb_body .et_pb_column_1_tb_body,
  body.single-post #page-container#page-container .et_pb_row_1_tb_body .et_pb_column_2_tb_body { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; }
  body.single-post #page-container#page-container .et_pb_post_title_0_tb_body h1.entry-title { font-size: 32px !important; line-height: 40px !important; }
  /* home stats */
  body.home #page-container#page-container .et_pb_row_8 { flex-wrap: wrap !important; }
  body.home #page-container#page-container .et_pb_row_8 > .et_pb_column { width: 100% !important; flex: 1 1 100% !important; flex-wrap: wrap !important; row-gap: 24px !important; }
  body.home #page-container#page-container .et_pb_row_8 .et_pb_number_counter { flex: 1 1 40% !important; width: auto !important; min-width: 0 !important; max-width: 100% !important; }
}
@media (max-width: 899px) {
  /* about */
  body.page-id-111 #page-container#page-container #main-content .et_pb_column,
  body.page-id-111 #page-container#page-container #main-content .et_pb_module,
  body.page-id-111 #page-container#page-container .atisfy-leadership-showcase { max-width: 100% !important; width: 100% !important; }
  body.page-id-111 #page-container#page-container .atisfy-team-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 16px !important; row-gap: 16px !important; }
  body.page-id-111 #page-container#page-container .atisfy-team-col { margin-top: 0 !important; display: contents !important; }
  body.page-id-111 #page-container#page-container .atisfy-team-card,
  body.page-id-111 #page-container#page-container .atisfy-team-card--hero { height: auto !important; min-height: 0 !important; aspect-ratio: 1 / 1.1 !important; }
  body.page-id-111 #page-container#page-container .atisfy-team-card--hero { grid-column: 1 / -1; aspect-ratio: 16 / 11 !important; }
}
@media (max-width: 599px) {
  #page-container#page-container .atisfy-footer-top-row { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ---- refinements from phone / tablet review ---- */
@media (max-width: 1279px) {
  .atisfy-nb { white-space: normal; }
  /* gutters for the archive / case-study toolbar + tabs */
  #page-container#page-container .atisfy-archive-tools { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
  body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-tabs { max-width: calc(100% - 32px) !important; margin-left: auto !important; margin-right: auto !important; }
  body.atisfy-has-case-studies #page-container#page-container .atisfy-case-studies-header { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
}
@media (max-width: 1099px) {
  /* single post: no desktop-sized gap between header, share and cover image */
  body.single-post #page-container#page-container .et_pb_code_1_tb_body { margin-bottom: 24px !important; }
  body.single-post #page-container#page-container .et_pb_image_0_tb_body { margin-bottom: 16px !important; }
  body.single-post #page-container#page-container .atisfy-sticky-share-block { padding-top: 0 !important; position: static !important; }
}
@media (max-width: 599px) {
  /* home: partner logos two per row */
  body.home #page-container#page-container .et_pb_row_10 { flex-wrap: wrap !important; gap: 16px !important; }
  body.home #page-container#page-container .et_pb_row_10 > .et_pb_column { flex: 1 1 calc(50% - 8px) !important; width: calc(50% - 8px) !important; max-width: calc(50% - 8px) !important; }
  /* contact: single-column form rows, two logos per row */
  body.page-id-131 #page-container#page-container .contact-form .atisfy-cf-row { flex-direction: column; gap: 20px; }
  body.page-id-131 #page-container#page-container .atisfy-client-logos__row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px !important; justify-items: start; }
  body.page-id-131 #page-container#page-container .atisfy-client-logos { gap: 20px !important; }
}

/* page gutters: below 1264px the 1216px content column would touch the screen edge */
@media (max-width: 1279px) {
  #page-container#page-container #main-content .et_pb_section > .et_pb_row:not(.atisfy-stacked-parallax-wrap) { padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box !important; }
  #page-container#page-container #main-content .et_pb_section > .et_pb_row.atisfy-stacked-parallax-wrap { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 599px) {
  #page-container#page-container #main-content .et_pb_section > .et_pb_row:not(.atisfy-stacked-parallax-wrap) { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 1279px) {
  body.page-id-131 #page-container#page-container #main-content .atisfy-section > .et_pb_row:first-child > .et_pb_column { max-width: 720px !important; margin-left: auto !important; margin-right: auto !important; }
}

/* home ecosystem cards: stacked (image on top) below 1280px, with gutters */
@media (max-width: 1279px) {
  body.home #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row {
    flex-direction: column !important; width: calc(100% - 48px) !important; max-width: 1216px !important;
    margin-left: auto !important; margin-right: auto !important; gap: 24px !important; height: auto !important; min-height: 0 !important; padding-bottom: 24px !important;
  }
  body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:first-child,
  body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:last-child { flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; height: auto !important; box-sizing: border-box; }
  body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:first-child .et_pb_image,
  body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:first-child .et_pb_image .et_pb_image_wrap { width: 100% !important; max-width: 100% !important; display: block; height: auto !important; }
  body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:first-child .et_pb_image img { width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 16 / 11; object-fit: cover; object-position: left top; border-radius: 28px !important; }
  body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:last-child { padding: 0 8px 8px !important; }
  body.home #page-container#page-container .atisfy-stacked-parallax-row > .et_pb_column:last-child .et_pb_text { width: 100% !important; max-width: 100% !important; }
}
@media (max-width: 599px) {
  body.home #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row { width: calc(100% - 32px) !important; }
}
@media (max-width: 1099px) {
  body.single-post #page-container#page-container .et_pb_image_0_tb_body,
  body.single-post #page-container#page-container .et_pb_image_0_tb_body .et_pb_image_wrap { width: 100% !important; max-width: 100% !important; display: block; }
  body.single-post #page-container#page-container .et_pb_image_0_tb_body img { width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 724 / 399; object-fit: cover; }
}

/* Short screens (laptops, small windows): the stacked sticky cards keep their scroll effect, but are scaled down in steps so the whole card
   (title, bullets and the "Visit …" link) always fits under the header instead of being cropped. Card height is 623px; sticky top is ~94px. */
@media (min-width: 981px) and (max-height: 729px) { body #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row { zoom: 0.9; } }
@media (min-width: 981px) and (max-height: 664px) { body #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row { zoom: 0.8; } }
@media (min-width: 981px) and (max-height: 599px) { body #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row { zoom: 0.7; } }
@media (min-width: 981px) and (max-height: 539px) { body #page-container#page-container .atisfy-stacked-parallax-section .et_pb_row.atisfy-stacked-parallax-row { zoom: 0.6; } }
