/* Final browser-review layer: one section rhythm and one card content axis. */
:root {
  --nb-section-rhythm: 40px;
  --nb-card-axis: 24px;
}

.logo > img.logo__mark,
.lp-logo img,
.footer-brand__logo img {
  filter: drop-shadow(0 5px 7px rgba(0, 0, 0, .34)) !important;
}

main > .section,
main > .lp-section,
main > .lp-section + .lp-section {
  margin-block: 0 !important;
  padding-block: 0 !important;
}

/* Do not reserve the old 760px off-screen placeholder: it produced visible
   holes between otherwise compact sections while the page was scrolling. */
main > .lp-section {
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: none !important;
}

main > .section + .section,
main > .lp-section + .lp-section,
main > .visual-reel + .section,
main > .feature-bridge + .visual-reel {
  margin-top: var(--nb-section-rhythm) !important;
}

.hero,
.lp-hero {
  margin-block: 0 !important;
  padding-block: var(--nb-section-rhythm) !important;
}

.lp-section:last-of-type,
.section:last-of-type {
  margin-bottom: var(--nb-section-rhythm) !important;
}

main > .lp-final {
  margin-block: 0 !important;
}

main > .lp-section + .lp-final {
  margin-top: var(--nb-section-rhythm) !important;
}

.section-heading,
.lp-heading,
.lp-audience .lp-heading {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.section-heading > :first-child,
.lp-heading > :first-child { margin-top: 0 !important; }
.section-heading > :last-child,
.lp-heading > :last-child { margin-bottom: 0 !important; }

.capability__copy {
  display: grid !important;
  grid-template-rows: 44px auto minmax(0, 1fr) auto !important;
  align-content: stretch !important;
  align-items: start !important;
  gap: 16px !important;
  padding: var(--nb-card-axis) !important;
}

.capability__mark,
.capability__copy h3,
.capability__copy p,
.capability__copy .control-link {
  align-self: start !important;
  justify-self: start !important;
  margin: 0 !important;
}

@media (min-width: 761px) and (max-width: 1100px) {
  .capability,
  .capability:first-child,
  .capability--wide,
  .capability--square,
  .capability--landscape {
    grid-template-columns: minmax(0, 48%) minmax(0, 52%) !important;
  }

  .capability__copy { padding: 20px !important; }

  .capability__copy > * {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

.capability__copy h3,
.capability__copy h3 a,
.capability__copy p {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  text-align: left !important;
}

/* A heading link is typography, not the card CTA. Older :last-child rules
   treated it as a centered button and shifted the first glyph inward. */
.capability__copy h3 > a:last-child {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  transform: none !important;
}

.capability__copy .control-link {
  align-self: end !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 10px 16px !important;
}

.lp-proof__stage {
  align-items: stretch !important;
  gap: 16px !important;
}

.lp-proof__stage > figure,
.lp-proof__prompt { min-height: 360px !important; }

.lp-proof__stage > figure {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 48px !important;
}

.lp-proof__stage .lp-proof__image,
.lp-proof__stage figure[data-image] .lp-proof__image {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
}

.lp-proof__stage .lp-proof__image img,
.lp-proof__stage figure[data-image] .lp-proof__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.lp-proof__prompt {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  padding: var(--nb-card-axis) !important;
}

.lp-proof__prompt > small,
.lp-proof__prompt > p,
.lp-proof__prompt > blockquote,
.lp-proof__prompt > .lp-button {
  width: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
  text-align: left !important;
}

.lp-proof__prompt > p,
.lp-proof__prompt > blockquote {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.lp-proof__prompt > .lp-button {
  margin-top: auto !important;
  text-align: center !important;
}

.lp-proof__stage figure:has(.lp-motion-toggle--proof) {
  grid-template-rows: minmax(0, 1fr) 48px auto !important;
}

.lp-feature__copy,
.lp-insight-panel,
.lp-card,
.lp-card--compact,
.lp-step { padding: var(--nb-card-axis) !important; }

.lp-feature__copy > :first-child,
.lp-insight-panel > :first-child,
.lp-card > :first-child,
.lp-step > :first-child { margin-top: 0 !important; }

.lp-feature__copy > :last-child,
.lp-insight-panel > :last-child,
.lp-card > :last-child,
.lp-step > :last-child { margin-bottom: 0 !important; }

.lp-feature__copy,
.lp-insight-panel { min-height: 340px !important; }

main > .lp-section.lp-audience {
  padding: 24px 32px 30px !important;
}

.capability__image--pair {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.capability__image,
.capability:first-child .capability__image,
.capability--square .capability__image,
.capability--landscape .capability__image,
.capability--wide .capability__image {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  background: transparent !important;
}

.capability__image > img,
.capability:first-child .capability__image > img,
.capability--square .capability__image > img,
.capability--landscape .capability__image > img,
.capability--wide .capability__image > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.capability__image--pair img { min-width: 0 !important; }

.capability__frame {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background: #151610 !important;
}

.capability__frame::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: -22px !important;
  background: linear-gradient(rgba(9, 10, 8, .2), rgba(9, 10, 8, .2)), var(--media-image) center / cover !important;
  filter: blur(18px) saturate(.82) brightness(.7) !important;
  transform: scale(1.08) !important;
}

.capability__image--pair .capability__frame > img {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 5px !important;
  object-fit: contain !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Every capability uses the same edge-to-edge media treatment.  The previous
   contain rule made landscape sources look like small inserts inside the
   otherwise full-height cards. */
.capability__image {
  overflow: hidden !important;
}

.capability__image--ambient,
.gallery-item__media {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #151610 !important;
}

.capability__image--ambient::before,
.gallery-item__media::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: -28px !important;
  background-image: linear-gradient(rgba(9, 10, 8, .18), rgba(9, 10, 8, .18)), var(--media-image) !important;
  background-position: center !important;
  background-size: cover !important;
  filter: blur(20px) saturate(.82) brightness(.72) !important;
  transform: scale(1.08) !important;
}

.capability__image--ambient > img {
  position: relative !important;
  z-index: 1 !important;
  object-fit: contain !important;
  padding: 5px !important;
}

.capability:nth-child(2) .capability__image > img { object-position: center 28% !important; }
.capability:nth-child(4) .capability__image > img { object-position: center 55% !important; }
.capability:nth-child(5) .capability__image > img { object-position: center 58% !important; }

.gallery-grid,
.gallery-grid.is-filtered {
  width: min(100%, 1000px) !important;
  margin-inline: auto !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.gallery-item,
.gallery-item:nth-child(1),
.gallery-item:nth-child(2),
.gallery-item:nth-child(3),
.gallery-item:nth-child(4),
.gallery-item:nth-child(5),
.gallery-grid.is-filtered .gallery-item:not([hidden]) {
  grid-column: span 3 !important;
  width: auto !important;
}

.gallery-grid:not(.is-filtered) .gallery-item:nth-child(1) { grid-column: span 3 !important; }
.gallery-grid:not(.is-filtered) .gallery-item:nth-child(2) { grid-column: span 3 !important; }
.gallery-grid:not(.is-filtered) .gallery-item:nth-child(3) { grid-column: span 2 !important; }
.gallery-grid:not(.is-filtered) .gallery-item:nth-child(4) { grid-column: span 2 !important; }
.gallery-grid:not(.is-filtered) .gallery-item:nth-child(5) { grid-column: span 2 !important; }

.gallery-item__media {
  width: 100% !important;
  height: clamp(190px, 18vw, 235px) !important;
}

.gallery-grid:not(.is-filtered) .gallery-item:nth-child(-n+2) .gallery-item__media {
  background: transparent !important;
}

.gallery-grid:not(.is-filtered) .gallery-item:nth-child(-n+2) .gallery-item__media::before {
  content: none !important;
  display: none !important;
}

.gallery-grid:not(.is-filtered) .gallery-item:nth-child(-n+2) img {
  object-fit: cover !important;
  clip-path: inset(2px) !important;
}

.gallery-item img,
.gallery-item:nth-child(2) img,
.gallery-item:nth-child(5) img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  position: relative !important;
  z-index: 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  border-radius: 0 !important;
  clip-path: inset(1px) !important;
}

.gallery-item:nth-child(1) img { object-position: center 48% !important; }
.gallery-item:nth-child(2) img { object-position: center 24% !important; }
.gallery-item:nth-child(3) img { object-position: center 55% !important; }
.gallery-item:nth-child(5) img { object-position: center 58% !important; }

.gallery-item,
.gallery-item:nth-child(1),
.gallery-item:nth-child(2),
.gallery-item:nth-child(3),
.gallery-item:nth-child(4),
.gallery-item:nth-child(5) {
  overflow: visible !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  isolation: auto !important;
  border-radius: 0 !important;
}

.gallery-item::before,
.gallery-item::after {
  content: none !important;
  display: none !important;
}

.gallery-item figcaption {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding-top: 8px !important;
}

/* Buttons use centred text without decorative chevrons. */
.lp-button::after,
.lp-back::after,
.text-action::after,
.control-link::after,
.control-link__icon,
.capability__link::after {
  content: none !important;
  display: none !important;
}

.lp-button,
.lp-back,
.text-action,
.control-link,
.capability__link {
  justify-content: center !important;
  gap: 0 !important;
}

.lp-command-list {
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.lp-command-list li {
  display: grid !important;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(255, 198, 47, .18) !important;
  border-radius: 12px !important;
  background: rgba(255, 198, 47, .055) !important;
}

.lp-command-list span {
  color: var(--accent) !important;
  font: 800 12px/1 system-ui, sans-serif !important;
}

.lp-command-list strong { color: #fff !important; font-size: 13px !important; }
.lp-command-list em { color: #beb9ae !important; font-size: 12px !important; font-style: normal !important; line-height: 1.3 !important; }

.lp-proof__stage figure:has(.lp-motion-toggle--proof) {
  position: relative !important;
  grid-template-rows: minmax(0, 1fr) 48px !important;
}

.lp-proof__stage .lp-motion-toggle--proof {
  position: absolute !important;
  z-index: 5 !important;
  right: 8px !important;
  bottom: 6px !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #ffc400, #ff9f31) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.35) !important;
  font-size: 0 !important;
}

.lp-proof__stage .lp-motion-toggle--proof::after {
  content: "" !important;
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 3px !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-left: 10px solid #18140a !important;
  transform: none !important;
}

.lp-proof__stage .lp-motion-toggle--proof[aria-pressed="true"]::after {
  width: 12px !important;
  height: 16px !important;
  margin-left: 0 !important;
  border: 0 !important;
  background: linear-gradient(90deg, #18140a 0 4px, transparent 4px 8px, #18140a 8px 12px) !important;
}

@media (max-width: 760px) {
  :root {
    --nb-section-rhythm: 28px;
    --nb-card-axis: 20px;
  }

  .section-heading,
  .lp-heading,
  .lp-audience .lp-heading { margin-bottom: 20px !important; }

  .lp-proof__stage > figure,
  .lp-proof__prompt,
  .lp-feature__copy,
  .lp-insight-panel { min-height: 0 !important; }

  .lp-proof__stage > figure { grid-template-rows: auto 48px !important; }

  .lp-proof__stage .lp-proof__image,
  .lp-proof__stage figure[data-image] .lp-proof__image {
    aspect-ratio: 4 / 3 !important;
  }

  .lp-proof__stage figure:is(
    [data-image="proof-merge-chair-source-v3.webp"],
    [data-image="proof-merge-chair-result-v3.webp"],
    [data-image="proof-photo-russian-source-v3.webp"],
    [data-image="proof-photo-russian-result-v3.webp"]
  ) .lp-proof__image {
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
  }

  .lp-proof__stage figure:is(
    [data-image="proof-merge-chair-source-v3.webp"],
    [data-image="proof-merge-chair-result-v3.webp"],
    [data-image="proof-photo-russian-source-v3.webp"],
    [data-image="proof-photo-russian-result-v3.webp"]
  ) .lp-proof__image img {
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }

  main > .lp-section.lp-audience { padding: 20px 20px 24px !important; }

  .gallery-grid,
  .gallery-grid.is-filtered {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .gallery-grid .gallery-item,
  .gallery-grid.is-filtered .gallery-item:not([hidden]),
  .gallery-grid:not(.is-filtered) .gallery-item:nth-child(1),
  .gallery-grid:not(.is-filtered) .gallery-item:nth-child(2),
  .gallery-grid:not(.is-filtered) .gallery-item:nth-child(3),
  .gallery-grid:not(.is-filtered) .gallery-item:nth-child(4),
  .gallery-grid:not(.is-filtered) .gallery-item:nth-child(5) {
    grid-column: auto !important;
    width: auto !important;
  }

  .gallery-item img,
  .gallery-item:nth-child(2) img,
  .gallery-item:nth-child(5) img {
    height: min(58vw, 250px) !important;
  }

  .gallery-item__media { height: min(58vw, 250px) !important; }

  .capability__image--ambient > img { padding: 6px !important; }

  .lp-command-list li {
    grid-template-columns: 1fr !important;
  }

  .lp-command-list em { grid-column: 1 !important; }

  .lp-proof__stage .lp-motion-toggle--proof {
    right: 7px !important;
    bottom: 5px !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
}

/* v38 mobile media geometry. Keep every subject fully visible instead of
   forcing unlike source ratios into the same shallow crop. */
@media (max-width: 760px) {
  .hero__art {
    aspect-ratio: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  .hero__image {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5 !important;
    overflow: hidden !important;
  }

  .hero__image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .hero__image figcaption {
    position: absolute !important;
    right: 8px !important;
    bottom: 18px !important;
    left: 8px !important;
    min-height: 34px !important;
    margin: 0 !important;
  }

  .hero__prompt {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
  }

  .capability__image,
  .capability:first-child .capability__image,
  .capability--square .capability__image,
  .capability--landscape .capability__image,
  .capability--wide .capability__image {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2 !important;
  }

  .capability:nth-child(-n + 2) .capability__image {
    aspect-ratio: 1 / 1 !important;
  }

  .capability .capability__image.capability__image--pair {
    grid-template-rows: auto auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
  }

  .capability__frame {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2 !important;
    overflow: hidden !important;
  }

  .capability__image > img,
  .capability:first-child .capability__image > img,
  .capability--square .capability__image > img,
  .capability--landscape .capability__image > img,
  .capability--wide .capability__image > img,
  .capability__image--pair .capability__frame > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 0 !important;
  }

  #workspace .studio__grid {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .final-cta {
    margin-top: var(--nb-section-rhythm) !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
}

/* v39: proof images keep their source proportions on phones and tablets.
   This removes every mobile crop instead of tuning individual photographs. */
@media (max-width: 900px) {
  .lp-proof__stage figure[data-image] .lp-proof__image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }

  .lp-proof__stage figure[data-image] .lp-proof__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
  }
}
