:root {
  --color-deep-sage: #4c625d;
  --color-dark-mineral: #2f403c;
  --color-ivory: #f6f1e8;
  --color-muted-bronze: #b6946a;
  --color-graphite: #222423;
  --color-soft-olive-gray: #6f726c;
  --color-architectural-beige: #d8cfbf;
  --color-white: #ffffff;

  --font-display: "Cormorant Garamond", "Times New Roman", serif;
  --font-body: Manrope, system-ui, sans-serif;

  --text-display-l-size: 60px;
  --text-display-l-line: 60px;
  --text-display-l-tracking: -1.2px;
  --text-display-m-size: 48px;
  --text-display-m-line: 56px;
  --text-display-m-tracking: -0.96px;

  --text-h2-size: 32px;
  --text-h2-line: 40px;
  --text-h2-tracking: -0.64px;

  --text-h1-size: 40px;
  --text-h1-line: 48px;
  --text-h1-tracking: -0.8px;

  --text-h3-size: 24px;
  --text-h3-line: 32px;
  --text-h3-tracking: -0.48px;

  --text-h4-size: 20px;
  --text-h4-line: 28px;
  --text-h4-tracking: -0.4px;

  --text-body-l-size: 18px;
  --text-body-l-line: 30px;
  --text-body-l-tracking: -0.36px;
  --text-body-m-size: 16px;
  --text-body-m-line: 22.4px;

  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-28: 28px;
  --space-30: 30px;
  --space-32: 32px;
  --space-40: 40px;
  --space-80: 80px;

  --radius-collage-tl: 124px;
  --radius-collage-br: 124px;
  --radius-collage-tl-mobile: 80px;
  --radius-collage-br-mobile: 80px;
  --radius-section-br: 204px;

  --industry-col: calc((100% - var(--row-gap, 28px)) / 2);
  --content-width: 100%;
  --section-width: 1920px;
  --section-min-height: 896px;

  --industries-gap: clamp(28px, 3vw, 48px);
  --industries-padding: clamp(40px, 5vw, 80px);
  --industries-media-height: 736px;

  --geography-gap: 33px;
  --geography-padding: 80px;

  --business-formats-gap: 28px;
  --business-formats-padding: 80px;
  --business-formats-intro-gap: 80px;

  --company-business-tasks-gap: 28px;
  --company-business-tasks-padding: 80px;
  --company-business-tasks-intro-gap: 80px;
  --company-business-tasks-media-height: 620px;
  --company-business-tasks-pattern-size: 265px 252px;

  --directions-gap: 28px;
  --directions-padding: 80px;
  --directions-intro-gap: 80px;
  --directions-list-gap: 64px;
  --directions-row-height: 314px;

  --why-us-gap: 20px;
  --why-us-col-gap: 30px;
  --why-us-padding: 80px;
  --why-us-intro-gap: 40px;

  --client-result-gap: 28px;
  --client-result-row-gap: 29px;
  --client-result-padding: 80px;
  --client-result-intro-gap: 80px;

  --project-solutions-gap: 28px;
  --project-solutions-padding: 80px;
  --project-solutions-intro-gap: 80px;
  --project-solutions-card-gap: 24px;

  --how-we-work-gap: 28px;
  --how-we-work-row-gap: 65px;
  --how-we-work-padding: 80px;
  --how-we-work-intro-gap: 80px;
  --how-we-work-pager-inactive: #c5cec9;

  --team-gap: 28px;
  --team-padding: 80px;
  --team-intro-gap: 80px;
  --team-card-gap: 24px;
  --team-field-gap: 24px;

  --af-padding: 80px;
  --af-gap: 28px;
  --af-content-gap: 40px;
  --af-field-error: #b54a4a;
  --af-field-error-bg: #f8e8e6;
  --af-border: #c1c7cd;

  --z-section-overlay: 2;
  --z-section-reveal: 1;
  --z-site-header: 100;
  --z-af-drawer: 200;
  --z-dev-nav: 1000;

  --color-line: #ddd4c8;
  --site-header-height: 80px;
  --site-header-bg-solid: rgba(34, 36, 35, 0.6);
}

* {
  box-sizing: border-box;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: var(--z-site-header);
  color: var(--color-ivory);
  border-bottom: 1px solid var(--color-line);
  background: transparent;
  transition:
    background-color 0.25s ease,
    transform 0.25s ease,
    opacity 0.25s ease;
}

.site-header--solid {
  background: var(--site-header-bg-solid);
}

.site-header--hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

.site-header__inner {
  display: flex;
  align-items: center;
  gap: 48px;
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: 16px 80px;
  min-height: var(--site-header-height);
}

.site-header__logo {
  flex-shrink: 0;
  display: block;
  width: 111px;
  height: 40px;
}

.site-header__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-header__nav {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
}

.site-header__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__link {
  display: inline-flex;
  align-items: center;
  padding: 12px 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.site-header__link:hover,
.site-header__link:focus-visible {
  opacity: 0.8;
  outline: none;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.site-header__lang {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

.site-header__lang-current {
  opacity: 0.55;
}

.site-header__lang-sep {
  opacity: 0.35;
}

.site-header__lang-link {
  color: inherit;
  text-decoration: none;
}

.site-header__lang-link:hover,
.site-header__lang-link:focus-visible {
  opacity: 0.85;
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-header__menu-btn {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.site-header__menu-icon {
  display: block;
  width: 24px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor;
}

.site-header__drawer {
  display: none;
  padding: 8px 16px 24px;
  border-bottom: 1px solid var(--color-line);
  background: var(--site-header-bg-solid);
}

.site-header__drawer-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__drawer-link {
  display: block;
  padding: 12px 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-ivory);
  text-decoration: none;
}

.site-header__drawer-link:hover,
.site-header__drawer-link:focus-visible {
  opacity: 0.8;
  outline: none;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.site-header.is-open .site-header__drawer {
  display: block;
}

.site-header.is-open .site-header__menu-icon {
  background: transparent;
  box-shadow: none;
  position: relative;
}

.site-header.is-open .site-header__menu-icon::before,
.site-header.is-open .site-header__menu-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 24px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
}

.site-header.is-open .site-header__menu-icon::before {
  top: 0;
  transform: rotate(45deg);
}

.site-header.is-open .site-header__menu-icon::after {
  top: 0;
  transform: rotate(-45deg);
}

.dev-nav {
  display: none;
  position: fixed;
  top: calc(var(--site-header-height) + 12px);
  right: 12px;
  z-index: var(--z-dev-nav);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}

.dev-nav__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 6px;
  background: rgba(20, 24, 22, 0.92);
  color: #c8f0d0;
  cursor: pointer;
}

.dev-nav__burger {
  display: block;
  width: 14px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  box-shadow: 0 -4px 0 currentColor, 0 4px 0 currentColor;
}

.dev-nav__label {
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dev-nav__panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 180px;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(20, 24, 22, 0.96);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.dev-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dev-nav__link {
  display: block;
  padding: 8px 10px;
  border-radius: 4px;
  color: #e8fff0;
  text-decoration: none;
}

.dev-nav__link:hover,
.dev-nav__link:focus-visible {
  background: rgba(200, 240, 208, 0.12);
  outline: none;
}

[data-block] {
  scroll-margin-top: calc(var(--site-header-height) + 8px);
}

@media (max-width: 767px) {
  :root {
    --site-header-height: 64px;
  }

  .site-header__inner {
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    min-height: var(--site-header-height);
  }

  .site-header__nav {
    display: none;
  }

  .site-header__lang {
    margin-left: auto;
  }

  .site-header__menu-btn {
    display: inline-flex;
  }

  .site-header--solid,
  .site-header.is-open {
    background: var(--site-header-bg-solid);
  }
}

body {
  margin: 0;
  font-family: var(--font-body);
  background: var(--color-white);
  color: var(--color-graphite);
}

img {
  display: block;
  max-width: 100%;
}

.hero-track {
  position: relative;
  z-index: var(--z-section-reveal);
}

.hero {
  position: relative;
  z-index: var(--z-section-reveal);
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 600px;
  overflow: hidden;
  color: var(--color-ivory);
  background: #051f19;
}

@media (min-width: 768px) {
  .hero-track {
    /*
     * First sticky: runway = section height + cover travel for project-solutions.
     * margin-bottom −H lets project-solutions rise over hero during cover.
     */
    height: calc(var(--hero-h, 100vh) * 2);
    margin-bottom: calc(-1 * var(--hero-h, 100vh));
  }

  .hero {
    position: sticky;
    top: 0;
  }
}

.hero__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.hero__background--static {
  z-index: 0;
}

.hero__background--video {
  z-index: 0;
}

@media (prefers-reduced-motion: reduce) {
  .hero__background--video {
    display: none;
  }
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(217, 217, 217, 0) 0%,
    rgba(64, 83, 79, 0.721) 36.36%,
    rgba(23, 47, 41, 0.915) 64.529%,
    rgba(25, 48, 43, 0.907) 85.953%,
    #051f19 100%
  );
  pointer-events: none;
}

.hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 64px;
  width: min(1000px, 100%);
  /* vertical padding adapts to screen height: 232px top on 1080, scales down */
  padding: clamp(120px, 21.5vh, 232px) 80px clamp(80px, 14.8vh, 160px);
}

.hero__text {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.hero__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-ivory);
}

.hero__subtitle {
  margin: 0;
  max-width: 900px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-ivory);
}

.hero__actions {
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

.hero__scroll-hint {
  --hero-ticker-zone: 62px; /* ticker padding 16×2 + line 30 */
  position: absolute;
  left: 50%;
  bottom: calc(var(--hero-ticker-zone) + 16px);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 128px;
  height: 66px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-ivory);
  opacity: 0.65;
  cursor: pointer;
  transform: translateX(-50%);
  transition: opacity 0.2s ease;
  animation: hero-scroll-hint-bounce 1.8s ease-in-out infinite;
}

.hero__scroll-hint:hover,
.hero__scroll-hint:focus-visible {
  opacity: 0.95;
}

.hero__scroll-hint:focus-visible {
  outline: 2px solid var(--color-ivory);
  outline-offset: 4px;
}

.hero__scroll-hint-icon {
  display: block;
  flex-shrink: 0;
  width: 128px;
  max-width: none;
  height: 21px;
}

@keyframes hero-scroll-hint-bounce {
  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }

  50% {
    transform: translateX(-50%) translateY(5px);
  }
}

@keyframes hero-scroll-hint-bounce-inline {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(5px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__scroll-hint {
    animation: none;
  }
}

.hero-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 419px;
  height: auto;
  aspect-ratio: 419 / 72;
  padding: 0 24px;
  border: 2px solid transparent;
  border-top-left-radius: 16px;
  border-bottom-right-radius: 16px;
  background: transparent;
  color: var(--color-white);
  cursor: pointer;
  transition:
    transform 0.12s ease,
    filter 0.12s ease;
  will-change: transform;
}

.hero-button:active {
  transform: translateY(2px) scale(0.985);
  filter: brightness(0.92);
}

/* Author `display` overrides UA `[hidden] { display: none }` — restore it */
.hero-button[hidden],
.hero__actions[hidden],
.application-form__actions[hidden] {
  display: none;
}

/* Short CTAs (298→419): radius scales with width, 16 * 298/419 ≈ 11 */
.company-business-tasks__cta,
.directions__cta,
.project-solutions__cta,
.how-we-work__cta,
.team__cta,
.format-detail__cta,
.application-form__cta {
  border-top-left-radius: clamp(11px, calc(11px + (100vw - 1440px) * 0.01042), 16px);
  border-bottom-right-radius: clamp(11px, calc(11px + (100vw - 1440px) * 0.01042), 16px);
}

.hero-button__corners {
  position: absolute;
  /* Explicit size: Safari iOS mishandles inset:-2px + width/height:auto */
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  overflow: visible;
  pointer-events: none;
}

.hero-button__route {
  fill: none;
  stroke: none;
  pointer-events: none;
}

.hero-button__trace {
  fill: none;
  stroke: currentColor;
  stroke-width: 1;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  shape-rendering: geometricPrecision;
}

.hero-button__corner-wrap {
  transform-box: fill-box;
  transform-origin: center;
}

.hero-button__corner {
  fill: none;
  stroke: currentColor;
  stroke-width: 1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero-button--filled {
  border-color: var(--color-deep-sage);
  background: rgba(76, 98, 93, 0.95);
  color: rgba(246, 241, 232, 0.7);
}

.hero-button--ghost {
  border-color: var(--color-white);
  background: transparent;
  color: rgba(246, 241, 232, 0.8);
}

.hero-button--bronze {
  border-color: var(--color-muted-bronze);
  background: var(--color-muted-bronze);
  color: var(--color-white);
}

.hero-button--compact {
  aspect-ratio: 419 / 48;
}

.hero-button__label {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -0.32px;
  color: var(--color-white);
}

.hero__ticker {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
  padding: 16px 0;
}

.hero__ticker-track {
  display: flex;
  width: max-content;
  animation: hero-marquee 38s linear infinite;
  will-change: transform;
}

.hero__ticker-group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}

.hero__ticker-item {
  white-space: nowrap;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-ivory);
}

.hero__ticker-sep {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: 1;
  color: var(--color-ivory);
}

@keyframes hero-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.industries {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  min-height: var(--section-min-height);
  background: var(--color-white);
  /* visible: GSAP transform on children must not clip */
  overflow: visible;
}

.industries__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--industries-gap);
  align-items: start;
  width: min(100%, var(--section-width));
  min-height: var(--section-min-height);
  margin: 0 auto;
  padding: var(--industries-padding);
}

.industries__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  width: 100%;
  min-width: 0;
}

.industries__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
  width: 100%;
  max-width: 100%;
}

.industries__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
}

.industries__title {
  margin: 0;
  width: 100%;
  max-width: 100%;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.industries__ornament {
  width: min(419px, 100%);
  max-width: 100%;
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.industries__subtitle {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line);
  letter-spacing: var(--text-h1-tracking);
  color: var(--color-dark-mineral);
}

.industries__list {
  --list-gap: var(--space-24);
  --v-gap-to-mark: 8px;
  --h-gap-to-mark: 12px;
  --mark-size: 28px;
  /* Дотягиваем сегмент в gap так, чтобы до узла оставалось 8px */
  --v-extend: calc(var(--list-gap) - var(--v-gap-to-mark));

  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--list-gap);
  width: 100%;
}

.industries__row {
  --row-gap: var(--space-28);

  position: relative;
  display: flex;
  gap: var(--row-gap);
  align-items: flex-start;
  width: 100%;
}

.industries__row--azs-spa {
  --row-gap: var(--space-30);
}

/* Прерывистая вертикаль 2px; разрыв 8px до декоративного узла */
.industries__row::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 1px);
  width: 2px;
  background: var(--color-ivory);
  pointer-events: none;
}

.industries__row:has(+ .industries__divider)::after {
  bottom: calc(-1 * var(--v-extend));
}

.industries__divider + .industries__row::after {
  top: calc(-1 * var(--v-extend));
}

.industry-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  width: var(--industry-col);
  min-width: 0;
  flex: 1 1 var(--industry-col);
}

.industry-item__head {
  display: flex;
  gap: var(--space-8);
  align-items: flex-end;
  width: 100%;
}

.industry-item__icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.industry-item__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
  white-space: nowrap;
}

.industry-item__desc {
  margin: 0;
  padding-left: clamp(32px, 4vw, 48px);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-soft-olive-gray);
}

.industries__divider {
  display: grid;
  grid-template-columns: 1fr var(--mark-size) 1fr;
  align-items: center;
  column-gap: var(--h-gap-to-mark);
  width: 100%;
  height: var(--mark-size);
}

.industries__rule {
  display: block;
  height: 2px;
  background: var(--color-ivory);
}

.industries__mark {
  display: block;
  width: var(--mark-size);
  height: var(--mark-size);
  justify-self: center;
}

.industries__mark img {
  width: var(--mark-size);
  height: var(--mark-size);
}

.industries__media {
  position: relative;
  width: 100%;
  min-width: 0;
  height: var(--industries-media-height);
  overflow: hidden;
}

.industries__photo {
  position: absolute;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.industries__photo--left {
  top: 0;
  left: 0;
  width: 48.3845%;
  height: var(--industries-media-height);
  border-top-left-radius: var(--radius-collage-tl);
}

.industries__photo--top {
  top: 0;
  left: 51.6155%;
  width: 48.3845%;
  height: 368px;
}

.industries__photo--bottom {
  top: 396px;
  left: 51.6155%;
  width: 48.3845%;
  height: 340px;
  border-bottom-right-radius: var(--radius-collage-br);
}

/* Hero — ≤1550: gap between text block and actions, scroll hint centered above ticker */
@media (max-width: 1549px) {
  .hero {
    display: flex;
    flex-direction: column;
  }

  .hero__content {
    flex: 0 0 auto;
    gap: 36px;
    padding-bottom: 0;
  }

  .hero__scroll-hint {
    position: static;
    flex: 1 1 auto;
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    margin: 0;
    transform: none;
    animation: hero-scroll-hint-bounce-inline 1.8s ease-in-out infinite;
  }

  .hero__ticker {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    flex: 0 0 auto;
  }
}

/* Industries — 1440 layout (768–1439): column narrows, collage height stays 736px */
@media (max-width: 1439px) and (min-width: 768px) {
  .hero__content {
    width: min(900px, 100%);
  }

  .industries__inner {
    grid-template-columns: minmax(0, 626fr) minmax(0, 628fr);
    column-gap: 26px;
    min-height: auto;
  }

  .industries {
    min-height: auto;
  }

  .industries__photo--left {
    object-position: 42% center;
  }

  .industries__photo--top {
    object-position: center top;
  }

  .industries__photo--bottom {
    object-position: center center;
  }
}

/* Industries — 390 mobile layout */
@media (max-width: 767px) {
  .hero {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
  }

  .hero__content {
    width: 100%;
    gap: 32px;
    padding: clamp(80px, 17vh, 120px) 16px clamp(80px, 15vh, 108px);
  }

  .hero__text {
    gap: 24px;
  }

  .hero__title {
    font-size: var(--text-display-m-size);
    line-height: var(--text-display-m-line);
    letter-spacing: var(--text-display-m-tracking);
  }

  .hero__actions {
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }

  .hero-button {
    width: 100%;
    height: auto;
    aspect-ratio: 419 / 72;
  }

  .hero-button--compact {
    aspect-ratio: 419 / 48;
  }

  .hero__ticker {
    display: none;
  }

  .hero__scroll-hint {
    flex: 1 1 auto;
    min-height: 66px;
    margin-bottom: 24px;
    animation: hero-scroll-hint-bounce-inline 1.8s ease-in-out infinite;
  }

  .industries {
    min-height: auto;
  }

  .industries__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 48px;
    min-height: auto;
    padding: 64px 16px;
  }

  .industries__content {
    gap: 48px;
  }

  .industries__header {
    gap: 16px;
  }

  .industries__title-block {
    gap: 8px;
  }

  .industries__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .industries__list {
    --list-gap: 32px;
    gap: var(--list-gap);
  }

  .industries__row {
    flex-direction: column;
    gap: 32px;
  }

  .industries__row::after {
    display: none;
  }

  .industries__divider {
    display: none;
  }

  .industry-item {
    width: 100%;
    flex: none;
  }

  .industry-item__name {
    white-space: normal;
  }

  .industry-item__desc {
    padding-left: calc(clamp(32px, 4vw, 48px) + 3px);
  }

  .industries__media {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 240px 160px;
    gap: 16px;
    height: auto;
    overflow: visible;
  }

  .industries__photo {
    position: relative;
    width: 100%;
    height: 100%;
    inset: auto;
    left: auto;
    top: auto;
    object-fit: cover;
  }

  .industries__photo--left {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    height: 240px;
    border-top-left-radius: var(--radius-collage-tl-mobile);
    object-position: center center;
  }

  .industries__photo--top {
    grid-column: 1;
    grid-row: 2;
    object-position: center center;
  }

  .industries__photo--bottom {
    grid-column: 2;
    grid-row: 2;
    border-bottom-right-radius: var(--radius-collage-br-mobile);
    object-position: center center;
  }
}


/* Hero — narrow mobile: title 48 → 46, subtitle 18 → 16 */
@media (max-width: 360px) {
  .hero__title {
    font-size: 46px;
    line-height: 54px;
    letter-spacing: -0.92px;
  }

  .hero__subtitle {
    font-size: var(--text-body-m-size);
    line-height: var(--text-body-m-line);
    letter-spacing: -0.32px;
  }
}

.geography-track {
  position: relative;
  z-index: var(--z-section-reveal);
  /*
   * Middle sticky (after business-formats, before business-tasks):
   * margin-top −GH: sticks while previous overlay scrolls away.
   * height 3×GH: sticky + under-previous travel + cover travel.
   * margin-bottom −GH: business-tasks rises over geography during cover.
   */
  height: calc(var(--geography-h, 50vh) * 3);
  margin-top: calc(-1 * var(--geography-h, 50vh));
  margin-bottom: calc(-1 * var(--geography-h, 50vh));
}

.geography {
  position: sticky;
  top: 0;
  z-index: var(--z-section-reveal);
  width: 100%;
  box-sizing: border-box;
  /* Fill viewport while sticky so body white does not show below ivory */
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--color-ivory);
}

.geography__inner {
  display: grid;
  grid-template-columns: minmax(0, 865fr) minmax(0, 865fr);
  column-gap: var(--geography-gap);
  align-items: center;
  width: min(100%, var(--section-width));
  min-height: inherit;
  margin: 0 auto;
  padding: var(--geography-padding);
}

.geography__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
  width: 100%;
  min-width: 0;
}

.geography__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
}

.geography__title {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.geography__ornament {
  width: min(419px, 100%);
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.geography__subtitle {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line);
  letter-spacing: var(--text-h1-tracking);
  color: var(--color-dark-mineral);
}

.geography__media {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 865 / 525;
  overflow: hidden;
}

.geography__map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  pointer-events: none;
}

.geography__logo {
  position: absolute;
  left: 59.42%;
  top: 24.76%;
  width: 40.58%;
  height: 75.24%;
  object-fit: contain;
  object-position: right bottom;
  pointer-events: none;
}

/* Geography — 1440 layout (768–1439): columns narrow, media keeps 865:525 ratio */
@media (max-width: 1439px) and (min-width: 768px) {
  .geography__inner {
    grid-template-columns: minmax(0, 628fr) minmax(0, 619fr);
  }
}

/* Geography — 390 mobile layout */
@media (max-width: 767px) {
  .geography__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
    min-height: auto;
    padding: 64px 16px;
  }

  .geography__content {
    gap: 16px;
  }

  .geography__title-block {
    gap: 8px;
  }

  .geography__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .geography__media {
    aspect-ratio: 619 / 376;
  }

  .geography__logo {
    left: auto;
    top: auto;
    right: 20px;
    bottom: 0;
    width: 120px;
    height: auto;
    aspect-ratio: 351 / 395;
    object-position: right bottom;
  }
}

.business-formats {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  border-bottom-right-radius: var(--radius-section-br);
  overflow: hidden;
}

.business-formats__inner {
  display: flex;
  flex-direction: column;
  gap: var(--business-formats-intro-gap);
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: var(--business-formats-padding);
}

.business-formats__intro {
  width: 100%;
}

.business-formats__header {
  width: 100%;
}

.business-formats__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
}

.business-formats__title {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.business-formats__ornament {
  width: min(419px, 100%);
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.business-formats__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  min-width: 0;
}

.business-formats__emblem {
  width: 139px;
  height: 143px;
  flex-shrink: 0;
  object-fit: contain;
  object-position: left top;
  pointer-events: none;
}

.business-formats__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  width: 100%;
  min-width: 0;
}

.business-formats__subtitle {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line);
  letter-spacing: var(--text-h1-tracking);
  color: var(--color-dark-mineral);
}

.business-formats__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  width: 100%;
}

.business-format-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
  column-gap: var(--business-formats-gap);
  align-items: stretch;
  width: 100%;
}

.business-format-item__media {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  height: 0;
  min-height: 100%;
  min-width: 0;
  overflow: hidden;
}

.business-format-item__photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.35s ease;
}

.business-format-item:first-child .business-format-item__photo {
  border-top-left-radius: var(--radius-collage-tl);
}

.business-format-item:last-child .business-format-item__photo {
  border-bottom-right-radius: var(--radius-collage-br);
}

.business-format-item__copy {
  display: flex;
  grid-column: 2;
  grid-row: 1;
  flex-direction: column;
  gap: var(--space-12);
  justify-content: center;
  min-width: 0;
}

.business-format-item__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
}

.business-format-item__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-soft-olive-gray);
}

.business-format-item__essence,
.business-format-item__benefit {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: var(--text-body-m-line);
  letter-spacing: var(--text-body-m-tracking);
  color: var(--color-dark-mineral);
}

.business-format-item__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  width: fit-content;
  text-decoration: none;
}

.business-format-item__more-label {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-body-m-size);
  line-height: 24px;
  letter-spacing: -0.32px;
  color: var(--color-dark-mineral);
}

.business-format-item__more-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 16px;
  transform: rotate(180deg);
}

@media (min-width: 768px) and (hover: hover) {
  .business-format-item:hover .business-format-item__photo,
  .business-format-item:focus-within .business-format-item__photo {
    transform: scale(1.04);
  }

  .business-format-item:hover .business-format-item__more-label,
  .business-format-item__more:hover .business-format-item__more-label,
  .business-format-item__more:focus-visible .business-format-item__more-label {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .business-format-item__photo {
    transition: none;
  }
}

/* Business formats — 390 mobile */
@media (max-width: 767px) {
  .business-formats {
    margin-top: 0;
    border-top-left-radius: 0;
  }

  .business-formats__inner {
    display: flex;
    flex-direction: column;
    row-gap: 48px;
    padding: 64px 24px 80px;
  }

  .business-formats__intro {
    gap: 0;
  }

  .business-formats__header {
    width: 100%;
  }

  .business-formats__title-block {
    gap: 16px;
  }

  .business-formats__title {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
    letter-spacing: var(--text-h1-tracking);
  }

  .business-formats__content {
    gap: 16px;
  }

  .business-formats__emblem {
    width: 80px;
    height: 82px;
  }

  .business-formats__body {
    gap: 32px;
  }

  .business-formats__subtitle {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line);
    letter-spacing: var(--text-h3-tracking);
  }

  .business-formats__list {
    gap: 24px;
  }

  .business-format-item {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
  }

  .business-format-item__media {
    position: relative;
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 358 / 224;
  }

  .business-format-item__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .business-format-item__copy {
    grid-column: auto;
    grid-row: auto;
  }

  .business-format-item:first-child .business-format-item__photo {
    border-top-left-radius: var(--radius-collage-tl-mobile);
  }

  .business-format-item:last-child .business-format-item__photo {
    border-bottom-right-radius: var(--radius-collage-br-mobile);
  }
}

.projects {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  border-bottom-right-radius: var(--radius-section-br);
  color: var(--color-graphite);
  overflow: hidden;
}

.projects__inner {
  display: flex;
  flex-direction: column;
  gap: 80px;
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: 80px;
}

.projects__header {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.projects__title-block {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
  max-width: 924px;
}

.projects__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.projects__ornament {
  display: block;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
  height: auto;
  max-width: 100%;
}

.projects__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  /* 44 @ 1920 → 30 @ 1440; row gap stays 24 on desktop */
  column-gap: clamp(30px, calc(30px + (100vw - 1440px) * 0.029167), 44px);
  row-gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.projects__item {
  flex: 0 0 auto;
  width: 181px;
  height: 181px;
  margin: 0;
  padding: 0;
}

.projects__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .projects__item:hover .projects__logo {
    transform: scale(1.06);
  }
}

@media (max-width: 767px) {
  .projects__inner {
    gap: 48px;
    padding: 64px 16px;
  }

  .projects__title-block {
    gap: 24px;
    max-width: none;
  }

  .projects__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .projects__ornament {
    width: 100%;
  }

  .projects__list {
    column-gap: 6px;
    row-gap: 14px;
  }

  .projects__item {
    width: 171px;
    height: 171px;
  }
}

/* —— company-business-tasks —— */
.company-business-tasks {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  color: var(--color-graphite);
  overflow: hidden;
}

.company-business-tasks__inner {
  display: flex;
  flex-direction: column;
  gap: var(--company-business-tasks-intro-gap);
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--company-business-tasks-padding);
}

.company-business-tasks__header {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: calc((100% - var(--company-business-tasks-gap)) * 3 / 4);
  min-width: 0;
}

.company-business-tasks__title-block {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.company-business-tasks__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.company-business-tasks__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

/* Image + text share one row → tops stay aligned when title wraps */
.company-business-tasks__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--company-business-tasks-gap);
  align-items: start;
}

.company-business-tasks__media {
  /* Fixed height 620px; width fluid → object-fit cover crops sides (not scale) */
  position: relative;
  width: 100%;
  height: var(--company-business-tasks-media-height);
  min-width: 0;
}

.company-business-tasks__cell {
  position: absolute;
  overflow: hidden;
  width: 48.3845%;
  height: 296px;
}

.company-business-tasks__cell--tl {
  top: 0;
  left: 0;
  border-top-left-radius: 78px;
}

.company-business-tasks__cell--tr {
  top: 0;
  right: 0;
  border-bottom-right-radius: 78px;
}

.company-business-tasks__cell--bl {
  bottom: 0;
  left: 0;
  border-bottom-left-radius: 78px;
}

.company-business-tasks__cell--br {
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

/*
  Photo sized to the full media box (height fixed 620px).
  Cells are clip windows: as media narrows, more side crop, same zoom.
*/
.company-business-tasks__photo {
  position: absolute;
  width: 206.684%;
  height: var(--company-business-tasks-media-height);
  max-width: none;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.company-business-tasks__cell--tl .company-business-tasks__photo {
  top: 0;
  left: 0;
}

.company-business-tasks__cell--tr .company-business-tasks__photo {
  top: 0;
  right: 0;
  left: auto;
}

.company-business-tasks__cell--bl .company-business-tasks__photo {
  bottom: 0;
  left: 0;
  top: auto;
}

.company-business-tasks__pattern {
  display: block;
  width: min(265px, 100%);
  height: min(252px, 100%);
  object-fit: contain;
  object-position: center;
  pointer-events: none;
}

.company-business-tasks__content {
  display: flex;
  flex-direction: column;
  gap: 48px;
  min-width: 0;
}

.company-business-tasks__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--company-business-tasks-gap);
  row-gap: var(--company-business-tasks-gap);
}

.company-business-task-item {
  display: flex;
  gap: 8px;
  align-items: stretch;
  min-width: 0;
}

.company-business-task-item__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.company-business-task-item__icon {
  display: block;
  width: 45px;
  height: 44px;
  flex-shrink: 0;
}

.company-business-task-item__line {
  flex: 1 0 0;
  width: 2px;
  min-height: 24px;
  background: #ddd4c8;
}

.company-business-task-item__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.company-business-task-item__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
}

.company-business-task-item__name--short,
.company-business-task-item__desc--short {
  display: none;
}

.company-business-task-item__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-soft-olive-gray);
}

/* 419 @ 1920 → 298 @ 1440, linear in between */
.company-business-tasks__cta {
  align-self: flex-end;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
}

@media (max-width: 1439px) and (min-width: 768px) {
  .company-business-tasks__body {
    column-gap: 24px;
  }

  .company-business-tasks__header {
    max-width: calc((100% - 24px) * 3 / 4);
  }

  .company-business-tasks__content {
    gap: 40px;
  }

  .company-business-tasks__cta {
    width: 298px;
  }
}

@media (max-width: 767px) {
  .company-business-tasks__inner {
    gap: 48px;
    padding: 64px 16px;
  }

  .company-business-tasks__header {
    max-width: none;
  }

  .company-business-tasks__title-block {
    gap: 8px;
    width: 100%;
  }

  .company-business-tasks__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .company-business-tasks__ornament {
    width: 100%;
  }

  .company-business-tasks__body {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 48px;
  }

  .company-business-tasks__media {
    height: 240px;
  }

  .company-business-tasks__cell--tr,
  .company-business-tasks__cell--bl,
  .company-business-tasks__cell--br {
    display: none;
  }

  .company-business-tasks__cell--tl {
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    border-top-left-radius: 80px;
    border-bottom-right-radius: 80px;
  }

  .company-business-tasks__cell--tl .company-business-tasks__photo {
    width: 100%;
    height: 100%;
    inset: 0;
  }

  .company-business-tasks__pattern {
    display: none;
  }

  .company-business-tasks__content {
    gap: 48px;
  }

  .company-business-tasks__list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 24px;
  }

  .company-business-task-item__name {
    display: none;
  }

  .company-business-task-item__name--short {
    display: block;
  }

  .company-business-task-item__desc {
    display: none;
  }

  .company-business-task-item__desc--short {
    display: block;
  }

  .company-business-tasks__cta {
    align-self: stretch;
    width: 100%;
  }
}

.directions {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  color: var(--color-graphite);
}

.directions__inner {
  display: flex;
  flex-direction: column;
  gap: var(--directions-intro-gap);
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--directions-padding);
}

.directions__header {
  max-width: calc((100% - var(--directions-gap)) * 3 / 4);
}

.directions__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
}

.directions__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.directions__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

.directions__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--directions-gap);
  align-items: stretch;
}

.directions__media {
  display: flex;
  flex-direction: column;
  gap: var(--directions-gap);
  height: 100%;
  min-height: 0;
}

.directions__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--directions-gap);
  flex: 0 0 var(--directions-row-height);
  height: var(--directions-row-height);
  min-height: 0;
  max-height: var(--directions-row-height);
  overflow: hidden;
}

.directions__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.directions__row .directions__photo {
  height: var(--directions-row-height);
  min-height: 0;
  min-width: 0;
}

.directions__photo--tl {
  border-top-left-radius: var(--radius-collage-tl);
}

.directions__photo--br {
  border-bottom-right-radius: var(--radius-collage-br);
}

.directions__mid {
  position: relative;
  flex: 1 1 0;
  min-height: 0;
}

.directions__photo--mid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.directions__list {
  display: flex;
  flex-direction: column;
  gap: var(--directions-list-gap);
}

.direction-item {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  column-gap: var(--space-24);
  align-items: start;
}

.direction-item__num {
  display: block;
  width: 118px;
  height: 180px;
}

.direction-item__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  min-width: 0;
}

.direction-item__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-deep-sage);
}

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

.direction-item__label {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-line);
  letter-spacing: var(--text-h4-tracking);
  color: var(--color-graphite);
}

.direction-item__text {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: var(--text-body-m-line);
  color: var(--color-soft-olive-gray);
}

.direction-item__photo {
  display: none;
}

.directions__cta {
  align-self: flex-end;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
}

@media (max-width: 1439px) and (min-width: 768px) {
  .directions__body {
    column-gap: 28px;
  }

  .directions__cta {
    width: 298px;
  }
}

@media (max-width: 767px) {
  .directions__inner {
    gap: 48px;
    padding: 64px 20px;
  }

  .directions__header {
    max-width: none;
  }

  .directions__title-block {
    gap: var(--space-24);
    width: 100%;
  }

  .directions__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .directions__ornament {
    width: 100%;
  }

  .directions__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .directions__media {
    display: none;
  }

  .directions__list {
    gap: 48px;
  }

  .direction-item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: var(--space-24);
    align-items: start;
  }

  .direction-item__num {
    grid-column: 1;
    grid-row: 1;
    width: 40px;
    height: auto;
  }

  .direction-item__content {
    grid-column: 2;
    grid-row: 1;
  }

  .direction-item__photo {
    display: block;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1.1;
    object-fit: cover;
    object-position: center;
  }

  .direction-item__photo--tl {
    border-top-left-radius: var(--radius-collage-tl-mobile);
  }

  .direction-item__photo--br {
    border-bottom-right-radius: var(--radius-collage-br-mobile);
  }

  .direction-item__field {
    gap: 8px;
  }

  .directions__cta {
    align-self: stretch;
    width: 100%;
  }
}

.why-us-track {
  position: relative;
  z-index: var(--z-section-reveal);
  height: calc(var(--why-us-h, 50vh) * 3);
  margin-top: calc(-1 * var(--why-us-h, 50vh));
  margin-bottom: calc(-1 * var(--why-us-h, 50vh));
}

.why-us {
  position: sticky;
  top: 0;
  z-index: var(--z-section-reveal);
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  box-sizing: border-box;
  background: var(--color-ivory);
  color: var(--color-graphite);
}

.why-us__inner {
  display: flex;
  flex-direction: column;
  gap: var(--why-us-intro-gap);
  width: 100%;
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--why-us-padding);
}

.why-us__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
}

.why-us__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.why-us__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

.why-us__body {
  width: 100%;
}

.why-us__columns {
  display: flex;
  align-items: flex-start;
  gap: var(--why-us-col-gap);
  width: 100%;
}

.why-us__col {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: var(--why-us-gap);
  min-width: 0;
}

.why-us-item {
  display: flex;
  gap: 8px;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

.why-us-item__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.why-us-item__icon {
  display: block;
  width: 45px;
  height: 44px;
  flex-shrink: 0;
}

.why-us-item__line {
  flex: 1 0 0;
  width: 2px;
  min-height: 24px;
  background: var(--color-line);
}

.why-us-item__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.why-us-item__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
}

.why-us-item__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-soft-olive-gray);
}

@media (max-width: 1549px) and (min-width: 768px) {
  .why-us {
    --why-us-gap: 10px;
    --why-us-col-gap: 20px;
    --why-us-intro-gap: 20px;
  }
}

@media (max-width: 767px) {
  .why-us {
    align-items: stretch;
  }

  .why-us__inner {
    gap: 48px;
    padding: 64px 16px;
  }

  .why-us__title-block {
    gap: 8px;
  }

  .why-us__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .why-us__ornament {
    width: 100%;
  }

  .why-us__columns {
    flex-direction: column;
    gap: 16px;
  }

  .why-us__col {
    flex: none;
    width: 100%;
    gap: 16px;
  }
}

.client-result {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  color: var(--color-graphite);
  overflow: hidden;
}

.client-result__inner {
  display: flex;
  flex-direction: column;
  gap: var(--client-result-intro-gap);
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--client-result-padding);
  /* Tree is absolute and bleeds ~5.11% of body width past the columns;
     %-padding is of section width ≈ viewport: 90/1920 ≈ 4.6875% + 17px gap below tip */
  padding-bottom: calc(4.6875% + 17px);
}

.client-result__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  max-width: calc((100% - var(--client-result-gap)) * 3 / 4);
}

.client-result__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.client-result__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

/* Frame 196: two columns + tree positioned relative to this box */
.client-result__body {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--client-result-gap);
  width: 100%;
}

/* image 39 @1920: left 447/1760, top 256/1445, width 866/1760 of Frame 196 */
.client-result__tree {
  position: absolute;
  left: calc(25.397727% + 2px);
  top: 17.716263%;
  z-index: 0;
  width: 49.204545%;
  height: auto;
  aspect-ratio: 866 / 1279;
  pointer-events: none;
}

.client-result__col {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--client-result-row-gap);
  min-width: 0;
}

.client-result-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--client-result-gap);
  align-items: end;
}

.client-result-item--tall {
  align-items: center;
}

.client-result-item__copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.client-result-item__copy--end {
  text-align: right;
  align-items: flex-end;
}

.client-result-item__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-m-size);
  line-height: var(--text-display-m-line);
  letter-spacing: var(--text-display-m-tracking);
  color: var(--color-graphite);
}

.client-result-item__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-soft-olive-gray);
}

.client-result-item__media {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}

.client-result-item__media--wing {
  aspect-ratio: 417 / 549;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 767px) {
  .client-result {
    display: none;
  }
}

.project-solutions {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  color: var(--color-graphite);
  /* visible: card hover bg inset -14px must not clip */
  overflow: visible;
}

@media (min-width: 768px) {
  .project-solutions {
    margin-top: calc(-1 * var(--radius-section-br));
    border-top-left-radius: var(--radius-section-br);
  }
}

.project-solutions__inner {
  display: flex;
  flex-direction: column;
  gap: var(--project-solutions-intro-gap);
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--project-solutions-padding);
}

.project-solutions__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  max-width: calc((100% - var(--project-solutions-gap)) * 3 / 4);
}

.project-solutions__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  white-space: pre-line;
  color: var(--color-deep-sage);
}

.project-solutions__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

.project-solutions__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--project-solutions-gap);
  width: 100%;
  overflow: visible;
}

.project-solution {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--project-solutions-card-gap);
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.project-solution__hover-bg {
  position: absolute;
  inset: -14px;
  z-index: -1;
  border-radius: 12px;
  background: var(--color-ivory);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.project-solution--first .project-solution__hover-bg {
  border-top-left-radius: 136px;
}

.project-solution--last .project-solution__hover-bg {
  border-bottom-right-radius: 136px;
}

.project-solution:focus-visible {
  outline: 2px solid var(--color-deep-sage);
  outline-offset: 4px;
}

.project-solution__media {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 419 / 524;
}

.project-solution__media--tl {
  border-top-left-radius: var(--radius-collage-tl);
}

.project-solution__media--br {
  border-bottom-right-radius: var(--radius-collage-br);
}

.project-solution__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.project-solution__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(36, 87, 72, 0) 39.291%,
    rgba(48, 86, 77, 0.44) 62.595%,
    #405552 92.366%
  );
  pointer-events: none;
}

.project-solution__name {
  position: absolute;
  z-index: 1;
  left: 40px;
  right: 40px;
  bottom: 40px;
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-m-size);
  line-height: var(--text-display-m-line);
  letter-spacing: var(--text-display-m-tracking);
  color: var(--color-white);
}

.project-solution__name--short {
  display: none;
}

.project-solution__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.project-solution__label {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.28px;
  color: var(--color-soft-olive-gray);
}

.project-solution__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: 28px;
  letter-spacing: -0.32px;
  color: var(--color-graphite);
}

.project-solution__desc--short {
  display: none;
}

.project-solution__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}

.project-solution__more-label {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-body-m-size);
  line-height: 24px;
  letter-spacing: -0.32px;
  color: var(--color-dark-mineral);
}

.project-solution__more-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 16px;
  transform: rotate(180deg);
}

.project-solutions--cards-static .project-solution__more {
  display: none;
}

@media (min-width: 768px) and (hover: hover) {
  .project-solutions:not(.project-solutions--cards-static) .project-solution:hover .project-solution__hover-bg,
  .project-solutions:not(.project-solutions--cards-static) .project-solution:focus-visible .project-solution__hover-bg {
    opacity: 1;
  }

  .project-solutions:not(.project-solutions--cards-static) .project-solution:hover .project-solution__photo,
  .project-solutions:not(.project-solutions--cards-static) .project-solution:focus-visible .project-solution__photo {
    transform: scale(1.04);
  }

  .project-solutions:not(.project-solutions--cards-static) .project-solution:hover .project-solution__more-label,
  .project-solutions:not(.project-solutions--cards-static) .project-solution:focus-visible .project-solution__more-label {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-solution__photo {
    transition: none;
  }
}

.project-solutions__cta {
  align-self: flex-start;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
}

@media (max-width: 1539px) and (min-width: 768px) {
  .project-solution__name {
    left: 35px;
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
    letter-spacing: var(--text-h1-tracking);
  }
}

@media (max-width: 1439px) and (min-width: 768px) {
  .project-solutions__list {
    column-gap: 24px;
  }

  .project-solutions__title-block {
    max-width: calc((100% - 24px) * 3 / 4);
  }

  .project-solutions__cta {
    width: 298px;
  }
}

@media (max-width: 767px) {
  .project-solutions__inner {
    gap: 48px;
    padding: 64px 16px;
  }

  .project-solutions__title-block {
    gap: 8px;
    max-width: none;
    width: 100%;
  }

  .project-solutions__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .project-solutions__ornament {
    width: 100%;
  }

  .project-solutions__list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }

  .project-solution__media--tl {
    border-top-left-radius: var(--radius-collage-tl-mobile);
  }

  .project-solution__media--br {
    border-bottom-right-radius: var(--radius-collage-br-mobile);
  }

  .project-solution__name {
    left: 32px;
    right: 32px;
    bottom: 32px;
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
    letter-spacing: var(--text-h1-tracking);
  }

  .project-solution__name--short {
    display: block;
  }

  .project-solution:has(.project-solution__name--short) > .project-solution__media > .project-solution__name:not(.project-solution__name--short) {
    display: none;
  }

  .project-solution__desc {
    display: none;
  }

  .project-solution__desc--short {
    display: block;
  }

  .project-solutions__cta {
    width: 100%;
  }
}

.how-we-work {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  margin-top: calc(-1 * var(--radius-section-br));
  background: var(--color-white);
  border-top-left-radius: var(--radius-section-br);
  color: var(--color-graphite);
  overflow: hidden;
}

.how-we-work__inner {
  display: flex;
  flex-direction: column;
  gap: var(--how-we-work-intro-gap);
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--how-we-work-padding);
}

.how-we-work__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  max-width: calc((100% - var(--how-we-work-gap)) * 3 / 4);
}

.how-we-work__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.how-we-work__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

.how-we-work__track {
  width: 100%;
}

.how-we-work__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--how-we-work-gap);
  row-gap: var(--how-we-work-row-gap);
  width: 100%;
}

.how-we-work-step {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 320px;
}

.how-we-work-step__num {
  position: relative;
  z-index: 0;
  display: block;
  flex: 0 0 210px;
  width: 210px;
  height: 320px;
  margin-right: -145px;
}

.how-we-work-step__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  padding: 24px 16px 0;
}

.how-we-work-step__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.how-we-work-step__rule {
  display: block;
  width: min(100%, 260px);
  height: auto;
}

.how-we-work-step__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: 1.4;
  letter-spacing: -0.32px;
  color: var(--color-soft-olive-gray);
}

.how-we-work__pager {
  display: none;
}

.how-we-work__cta {
  align-self: flex-end;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
}

@media (max-width: 1439px) and (min-width: 768px) {
  .how-we-work__list {
    column-gap: 24px;
  }

  .how-we-work__title-block {
    max-width: calc((100% - 24px) * 3 / 4);
  }

  .how-we-work__cta {
    width: 298px;
  }
}

@media (max-width: 767px) {
  .how-we-work__inner {
    gap: 48px;
    padding: 64px 16px;
  }

  .how-we-work__title-block {
    gap: 8px;
    max-width: none;
    width: 100%;
  }

  .how-we-work__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .how-we-work__ornament {
    width: 100%;
  }

  .how-we-work__track {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin-inline: -16px;
    padding-inline: 0;
    -webkit-overflow-scrolling: touch;
  }

  .how-we-work__track::-webkit-scrollbar {
    display: none;
  }

  .how-we-work__list {
    display: contents;
  }

  .how-we-work-step {
    box-sizing: border-box;
    flex: 0 0 100%;
    width: 100%;
    max-width: none;
    min-height: 275px;
    padding-inline: 16px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .how-we-work-step__num {
    flex-basis: 180px;
    width: 180px;
    height: 275px;
    margin-right: -145px;
  }

  .how-we-work-step__name {
    font-size: var(--text-display-m-size);
    line-height: var(--text-display-m-line);
    letter-spacing: var(--text-display-m-tracking);
  }

  .how-we-work__pager {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
  }

  .how-we-work__dot {
    width: 28px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--how-we-work-pager-inactive);
    cursor: pointer;
  }

  .how-we-work__dot--active {
    background: var(--color-deep-sage);
  }

  .how-we-work__cta {
    width: 100%;
  }
}

.team {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  color: var(--color-graphite);
}

.team__inner {
  display: flex;
  flex-direction: column;
  gap: var(--team-intro-gap);
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--team-padding);
}

.team__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  max-width: calc((100% - var(--team-gap)) * 3 / 4);
}

.team__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.team__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

.team__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--team-gap);
  width: 100%;
}

.team-member {
  display: flex;
  flex-direction: column;
  gap: var(--team-card-gap);
  min-width: 0;
}

.team-member__media {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1 / 1;
}

.team-member__media--tl {
  border-top-left-radius: var(--radius-collage-tl);
}

.team-member__media--br {
  border-bottom-right-radius: var(--radius-collage-br);
}

.team-member__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-member__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(36, 87, 72, 0) 47.325%,
    rgba(48, 86, 77, 0.44) 67.166%,
    #405552 92.366%
  );
  pointer-events: none;
}

.team-member__ornament {
  position: absolute;
  top: 5.73%;
  right: calc(-22 / 419 * 100%);
  width: calc(111 / 419 * 100%);
  height: auto;
  object-fit: contain;
  object-position: top right;
  pointer-events: none;
}

.team-member__stem {
  display: none;
}

.team-member__corner {
  display: none;
}

.team-member__caption {
  position: absolute;
  z-index: 1;
  left: 18px;
  /* right edge stops at ornament start: ornament right=-22/419, width=111/419 → inset 89/419 */
  right: calc(89 / 419 * 100%);
  bottom: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  pointer-events: none;
}

.team-member__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 30px;
  letter-spacing: -0.44px;
  color: var(--color-white);
}

.team-member__role {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.36px;
  color: var(--color-white);
}

.team-member__copy {
  display: flex;
  flex-direction: column;
  gap: var(--team-field-gap);
  min-width: 0;
}

.team-member__field {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.team-member__label {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.28px;
  color: var(--color-soft-olive-gray);
}

.team-member__value {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: 28px;
  letter-spacing: -0.32px;
  color: var(--color-graphite);
}

.team__cta {
  align-self: flex-start;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
}

@media (max-width: 1439px) and (min-width: 768px) {
  .team__list {
    column-gap: 24px;
  }

  .team__title-block {
    max-width: calc((100% - 24px) * 3 / 4);
  }

  .team__cta {
    width: 298px;
  }
}

@media (max-width: 767px) {
  .team__inner {
    gap: 48px;
    padding: 64px 16px;
  }

  .team__title-block {
    gap: 8px;
    max-width: none;
    width: 100%;
  }

  .team__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .team__ornament {
    width: 100%;
  }

  .team__list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }

  .team-member__media--tl {
    border-top-left-radius: var(--radius-collage-tl-mobile);
  }

  .team-member__media--br {
    border-bottom-right-radius: var(--radius-collage-br-mobile);
  }

  .team-member__ornament {
    display: none;
  }

  .team-member__stem {
    display: block;
    position: absolute;
    top: 5.73%;
    bottom: 5.73%;
    right: 23px;
    width: calc(18.2797 / 358 * 100%);
    height: auto;
    object-fit: fill;
    pointer-events: none;
  }

  .team-member__corner {
    display: block;
    position: absolute;
    right: -22px;
    bottom: -27px;
    width: 111px;
    height: 108px;
    pointer-events: none;
  }

  .team-member__caption {
    /* ornament hidden; leave room for stem on the right */
    right: 48px;
  }

  .team__cta {
    width: 100%;
  }
}

.application-form {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  color: var(--color-graphite);
}

/* Right drawer variant (Figma 2021:6374 / 2105:5130 / 2021:6339) */
.application-form.af-drawer {
  position: fixed;
  inset: 0;
  z-index: var(--z-af-drawer);
  width: auto;
  background: rgba(111, 114, 108, 0);
  visibility: hidden;
  pointer-events: none;
  transition: background-color 0.35s ease;
}

.application-form.af-drawer.af-drawer--open {
  visibility: visible;
  pointer-events: auto;
  background: rgba(111, 114, 108, 0.2);
}

body.af-drawer-open {
  overflow: hidden;
}

.af-drawer__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.af-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(
    clamp(1173px, calc(1173px + (100vw - 1440px) * 0.639583), 1480px),
    100%
  );
  max-width: 100%;
  height: 100%;
  background: var(--color-white);
  overflow-x: hidden;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-overflow-scrolling: touch;
}

.af-drawer--open .af-drawer__panel {
  transform: translateX(0);
}

.af-drawer__close {
  position: absolute;
  top: 56px;
  right: 81px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-graphite);
  cursor: pointer;
}

.af-drawer__close svg {
  display: block;
}

.af-drawer .application-form__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 30px;
  grid-template-columns: unset;
  max-width: none;
  margin: 0;
  padding: 80px 85px;
}

.af-drawer .application-form__collage {
  position: relative;
  flex-shrink: 0;
  width: 419px;
  max-width: none;
  aspect-ratio: auto;
  height: auto;
}

.af-drawer .application-form__drawer-photo {
  display: block;
  width: 419px;
  height: 782px;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
  border-top-left-radius: var(--radius-collage-tl);
  border-bottom-right-radius: var(--radius-collage-br);
}

.af-drawer .application-form__content {
  flex: 1 1 0;
  min-width: 0;
  gap: 40px;
}

.af-drawer .application-form__header {
  gap: 40px;
}

.af-drawer .application-form__actions {
  margin-top: 0;
}

@media (max-width: 1549px) and (min-width: 768px) {
  .af-drawer__close {
    top: 56px;
    right: 79px;
  }

  .af-drawer .application-form__inner {
    gap: 26px;
    padding: 80px 30px 80px 30px;
  }

  .af-drawer .application-form__collage {
    width: 409px;
  }

  .af-drawer .application-form__drawer-photo {
    width: 409px;
    height: 726px;
  }
}

@media (max-width: 767px) {
  .af-drawer__panel {
    width: 100%;
  }

  .af-drawer__close {
    top: 44px;
    right: 16px;
  }

  .af-drawer .application-form__inner {
    flex-direction: column;
    gap: 48px;
    padding: 44px 16px 64px;
  }

  .af-drawer .application-form__collage {
    display: none;
  }

  .af-drawer .application-form__content {
    gap: 48px;
  }

  .af-drawer .application-form__header {
    gap: 24px;
  }

  .af-drawer .application-form__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .af-drawer .application-form__ornament {
    width: 100%;
  }

  .af-drawer .application-form__subtitle {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--text-body-l-size);
    line-height: var(--text-body-l-line);
    letter-spacing: var(--text-body-l-tracking);
    color: var(--color-soft-olive-gray);
  }

  .af-drawer .application-form__steps {
    flex-direction: column;
    gap: 32px;
    align-items: stretch;
  }

  .af-drawer .application-form__step {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
  }

  .af-drawer .application-form__step-label {
    white-space: normal;
  }

  .af-drawer .application-form__actions {
    justify-content: stretch;
  }

  .af-drawer .application-form__cta {
    width: 100%;
  }
}

.application-form__inner {
  display: grid;
  grid-template-columns: minmax(0, 866px) minmax(0, 867px);
  gap: var(--af-gap);
  justify-content: space-between;
  align-items: start;
  max-width: var(--section-width);
  margin: 0 auto;
  padding: var(--af-padding);
}

.application-form__collage {
  position: relative;
  width: 100%;
  max-width: 866px;
  aspect-ratio: 866 / 908;
}

.application-form__photo {
  position: absolute;
  overflow: hidden;
  width: 48.383%;
}

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

.application-form__photo--left {
  top: 0;
  left: 0;
  aspect-ratio: 419 / 744;
  border-bottom-left-radius: var(--radius-collage-tl);
  border-top-right-radius: var(--radius-collage-tl);
}

.application-form__photo--right {
  top: 13.877%;
  left: 51.617%;
  aspect-ratio: 419 / 782;
  border-top-left-radius: var(--radius-collage-tl);
  border-bottom-right-radius: var(--radius-collage-br);
}

.application-form__content {
  display: flex;
  flex-direction: column;
  gap: var(--af-content-gap);
  min-width: 0;
  width: 100%;
}

.application-form__header {
  display: flex;
  flex-direction: column;
  gap: var(--af-content-gap);
}

.application-form__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.application-form__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.application-form__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

.application-form__subtitle {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-dark-mineral);
}

.application-form__steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.application-form__step {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.application-form__step-num {
  display: block;
  flex-shrink: 0;
  width: 26px;
  height: 40px;
  object-fit: contain;
  object-position: left top;
}

.application-form__step-label {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  white-space: pre-line;
  color: var(--color-dark-mineral);
}

.application-form__form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.af-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.af-field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
}

.af-field__label {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.28px;
  color: var(--color-soft-olive-gray);
}

.af-field__control {
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid var(--af-border);
  border-radius: 0;
  background: var(--color-ivory);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: 28px;
  letter-spacing: -0.32px;
  color: var(--color-deep-sage);
  outline: none;
}

.af-field__control::placeholder {
  color: var(--color-deep-sage);
  opacity: 0.55;
}

.af-field__control:focus {
  border-bottom-color: var(--color-deep-sage);
}

.af-field__control--textarea {
  min-height: 72px;
  height: 72px;
  padding: 14px 16px;
  resize: vertical;
  overflow-y: hidden;
}

.af-field--invalid .af-field__label,
.af-consent--invalid .af-consent__text {
  color: var(--af-field-error);
}

.af-field--invalid .af-field__control {
  background: var(--af-field-error-bg);
  border-bottom-color: var(--af-field-error);
}

.af-select {
  position: relative;
  width: 100%;
}

.af-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
  text-align: left;
}

.af-select__value {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.af-select__value--placeholder {
  opacity: 0.55;
}

.af-select__chevron {
  flex-shrink: 0;
  width: 13px;
  height: 8px;
  transition: transform 0.15s ease;
}

.af-select--open .af-select__chevron {
  transform: rotate(180deg);
}

.af-select__list {
  position: absolute;
  z-index: 5;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 240px;
  margin: 0;
  padding: 8px 0;
  overflow-y: auto;
  list-style: none;
  background: var(--color-white);
  border: 1px solid var(--af-border);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 12px 28px rgba(34, 36, 35, 0.12);
}

.af-select__option {
  display: block;
  width: 100%;
  padding: 10px 16px;
  border: 0;
  background: transparent;
  font-family: var(--font-body);
  font-size: var(--text-body-m-size);
  line-height: 24px;
  letter-spacing: -0.32px;
  color: var(--color-dark-mineral);
  text-align: left;
  cursor: pointer;
}

.af-select__option:hover,
.af-select__option:focus {
  background: var(--color-ivory);
  outline: none;
}

.af-select__option--active {
  color: var(--color-deep-sage);
  font-weight: 600;
}

.af-consent {
  display: flex;
  align-items: center;
}

.af-consent__label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.af-consent__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

.af-consent__box {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-dark-mineral);
  background: transparent;
}

.af-consent__input:checked + .af-consent__box {
  border-color: var(--color-deep-sage);
  background: var(--color-deep-sage);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M6.586 9.061 4.464 6.939 3.05 8.354l3.536 3.535 6.364-6.364-1.414-1.414L6.586 9.06Z' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}

.af-consent__input:focus-visible + .af-consent__box {
  outline: 2px solid var(--color-deep-sage);
  outline-offset: 2px;
}

.af-consent--invalid .af-consent__box {
  border-color: var(--af-field-error);
  background: var(--af-field-error-bg);
}

.af-consent__text {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-deep-sage);
}

.af-consent__link {
  color: var(--color-dark-mineral);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.af-consent__link:hover {
  color: var(--color-deep-sage);
}

.af-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.application-form__status {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: var(--text-body-m-line);
  color: var(--color-deep-sage);
}

.application-form__status--error {
  color: #a33a2f;
}

.af-success {
  padding: 0;
  border: none;
  background: transparent;
  max-width: calc(100vw - 32px);
}

.af-success::backdrop {
  background: rgba(34, 36, 35, 0.55);
}

.af-success__panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: min(420px, 100%);
  padding: 32px 28px;
  border-top-left-radius: 16px;
  border-bottom-right-radius: 16px;
  background: var(--color-ivory);
  color: var(--color-graphite);
  box-shadow: 0 16px 48px rgba(34, 36, 35, 0.18);
}

.af-success__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--color-dark-mineral);
}

.af-success__text {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: var(--text-body-m-line);
  color: var(--color-soft-olive-gray);
}

.af-success__close {
  align-self: flex-end;
  margin-top: 8px;
  min-width: 140px;
  padding: 14px 24px;
  border: 2px solid var(--color-deep-sage);
  border-top-left-radius: 12px;
  border-bottom-right-radius: 12px;
  background: var(--color-deep-sage);
  color: var(--color-white);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  cursor: pointer;
}

.af-success__close:hover {
  background: var(--color-dark-mineral);
  border-color: var(--color-dark-mineral);
}

.application-form__actions {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.application-form__cta {
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
}

@media (max-width: 1439px) and (min-width: 768px) {
  .application-form__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 628px);
  }

  .application-form__collage {
    max-width: 626px;
    aspect-ratio: 626 / 657;
  }

  .application-form__photo {
    width: 47.764%;
  }

  .application-form__photo--left,
  .application-form__photo--right {
    aspect-ratio: 299 / 531;
  }

  .application-form__photo--right {
    top: 19.178%;
    left: 52.236%;
  }

  .application-form__cta {
    width: min(100%, 419px);
  }
}

/* Mid desktop: только правая картинка коллажа (попап не затрагиваем) */
@media (max-width: 999px) and (min-width: 768px) {
  .application-form:not(.af-drawer) .application-form__photo--left {
    display: none;
  }

  .application-form:not(.af-drawer) .application-form__photo--right {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }
}

@media (max-width: 767px) {
  .application-form__inner {
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding: 64px 16px;
  }

  .application-form__collage {
    display: none;
  }

  .application-form__content {
    gap: 48px;
  }

  .application-form__header {
    gap: 24px;
  }

  .application-form__title-block {
    gap: 8px;
  }

  .application-form__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .application-form__ornament {
    width: 100%;
  }

  .application-form__subtitle {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--text-body-l-size);
    line-height: var(--text-body-l-line);
    letter-spacing: var(--text-body-l-tracking);
    color: var(--color-soft-olive-gray);
  }

  .application-form__steps {
    flex-direction: column;
    gap: 32px;
  }

  .application-form__step {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
  }

  .af-field-row {
    grid-template-columns: 1fr;
  }

  .af-consent {
    align-items: flex-start;
  }

  .af-consent__label {
    align-items: flex-start;
  }

  .af-consent__box {
    margin-top: 2px;
  }

  .application-form__actions {
    justify-content: stretch;
  }

  .application-form__cta {
    width: 100%;
  }
}

.faq {
  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  overflow: hidden;
}

.faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 866px) minmax(0, 868px);
  gap: 28px;
  align-items: start;
  max-width: var(--section-width);
  margin: 0 auto;
  padding: 80px;
}

.faq__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-width: 0;
}

.faq__title-block {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.faq__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.faq__ornament {
  display: block;
  width: min(100%, 419px);
  height: auto;
}

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

.faq-item {
  border-bottom: 1px solid var(--color-architectural-beige);
}

.faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 16px;
  border: 0;
  background: transparent;
  color: var(--color-deep-sage);
  text-align: left;
  cursor: pointer;
}

.faq-item__question-text {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: -0.36px;
}

.faq-item__chevron {
  flex-shrink: 0;
  width: 16px;
  height: 9px;
  transform: rotate(180deg);
  transition: transform 0.2s ease;
}

.faq-item--open .faq-item__chevron {
  transform: rotate(0deg);
}

.faq-item__answer-wrap {
  overflow: hidden;
}

.faq-item__answer {
  margin: 0;
  padding: 0 16px 12px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: -0.32px;
  color: var(--color-deep-sage);
}

.faq__media {
  position: relative;
  width: 100%;
  max-width: 868px;
  height: 719px;
}

.faq__photo {
  position: absolute;
  display: block;
  object-fit: cover;
}

.faq__photo--left {
  left: 0;
  top: 0;
  width: 48.617%;
  height: 719px;
  border-top-left-radius: 75px;
}

.faq__photo--top-right {
  right: 0;
  top: 0;
  width: 48.617%;
  height: 378px;
}

.faq__photo--bottom-right {
  right: 0;
  bottom: 0;
  width: 48.617%;
  height: 317px;
  border-bottom-right-radius: 75px;
}

@media (max-width: 1439px) and (min-width: 768px) {
  .faq__inner {
    grid-template-columns: minmax(0, 626px) minmax(0, 628px);
    gap: 26px;
  }

  .faq__content {
    width: 626px;
  }

  .faq__media {
    max-width: 628px;
  }

  .faq__photo--left {
    width: 48.089%;
    height: 719px;
  }

  .faq__photo--top-right {
    width: 48.089%;
    height: 378px;
  }

  .faq__photo--bottom-right {
    width: 47.771%;
    height: 317px;
  }
}

@media (max-width: 767px) {
  .faq__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 64px 16px;
  }

  .faq__content {
    gap: 40px;
  }

  .faq__title {
    width: 100%;
    font-size: var(--text-display-l-size);
    line-height: var(--text-display-l-line);
    letter-spacing: var(--text-display-l-tracking);
  }

  .faq__ornament {
    width: 100%;
  }

  .faq__media {
    display: none;
  }

  .faq__list {
    gap: 12px;
  }

  .faq-item__question {
    min-height: 0;
  }
}

/* —— Site footer (shared shell) —— */
.footer-track {
  position: relative;
  z-index: var(--z-section-reveal);
  /*
   * Sticky underlap, same scroll length as a normal footer after FAQ:
   * margin-top −H + height 2×H ⇒ document grows by H past FAQ (same as +footer).
   * ::before parks footer in the lower half; sticky bottom:0 pins it to the
   * viewport while FAQ scrolls over. Upper half stays under FAQ at end of scroll
   * (no empty double-height footer).
   */
  height: calc(var(--footer-h, 320px) * 2);
  margin-top: calc(-1 * var(--footer-h, 320px));
  background: var(--color-dark-mineral);
}

.footer-track::before {
  content: "";
  display: block;
  height: var(--footer-h, 320px);
  pointer-events: none;
}

.footer-track .site-footer {
  position: sticky;
  bottom: 0;
  z-index: var(--z-section-reveal);
  box-sizing: border-box;
}

/*
 * Sticky underlap off on mobile — must come AFTER all track/neighbor base
 * rules (geography / why-us / business-tasks / how-we-work / footer / projects), or
 * later unscoped styles re-apply 3× track heights and 204px radii.
 */
@media (max-width: 767px) {
  .hero-track,
  .geography-track,
  .why-us-track,
  .footer-track {
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
  }

  .footer-track {
    padding-top: 0;
    background: transparent;
  }

  .footer-track::before {
    display: none;
  }

  .hero-track .hero,
  .geography-track .geography,
  .why-us-track .why-us {
    position: relative;
    top: auto;
  }

  .footer-track .site-footer {
    position: relative;
    bottom: auto;
  }

  .geography-track .geography,
  .why-us-track .why-us {
    min-height: auto;
  }

  .project-solutions,
  .company-business-tasks,
  .how-we-work {
    margin-top: 0;
    border-top-left-radius: 0;
  }

  .business-formats,
  .client-result,
  .projects {
    border-bottom-right-radius: 0;
  }
}

.site-footer {
  --footer-pad-x: 80px;
  --footer-pad-y: 32px;
  --footer-gap: 32px;
  --color-cool-gray-30: #c1c7cd;

  position: relative;
  z-index: var(--z-section-overlay);
  background: var(--color-dark-mineral);
  color: var(--color-white);
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--footer-gap);
  width: 100%;
  padding: var(--footer-pad-y) var(--footer-pad-x);
}

.site-footer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
}

.site-footer__logo {
  display: block;
  flex-shrink: 0;
  width: 108px;
  height: 39px;
}

.site-footer__logo img {
  display: block;
  width: 100%;
  height: 100%;
}

.site-footer__cta {
  flex-shrink: 0;
  width: 419px;
}

.site-footer__rule {
  width: 100%;
  height: 1px;
  background: var(--color-line);
}

.site-footer__rule--muted {
  background: var(--color-cool-gray-30);
}

.site-footer__rule--mobile {
  display: none;
}

.site-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "nav nav contacts"
    "legal legal legal";
  column-gap: 24px;
  row-gap: 34px;
  align-items: start;
  width: 100%;
}

.site-footer__nav--desktop {
  grid-area: nav;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 34px;
}

.site-footer__nav--mobile {
  display: none;
}

.site-footer__menu {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__link {
  display: block;
  padding: 12px 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.36px;
  color: var(--color-white);
  text-decoration: none;
}

.site-footer__link:hover,
.site-footer__link:focus-visible {
  opacity: 0.75;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.site-footer__contacts {
  grid-area: contacts;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}

.site-footer__contacts-title {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.4px;
  color: var(--color-white);
}

.site-footer__contacts-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.site-footer__contact-row {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0;
  min-height: 54px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: -0.36px;
  color: var(--color-white);
}

.site-footer__contact-phones {
  display: inline;
  min-width: 0;
}

.site-footer__contact-phones-sep {
  margin-right: 0.35em;
}

.site-footer__contact-value {
  color: inherit;
  text-decoration: none;
}

.site-footer__contact-value:hover,
.site-footer__contact-value:focus-visible {
  text-decoration: underline;
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 39px;
  align-items: center;
}

.site-footer__social:empty {
  display: none;
}

.site-footer__social-link {
  display: block;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  transform-origin: center;
  transition: transform 0.2s ease;
}

.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
  transform: scale(1.12);
}

.site-footer__social-link:active {
  transform: scale(0.92);
}

.site-footer__social-link img {
  display: block;
  width: 100%;
  height: 100%;
}

.site-footer__legal {
  grid-area: legal;
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  align-items: center;
}

.site-footer__legal-link {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-white);
  text-decoration: underline;
  text-underline-position: from-font;
}

.site-footer__legal-link:hover,
.site-footer__legal-link:focus-visible {
  opacity: 0.75;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
}

.site-footer__copyright,
.site-footer__credit-text {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-white);
}

.site-footer__credit {
  display: flex;
  align-items: center;
  gap: 12px;
}

.site-footer__developer {
  display: block;
  width: 90px;
  height: 32px;
  flex-shrink: 0;
}

.site-footer__developer img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 767px) {
  .site-footer {
    --footer-pad-x: 16px;
    --footer-pad-y: 24px;
    --footer-gap: 36px;
  }

  .site-footer__top {
    flex-direction: column;
    align-items: stretch;
    gap: 36px;
  }

  .site-footer__cta {
    width: 100%;
  }

  .site-footer__main {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .site-footer__nav--desktop {
    display: none;
  }

  .site-footer__nav--mobile {
    display: block;
  }

  .site-footer__menu {
    gap: 4px;
  }

  .site-footer__rule--mobile {
    display: block;
    margin: 36px 0;
  }

  .site-footer__legal {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 4px;
  }

  .site-footer__legal-link {
    display: flex;
    align-items: center;
    min-height: 54px;
  }

  .site-footer__contacts {
    gap: 4px;
    margin-top: 36px;
  }

  .site-footer__contacts-list {
    gap: 4px;
    padding-top: 12px;
  }

  .site-footer__social {
    min-height: 54px;
  }

  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}

/* —— Legal pages (shared shell + stub content) —— */
.page-legal {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--color-ivory);
}

.page-legal__main {
  flex: 1 1 auto;
  padding: calc(var(--site-header-height) + 48px) 80px 80px;
}

.page-legal__inner {
  width: min(100%, 920px);
}

.page-legal__title {
  margin: 0 0 40px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h1-size, 40px);
  line-height: var(--text-h1-line, 1.2);
  letter-spacing: var(--text-h1-tracking, -0.8px);
  color: var(--color-dark-mineral);
}

.page-legal__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 26px;
  letter-spacing: -0.32px;
  color: var(--color-graphite);
}

.page-legal__section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.page-legal__heading {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.4px;
  color: var(--color-dark-mineral);
}

.page-legal__body p {
  margin: 0;
}

.page-legal__list {
  margin: 0;
  padding-left: 1.25em;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.page-legal__list li::marker {
  color: var(--color-dark-mineral);
}

.page-legal__body a {
  color: var(--color-dark-mineral);
  text-decoration: underline;
  text-underline-position: from-font;
}

.page-legal__body a:hover,
.page-legal__body a:focus-visible {
  opacity: 0.75;
}

@media (max-width: 767px) {
  .page-legal__main {
    padding: calc(var(--site-header-height) + 32px) 16px 48px;
  }

  .page-legal__title {
    margin-bottom: 28px;
    font-size: var(--text-h2-size, 32px);
    line-height: var(--text-h2-line, 1.2);
  }

  .page-legal__body {
    gap: 28px;
    font-size: 15px;
    line-height: 24px;
  }
}

/* —— Project detail pages —— */
.page-project {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--color-white);
}

.page-project__main {
  flex: 1 1 auto;
}

.project-detail {
  width: 100%;
  background: var(--color-white);
}

.project-detail__inner {
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: calc(var(--site-header-height) + 48px) var(--industries-padding) 80px;
}

.project-detail__inner::after {
  content: "";
  display: table;
  clear: both;
}

.project-detail__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: auto;
  max-width: 100%;
  margin-bottom: var(--space-32);
}

.project-detail__title {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.project-detail__ornament {
  width: min(419px, 100%);
  max-width: 100%;
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.project-detail__paragraph {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-dark-mineral);
}

.project-detail__paragraph + .project-detail__paragraph {
  margin-top: var(--space-24);
}

.project-detail__media {
  float: right;
  position: relative;
  width: calc((100% - var(--industries-gap)) / 2);
  height: var(--industries-media-height);
  margin: 0 0 var(--space-24) var(--industries-gap);
  overflow: hidden;
}

.project-detail--media-start .project-detail__media {
  float: left;
  margin-left: 0;
  margin-right: var(--industries-gap);
}

.project-detail__photo {
  position: absolute;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.project-detail__photo--left {
  top: 0;
  left: 0;
  width: 48.3845%;
  height: var(--industries-media-height);
  border-top-left-radius: var(--radius-collage-tl);
}

.project-detail__photo--top {
  top: 0;
  left: 51.6155%;
  width: 48.3845%;
  height: 368px;
}

.project-detail__photo--bottom {
  top: 396px;
  left: 51.6155%;
  width: 48.3845%;
  height: 340px;
  border-bottom-right-radius: var(--radius-collage-br);
}

@media (max-width: 767px) {
  .project-detail__inner {
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding: calc(var(--site-header-height) + 32px) 16px 48px;
  }

  .project-detail__inner::after {
    display: none;
  }

  .project-detail__header {
    order: 1;
    gap: 8px;
    margin-bottom: 0;
  }

  .project-detail__media {
    order: 2;
    float: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 240px 160px;
    gap: 16px;
    width: 100%;
    height: auto;
    margin: 0;
    overflow: visible;
  }

  .project-detail--media-start .project-detail__media {
    margin: 0;
  }

  .project-detail__body {
    order: 3;
  }

  .project-detail__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .project-detail__paragraph + .project-detail__paragraph {
    margin-top: 20px;
  }

  .project-detail__paragraph {
    font-size: var(--text-body-m-size);
    line-height: var(--text-body-m-line);
    letter-spacing: 0;
  }

  .project-detail__photo {
    position: relative;
    width: 100%;
    height: 100%;
    inset: auto;
    left: auto;
    top: auto;
  }

  .project-detail__photo--left {
    grid-row: 1 / span 2;
    border-top-left-radius: var(--radius-collage-tl);
    border-bottom-left-radius: 0;
  }

  .project-detail__photo--top {
    grid-column: 2;
    grid-row: 1;
  }

  .project-detail__photo--bottom {
    grid-column: 2;
    grid-row: 2;
    border-bottom-right-radius: var(--radius-collage-br);
  }
}

/* —— format-detail —— */
.format-detail {
  width: 100%;
  background: var(--color-white);
}

.format-detail__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: calc(var(--site-header-height) + 48px) 80px 80px;
}

.format-detail__photo {
  display: block;
  width: 100%;
  max-height: 524px;
  aspect-ratio: 838 / 524;
  object-fit: cover;
  object-position: center;
  border-top-left-radius: var(--radius-collage-tl);
  border-bottom-right-radius: var(--radius-collage-br);
}

.format-detail__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  max-width: calc((100% - 28px) * 3 / 4);
}

.format-detail__title {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.format-detail__ornament {
  width: min(419px, 100%);
  max-width: 100%;
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.format-detail__lead,
.format-detail__closing {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-dark-mineral);
}

.format-detail__services {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.format-detail__service-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
}

.format-detail__service-text {
  margin: 8px 0 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-soft-olive-gray);
}

.format-detail__cta {
  align-self: flex-start;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
  text-decoration: none;
}

@media (max-width: 767px) {
  .format-detail__inner {
    gap: 24px;
    padding: calc(var(--site-header-height) + 32px) 16px 48px;
  }

  .format-detail__header {
    max-width: none;
  }

  .format-detail__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .format-detail__photo {
    max-height: none;
    aspect-ratio: 358 / 224;
    border-top-left-radius: var(--radius-collage-tl-mobile);
    border-bottom-right-radius: var(--radius-collage-br-mobile);
  }

  .format-detail__cta {
    align-self: stretch;
    width: 100%;
  }
}

/* —— company-hero —— */
.company-hero-track {
  position: relative;
  z-index: var(--z-section-reveal);
  height: calc(var(--company-hero-h, 100vh) * 2);
  margin-bottom: calc(-1 * var(--company-hero-h, 100vh));
}

.company-hero {
  --company-hero-padding: 80px;
  --company-hero-gap: 50px;
  --company-hero-intro-gap: 20px;
  --company-hero-title-gap: 24px;
  --company-hero-list-gap: 24px;
  --company-hero-actions-gap: 40px;
  --company-hero-photo-w: 830px;
  --company-hero-actions-w: 880px;

  position: sticky;
  top: 0;
  z-index: var(--z-section-reveal);
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--color-dark-mineral);
  color: var(--color-ivory);
  /* Figma inset 80; top clears fixed header + 15; ≥1550 gets +20 more */
  padding: var(--company-hero-padding);
  padding-top: calc(
    max(var(--company-hero-padding), var(--site-header-height)) + 35px
  );
}

/* ≥1550: title + actions left, photo spans both rows */
.company-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, var(--company-hero-actions-w)) minmax(
      0,
      var(--company-hero-photo-w)
    );
  grid-template-areas:
    "header media"
    "actions media";
  column-gap: var(--company-hero-gap);
  row-gap: var(--company-hero-intro-gap);
  align-items: start;
  width: min(100%, var(--section-width));
  margin: 0 auto;
}

.company-hero__header {
  grid-area: header;
  display: flex;
  flex-direction: column;
  gap: var(--company-hero-title-gap);
  width: 100%;
  min-width: 0;
}

.company-hero__body {
  display: contents;
}

.company-hero__actions {
  grid-area: actions;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--company-hero-actions-gap);
  width: 100%;
  min-width: 0;
}

.company-hero__eyebrow {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-ivory);
}

.company-hero__lead {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 36px;
  line-height: 44px;
  letter-spacing: 0;
  color: var(--color-ivory);
}

.company-hero__ornament {
  width: min(419px, 100%);
  max-width: 100%;
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.company-hero__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--company-hero-list-gap);
  width: 100%;
}

.company-hero__item {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  width: 100%;
}

.company-hero__item-icon {
  flex: 0 0 45px;
  width: 45px;
  height: 44px;
  display: block;
}

.company-hero__item-text {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-white);
}

.company-hero__cta {
  width: min(419px, 100%);
  flex-shrink: 0;
}

.company-hero__media {
  grid-area: media;
  position: relative;
  align-self: stretch;
  width: 100%;
  min-height: 0;
  border-radius: var(--radius-collage-tl) 0 var(--radius-collage-br) 0;
  overflow: hidden;
}

.company-hero__photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ≤1549: title full width; photo height = list + CTA */
@media (max-width: 1549px) and (min-width: 768px) {
  .company-hero {
    --company-hero-gap: 89px;
    --company-hero-actions-gap: 36px;
    --company-hero-actions-w: 626px;
    --company-hero-title-gap: 12px;
    --company-hero-list-gap: 20px;
    --company-hero-photo-w: 565px;

    padding-top: calc(
      max(var(--company-hero-padding), var(--site-header-height)) + 15px
    );
  }

  .company-hero__eyebrow {
    display: none;
  }

  .company-hero__item-icon {
    flex-basis: 37px;
    width: 37px;
    height: auto;
    aspect-ratio: 45 / 44;
  }

  .company-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--company-hero-intro-gap);
  }

  .company-hero__header {
    width: 100%;
  }

  .company-hero__body {
    display: flex;
    align-items: stretch;
    gap: var(--company-hero-gap);
    width: 100%;
  }

  .company-hero__actions {
    flex: 0 1 var(--company-hero-actions-w);
    width: var(--company-hero-actions-w);
    max-width: calc(50% - var(--company-hero-gap) / 2);
  }

  .company-hero__media {
    flex: 1 1 var(--company-hero-photo-w);
    width: var(--company-hero-photo-w);
    max-width: calc(50% - var(--company-hero-gap) / 2);
    align-self: stretch;
  }
}

@media (max-width: 767px) {
  .company-hero {
    --company-hero-padding: 16px;
    --company-hero-intro-gap: 48px;
    --company-hero-actions-gap: 48px;

    min-height: 0;
    padding:
      calc(var(--site-header-height) + 64px)
      var(--company-hero-padding)
      64px;
  }

  .company-hero__eyebrow {
    display: none;
  }

  .company-hero__inner {
    display: flex;
    flex-direction: column;
    gap: var(--company-hero-intro-gap);
    min-height: 0;
  }

  .company-hero__body {
    display: flex;
    flex-direction: column;
    gap: var(--company-hero-actions-gap);
    width: 100%;
  }

  .company-hero__actions {
    width: 100%;
    max-width: none;
  }

  .company-hero__lead {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .company-hero__ornament {
    width: 100%;
  }

  .company-hero__cta {
    width: 100%;
  }

  .company-hero__media {
    display: none;
  }
}

/* —— company-mission —— */
.company-mission {
  --company-mission-padding: 80px;
  --company-mission-stack-gap: 77px;
  --company-mission-intro-gap: 160px;
  --company-mission-copy-gap: 40px;
  --company-mission-cards-gap: 28px;

  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  margin-top: calc(-1 * var(--radius-section-br));
  background: var(--color-white);
  border-top-left-radius: var(--radius-section-br);
  color: var(--color-graphite);
  overflow: hidden;
}

.company-mission__inner {
  display: flex;
  flex-direction: column;
  gap: var(--company-mission-stack-gap);
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: var(--company-mission-padding);
  box-sizing: border-box;
}

.company-mission__intro {
  display: flex;
  align-items: flex-start;
  gap: var(--company-mission-intro-gap);
  width: 100%;
}

.company-mission__copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--company-mission-copy-gap);
  min-width: 0;
}

.company-mission__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
}

.company-mission__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.company-mission__ornament {
  display: block;
  width: min(419px, 100%);
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.company-mission__lead {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-dark-mineral);
}

.company-mission__emblem {
  display: block;
  flex-shrink: 0;
}

.company-mission__emblem--desktop {
  width: 287px;
  height: 289px;
}

.company-mission__emblem--mobile {
  display: none;
  width: 80px;
  height: 105px;
}

.company-mission__list {
  display: flex;
  align-items: stretch;
  gap: var(--company-mission-cards-gap);
  width: 100%;
}

.company-mission-item {
  display: flex;
  flex: 1 1 0;
  align-items: stretch;
  gap: var(--space-8);
  min-width: 0;
}

.company-mission-item__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.company-mission-item__icon {
  display: block;
  width: 45px;
  height: 47px;
  flex-shrink: 0;
}

.company-mission-item__line {
  flex: 1 0 0;
  width: 2px;
  min-height: 24px;
  background: var(--color-architectural-beige);
}

.company-mission-item__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.company-mission-item__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
}

.company-mission-item__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-soft-olive-gray);
}

@media (max-width: 1439px) and (min-width: 768px) {
  .company-mission {
    --company-mission-intro-gap: 60px;
    --company-mission-cards-gap: 16px;
  }
}

@media (max-width: 767px) {
  .company-mission {
    --company-mission-stack-gap: 48px;
    --company-mission-copy-gap: 24px;
    --company-mission-cards-gap: 16px;
  }

  .company-mission__inner {
    padding: 64px 16px;
  }

  .company-mission__intro {
    display: block;
  }

  .company-mission__header {
    gap: var(--space-8);
  }

  .company-mission__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .company-mission__ornament {
    width: 100%;
  }

  .company-mission__lead {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--text-body-l-size);
    line-height: var(--text-body-l-line);
    letter-spacing: var(--text-body-l-tracking);
  }

  .company-mission__emblem--desktop {
    display: none;
  }

  .company-mission__emblem--mobile {
    display: block;
  }

  .company-mission__list {
    flex-direction: column;
  }

  .company-mission-item {
    flex: none;
    width: 100%;
  }
}

/* —— company-geography —— */
.company-geography {
  --company-geography-padding: 80px;
  --company-geography-stack-gap: 39px;
  --company-geography-header-gap: 24px;
  --company-geography-cards-gap: 29px;
  --company-geography-card-h: 290px;
  --company-geography-pager-inactive: #c5cec9;

  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  border-bottom-right-radius: var(--radius-section-br);
  color: var(--color-graphite);
  overflow: hidden;
}

.company-geography__inner {
  display: flex;
  flex-direction: column;
  gap: var(--company-geography-stack-gap);
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: var(--company-geography-padding);
  box-sizing: border-box;
}

.company-geography__header {
  display: flex;
  flex-direction: column;
  gap: var(--company-geography-header-gap);
  width: 100%;
}

.company-geography__title-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
}

.company-geography__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.company-geography__ornament {
  display: block;
  width: min(419px, 100%);
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.company-geography__lead {
  margin: 0;
  max-width: 1315px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-dark-mineral);
}

.company-geography__track {
  width: 100%;
}

.company-geography__list {
  display: flex;
  align-items: stretch;
  gap: var(--company-geography-cards-gap);
  width: 100%;
}

.company-geography-card {
  position: relative;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: var(--company-geography-card-h);
  height: auto;
  padding: 56px 20px 20px;
  overflow: hidden;
  background: color-mix(in srgb, var(--color-ivory) 40%, transparent);
  box-sizing: border-box;
}

.company-geography-card--region {
  border-radius: 60px 0 0 0;
}

.company-geography-card--approach {
  border-radius: 0 0 60px 0;
}

.company-geography-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  width: 100%;
  min-width: 0;
}

.company-geography-card__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-dark-mineral);
}

.company-geography-card__desc {
  margin: 0;
  max-width: 325px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-l-size);
  line-height: var(--text-body-l-line);
  letter-spacing: var(--text-body-l-tracking);
  color: var(--color-deep-sage);
}

.company-geography-card--region .company-geography-card__desc {
  max-width: none;
}

.company-geography-card__pattern {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 419px;
  height: 142px;
  pointer-events: none;
}

.company-geography-card__pattern img {
  position: absolute;
  left: 0;
  top: -10px;
  right: -135px;
  bottom: -101px;
  display: block;
  width: auto;
  height: auto;
  max-width: none;
}

@media (max-width: 999px) {
  .company-geography-card__pattern {
    display: none;
  }
}

.company-geography__pager {
  display: none;
}

@media (max-width: 767px) {
  .company-geography {
    --company-geography-stack-gap: 24px;
    --company-geography-header-gap: 48px;
    --company-geography-card-h: 288px;
  }

  .company-geography__inner {
    gap: var(--company-geography-stack-gap);
    padding: 64px 16px;
  }

  .company-geography__title-block {
    gap: var(--space-8);
  }

  .company-geography__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .company-geography__ornament {
    width: 100%;
  }

  .company-geography__lead {
    max-width: none;
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--text-body-l-size);
    line-height: var(--text-body-l-line);
    letter-spacing: var(--text-body-l-tracking);
  }

  .company-geography__track {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    width: calc(100% + 32px);
    margin-inline: -16px;
    -webkit-overflow-scrolling: touch;
  }

  .company-geography__track::-webkit-scrollbar {
    display: none;
  }

  .company-geography__list {
    display: contents;
  }

  .company-geography-card {
    flex: 0 0 100%;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    border-inline: 16px solid transparent;
    background-clip: padding-box;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .company-geography-card__desc {
    max-width: none;
  }

  .company-geography__pager {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
  }

  .company-geography__dot {
    width: 28px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--company-geography-pager-inactive);
    cursor: pointer;
  }

  .company-geography__dot--active {
    background: var(--color-deep-sage);
  }
}

/* —— company-differences —— */
.company-differences-track {
  position: relative;
  z-index: var(--z-section-reveal);
  height: calc(var(--company-differences-h, 50vh) * 3);
  margin-top: calc(-1 * var(--company-differences-h, 50vh));
  margin-bottom: calc(-1 * var(--company-differences-h, 50vh));
}

.company-differences {
  --company-differences-padding: 80px;
  --company-differences-padding-top: 100px; /* 80 + 20 (desktop ≥1550) */
  --company-differences-stack-gap: 40px;
  --company-differences-header-gap: 24px;
  --company-differences-items-gap: 40px;
  --company-differences-body-gap: 28px;
  --company-differences-copy-gap: 40px;

  position: sticky;
  top: 0;
  z-index: var(--z-section-reveal);
  box-sizing: border-box;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--color-ivory);
  color: var(--color-graphite);
}

.company-differences__inner {
  display: flex;
  flex-direction: column;
  gap: var(--company-differences-stack-gap);
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: var(--company-differences-padding);
  padding-top: var(--company-differences-padding-top);
  box-sizing: border-box;
}

.company-differences__header {
  display: flex;
  flex-direction: column;
  gap: var(--company-differences-header-gap);
  width: 100%;
}

.company-differences__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.company-differences__ornament {
  display: block;
  width: min(419px, 100%);
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.company-differences__body {
  display: flex;
  align-items: stretch;
  gap: var(--company-differences-body-gap);
  width: 100%;
}

.company-differences__copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--company-differences-copy-gap);
  justify-content: center;
  min-width: 0;
}

.company-differences__lead {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-dark-mineral);
}

.company-differences__list {
  display: flex;
  flex-direction: column;
  gap: var(--company-differences-items-gap);
}

.company-differences-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.company-differences-item__icon {
  display: block;
  flex-shrink: 0;
  width: 45px;
  height: 44px;
}

.company-differences-item__text {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
}

.company-differences__logo {
  display: block;
  flex: 0 0 auto;
  align-self: flex-end;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.252083), 419px);
  height: auto;
  aspect-ratio: 419 / 151;
}

@media (max-width: 1549px) and (min-width: 768px) {
  .company-differences {
    --company-differences-padding-top: 90px; /* 80 + 10 (≤1550) */
    --company-differences-stack-gap: 20px;
    --company-differences-items-gap: 12px;
  }

  .company-differences__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "lead lead"
      "list logo";
    row-gap: 20px;
    column-gap: var(--company-differences-body-gap);
    align-items: end;
  }

  .company-differences__copy {
    display: contents;
  }

  .company-differences__lead {
    grid-area: lead;
    width: 100%;
  }

  .company-differences__list {
    grid-area: list;
    min-width: 0;
  }

  .company-differences__logo {
    grid-area: logo;
    align-self: end;
  }

  .company-differences-item__icon {
    width: 37px;
    height: auto;
    aspect-ratio: 45 / 44;
  }
}

@media (max-width: 767px) {
  .company-differences {
    --company-differences-padding: 64px 16px;
    --company-differences-padding-top: 64px;
    --company-differences-stack-gap: 20px;
    --company-differences-header-gap: 8px;
    --company-differences-copy-gap: 20px;
    --company-differences-items-gap: 12px;
  }

  .company-differences__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .company-differences__ornament {
    width: 100%;
  }

  .company-differences__lead {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--text-body-l-size);
    line-height: var(--text-body-l-line);
    letter-spacing: var(--text-body-l-tracking);
  }

  .company-differences__body {
    display: block;
  }

  .company-differences__logo {
    display: none;
  }

  .company-differences-item {
    align-items: flex-start;
    width: 100%;
  }

  .company-differences-item__icon {
    width: 37px;
    height: auto;
    aspect-ratio: 45 / 44;
  }

  .company-differences-item__text {
    flex: 1 1 auto;
    min-width: 0;
  }
}

/* —— company-business-formats —— */
.company-business-formats {
  --company-business-formats-padding: 80px;
  --company-business-formats-stack-gap: 40px;
  --company-business-formats-header-gap: 24px;
  --company-business-formats-row-gap: 28px;
  --company-business-formats-col-gap: 29px;
  --company-business-formats-card-h: 524px;
  --company-business-formats-static-w: 418px;
  --company-business-formats-side-w: clamp(
    389px,
    calc(389px + (100vw - 1440px) * 29 / 480),
    418px
  );
  --company-business-formats-pager-inactive: #c5cec9;

  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  margin-top: calc(-1 * var(--radius-section-br));
  background: var(--color-white);
  border-top-left-radius: var(--radius-section-br);
  color: var(--color-graphite);
  overflow: hidden;
}

.company-business-formats__inner {
  display: flex;
  flex-direction: column;
  gap: var(--company-business-formats-stack-gap);
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: var(--company-business-formats-padding);
  box-sizing: border-box;
}

.company-business-formats__header {
  display: flex;
  flex-direction: column;
  gap: var(--company-business-formats-header-gap);
  width: 100%;
}

.company-business-formats__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.company-business-formats__ornament {
  display: block;
  width: min(419px, 100%);
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.company-business-formats__lead {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-dark-mineral);
}

.company-business-formats__track {
  width: 100%;
}

.company-business-formats__layout {
  display: flex;
  align-items: flex-start;
  gap: var(--company-business-formats-col-gap);
  width: 100%;
}

.company-business-formats__left {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--company-business-formats-row-gap);
  min-width: 0;
}

.company-business-formats__row {
  display: flex;
  align-items: stretch;
  gap: var(--company-business-formats-col-gap);
  width: 100%;
  height: var(--company-business-formats-card-h);
}

.company-business-formats-card {
  position: relative;
  display: block;
  height: var(--company-business-formats-card-h);
  overflow: hidden;
  color: var(--color-white);
  box-sizing: border-box;
}

.company-business-formats-card--fluid-tl,
.company-business-formats-card--fluid-br {
  flex: 1 1 0;
  min-width: 0;
}

.company-business-formats-card--fluid-tl {
  border-top-left-radius: var(--radius-collage-tl);
}

.company-business-formats-card--fluid-br {
  border-bottom-right-radius: var(--radius-collage-br);
}

.company-business-formats-card--static {
  flex: 0 0 var(--company-business-formats-static-w);
  width: var(--company-business-formats-static-w);
}

.company-business-formats-card--side {
  flex: 0 0 var(--company-business-formats-side-w);
  width: var(--company-business-formats-side-w);
  align-self: flex-start;
}

.company-business-formats-card__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.company-business-formats-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(36, 87, 72, 0) 39.291%,
    rgba(48, 86, 77, 0.44) 62.595%,
    #405552 92.366%
  );
  pointer-events: none;
}

.company-business-formats-card__body {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  padding: var(--space-24);
  box-sizing: border-box;
}

.company-business-formats-card__name {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-m-size);
  line-height: var(--text-display-m-line);
  letter-spacing: var(--text-display-m-tracking);
  color: var(--color-white);
}

.company-business-formats-card__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-m-size);
  line-height: 28px;
  letter-spacing: -0.32px;
  color: var(--color-white);
}

.company-business-formats__pager {
  display: none;
}

@media (max-width: 1400px) {
  .company-business-formats {
    --company-business-formats-padding: 64px 16px;
    --company-business-formats-stack-gap: 48px;
    --company-business-formats-header-gap: 8px;
    --company-business-formats-card-h: 524px;
  }

  .company-business-formats__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .company-business-formats__ornament {
    width: min(419px, 100%);
  }

  .company-business-formats__lead {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--text-body-l-size);
    line-height: var(--text-body-l-line);
    letter-spacing: var(--text-body-l-tracking);
  }

  .company-business-formats__track {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    width: calc(100% + 32px);
    margin-inline: -16px;
    -webkit-overflow-scrolling: touch;
  }

  .company-business-formats__track::-webkit-scrollbar {
    display: none;
  }

  .company-business-formats__layout,
  .company-business-formats__left,
  .company-business-formats__row {
    display: contents;
  }

  .company-business-formats-card {
    flex: 0 0 100%;
    width: 100%;
    max-width: none;
    height: var(--company-business-formats-card-h);
    margin: 0;
    border-inline: 16px solid transparent;
    background-clip: padding-box;
    border-radius: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    box-sizing: border-box;
  }

  .company-business-formats-card--fluid-tl,
  .company-business-formats-card--fluid-br,
  .company-business-formats-card--static,
  .company-business-formats-card--side {
    flex: 0 0 100%;
    width: 100%;
  }

  .company-business-formats-card--fluid-tl {
    border-top-left-radius: var(--radius-collage-tl);
  }

  .company-business-formats-card--side {
    border-bottom-right-radius: var(--radius-collage-br);
  }

  .company-business-formats-card__photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
  }

  .company-business-formats-card__shade {
    position: absolute;
    inset: 0;
    width: auto;
    max-width: none;
    height: auto;
    transform: none;
  }

  .company-business-formats-card__body {
    right: 0;
    left: 0;
    width: auto;
    max-width: none;
    transform: none;
  }

  .company-business-formats-card__name {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line);
    letter-spacing: var(--text-h1-tracking);
  }

  .company-business-formats-card__desc {
    font-size: 14px;
    line-height: 22px;
    letter-spacing: -0.28px;
  }

  .company-business-formats__pager {
    display: flex;
    justify-content: center;
    gap: 8px;
    width: 100%;
  }

  .company-business-formats__dot {
    width: 28px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 2px;
    background: var(--company-business-formats-pager-inactive);
    cursor: pointer;
  }

  .company-business-formats__dot--active {
    background: var(--color-deep-sage);
  }
}

/* —— company-team-experience —— */
.company-team-experience {
  --company-team-experience-padding: 80px;
  --company-team-experience-stack-gap: 40px;
  --company-team-experience-header-gap: 24px;
  --company-team-experience-items-gap: 40px;
  --company-team-experience-body-gap: 28px;
  --company-team-experience-copy-gap: 40px;

  position: relative;
  z-index: var(--z-section-overlay);
  width: 100%;
  background: var(--color-white);
  border-bottom-right-radius: var(--radius-section-br);
  color: var(--color-graphite);
  overflow: hidden;
}

.company-team-experience__inner {
  display: flex;
  flex-direction: column;
  gap: var(--company-team-experience-stack-gap);
  width: min(100%, var(--section-width));
  margin: 0 auto;
  padding: var(--company-team-experience-padding);
  box-sizing: border-box;
}

.company-team-experience__header {
  display: flex;
  flex-direction: column;
  gap: var(--company-team-experience-header-gap);
  width: 100%;
}

.company-team-experience__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-display-l-size);
  line-height: var(--text-display-l-line);
  letter-spacing: var(--text-display-l-tracking);
  color: var(--color-deep-sage);
}

.company-team-experience__ornament {
  display: block;
  width: min(419px, 100%);
  height: auto;
  aspect-ratio: 419 / 42;
  object-fit: contain;
  object-position: left center;
}

.company-team-experience__body {
  display: flex;
  align-items: stretch;
  gap: var(--company-team-experience-body-gap);
  width: 100%;
}

.company-team-experience__copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--company-team-experience-copy-gap);
  justify-content: center;
  min-width: 0;
}

.company-team-experience__lead {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line);
  letter-spacing: var(--text-h2-tracking);
  color: var(--color-dark-mineral);
}

.company-team-experience__list {
  display: flex;
  flex-direction: column;
  gap: var(--company-team-experience-items-gap);
}

.company-team-experience-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.company-team-experience-item__icon {
  display: block;
  flex-shrink: 0;
  width: 45px;
  height: 44px;
}

.company-team-experience-item__text {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line);
  letter-spacing: var(--text-h3-tracking);
  color: var(--color-graphite);
}

.company-team-experience__logo {
  display: block;
  flex: 0 0 auto;
  align-self: flex-end;
  width: clamp(298px, calc(298px + (100vw - 1440px) * 0.254167), 420px);
  height: auto;
  aspect-ratio: 420 / 473;
}

@media (max-width: 767px) {
  .company-team-experience {
    --company-team-experience-padding: 64px 16px;
    --company-team-experience-stack-gap: 48px;
    --company-team-experience-header-gap: 8px;
  }

  .company-team-experience__title {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line);
    letter-spacing: var(--text-h2-tracking);
  }

  .company-team-experience__ornament {
    width: 100%;
  }

  .company-team-experience__lead {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--text-body-l-size);
    line-height: var(--text-body-l-line);
    letter-spacing: var(--text-body-l-tracking);
  }

  .company-team-experience__body {
    display: block;
  }

  .company-team-experience__logo {
    display: none;
  }

  .company-team-experience-item {
    align-items: flex-start;
    width: 100%;
  }

  .company-team-experience-item__text {
    flex: 1 1 auto;
    min-width: 0;
  }
}

/*
 * Company sticky underlap off on mobile — after all company track/neighbor
 * base rules so 3× heights and 204px radii do not win the cascade.
 */
@media (max-width: 767px) {
  .company-hero-track,
  .company-differences-track {
    height: auto;
    margin-top: 0;
    margin-bottom: 0;
  }

  .company-hero-track .company-hero,
  .company-differences-track .company-differences {
    position: relative;
    top: auto;
    min-height: auto;
  }

  .company-mission,
  .company-business-formats {
    margin-top: 0;
    border-top-left-radius: 0;
  }

  .company-geography,
  .company-team-experience {
    border-bottom-right-radius: 0;
  }
}

