@charset "utf-8";

/* ==========================================================================
   Impact Consulting — production stylesheet
   Порядок: шрифты → токены → база → компоненты → секции → адаптив → motion
   ========================================================================== */

/* ------------------------------------------------------------------ шрифты */
/* Golos Text, переменное начертание, self-hosted. Подсеты по unicode-range —
   браузер скачивает только нужный диапазон. */

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                 U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                 U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                 U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ------------------------------------------------------------------ токены */

:root {
  /* Canonical brand palette: one red, one page canvas and one surface. */
  --brand-red: #c60000;
  --brand-red-hover: #a80000;
  --brand-red-mark: var(--brand-red);
  --brand-graphite: #181818;
  --brand-blue-soft: #f5f5f7;

  /* Semantic colors / четыре типа поверхности. */
  --color-bg-primary: #f5f5f7;
  --color-bg-secondary: #f5f5f7;
  --color-text-primary: #1d1d1f;
  --color-text-secondary: #6e6e73;
  --color-text-muted: #747478;
  --color-text-inverse: #fff;
  --color-border-subtle: rgba(29, 29, 31, 0.09);
  --color-border-strong: rgba(29, 29, 31, 0.18);
  --color-surface-plain: #fff;
  --color-surface-subtle: #fff;
  --color-surface-dark: #181818;
  --color-surface-accent-light: #fff;
  --color-error: #c60000;
  --color-success: #414141;

  /* Typography: один variable sans, три рабочих веса (400/500/600). */
  --font: 'Golos Text', 'Helvetica Neue', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --type-display: clamp(3rem, 5.5vw, 5.5rem);
  --type-h1: clamp(2.75rem, 4.5vw, 4.75rem);
  --type-h2: clamp(2.25rem, 3.5vw, 3.75rem);
  --type-h3: clamp(1.5rem, 2vw, 2.25rem);
  --type-body-lg: 1.125rem;
  --type-body: 1rem;
  --type-small: 0.875rem;
  --type-eyebrow: 0.8125rem;
  --type-button: 0.9375rem;
  --type-metadata: 0.75rem;
  --leading-display: 0.96;
  --leading-heading: 1.06;
  --leading-body: 1.6;
  --tracking-display: -0.05em;
  --tracking-heading: -0.025em;
  --tracking-eyebrow: 0.04em;

  /* 4px base spacing scale. Section tokens replace new arbitrary values;
     legacy section geometry remains untouched until its page design pass. */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 0.75rem;
  --space-lg: 1rem;
  --space-xl: 1.5rem;
  --space-2xl: 2rem;
  --space-3xl: 3rem;
  --space-4xl: 4rem;
  --space-5xl: 6rem;
  --space-6xl: 8rem;
  --space-section: clamp(5.5rem, 8vw, 7.5rem);
  --space-section-large: clamp(7rem, 10vw, 9rem);

  /* Grid. */
  --container-max: 1280px;
  --gutter-desktop: 36px;
  --gutter-tablet: 28px;
  --gutter-mobile: 22px;
  --header-height: 64px;

  /* One radius scale. Legacy names below alias these canonical values. */
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-xl: 32px;
  --radius-pill: 999px;
  --radius-small: var(--radius-sm);
  --radius-medium: var(--radius-md);
  --radius-large: var(--radius-lg);

  /* Motion: быстрый ответ для controls, более длинный бюджет только для редких сцен. */
  --motion-instant: 0ms;
  --motion-fast: 160ms;
  --motion-base: 240ms;
  --motion-slow: 480ms;
  --motion-scene: 700ms;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-standard: var(--ease-out);
  --ease-enter: var(--ease-out);
  --ease-exit: cubic-bezier(0.68, 0, 0.77, 0);

  /* Layers are named because header, menu and modal must never compete. */
  --z-header: 70;
  --z-menu: 75;
  --z-modal: 90;

  --shadow-overlay: 0 24px 80px rgba(29, 29, 31, 0.18);

  /* Compatibility aliases used by the current production components. */
  --canvas: var(--color-bg-primary);
  --canvas-warm: var(--color-bg-secondary);
  --surface: var(--color-surface-subtle);
  --surface-soft: #fff;
  --ink: var(--color-text-primary);
  --ink-2: var(--color-text-secondary);
  --ink-3: var(--color-text-muted);
  --red: var(--brand-red);
  --red-deep: var(--brand-red-hover);
  --hair: var(--color-border-subtle);
  --line: var(--color-border-subtle);
  --line-strong: var(--color-border-strong);
  --r-control: var(--radius-small);
  --r-small: var(--radius-small);
  --r-medium: var(--radius-medium);
  --r-large: var(--radius-large);
  --r-pill: var(--radius-pill);
  --dur-fast: var(--motion-fast);
  --dur-normal: var(--motion-base);
  --dur-slow: var(--motion-slow);
  --ease: var(--ease-standard);
  --container: var(--container-max);
  --gutter: var(--gutter-desktop);
  --header-h: var(--header-height);
}

/* -------------------------------------------------------------------- база */

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 24px);
  -webkit-text-size-adjust: 100%;

  /* clip, а не hidden: hidden сделал бы корень скролл-контейнером
     и сломал position:sticky у hero и левой колонки «Почему Impact». */
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--type-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, p, figure, blockquote { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }

img, picture, svg, video { display: block; max-width: 100%; }
img { height: auto; }

/* Обёртка <picture> должна занимать весь контейнер, иначе height:100%
   у вложенного <img> не к чему привязаться. */
.cons__media picture,
.train-card__media picture,
.founder__parallax picture,
.blog-feature__media picture {
  width: 100%;
  height: 100%;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease);
}

button, input, textarea, select {
  font: inherit;
  color: inherit;
}

address { font-style: normal; }

[hidden] { display: none !important; }

:where(a, button, input, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 3px;
  border-radius: 4px;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 200;
  background: var(--ink);
  color: #fff;
  padding: 12px 20px;
  border-radius: var(--r-pill);
  font-size: 14px;
  transition: top var(--dur-fast) var(--ease);
}

.skip-link:focus { top: 16px; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

@media (max-width: 1100px) {
  :root { --gutter: var(--gutter-tablet); }
}

@media (max-width: 760px) {
  :root { --gutter: var(--gutter-mobile); }
}

/* Homepage founder: a single editorial portrait surface. */
.page-home .home-founder.founder-editorial {
  padding-block: clamp(5.5rem, 9vw, 9rem);
  background: var(--color-bg-primary);
}
.page-home .home-founder > .container {
  max-width: none;
  padding-inline: clamp(var(--gutter-mobile), 4vw, 5rem);
}
.page-home .founder-panel {
  position: relative;
  display: grid;
  min-height: clamp(42rem, 61vw, 48rem);
  overflow: hidden;
  border-radius: clamp(1.75rem, 2.5vw, 2.25rem);
  isolation: isolate;
  background: #080d14;
}
.page-home .founder-panel::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 8, 13, .96) 0%, rgba(4, 8, 13, .9) 30%, rgba(4, 8, 13, .58) 48%, rgba(4, 8, 13, .12) 70%, rgba(4, 8, 13, 0) 100%);
  content: '';
  pointer-events: none;
}
.page-home .founder-panel__media,
.page-home .founder-panel__media picture,
.page-home .founder-panel__media img {
  position: absolute;
  z-index: -2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.page-home .founder-panel__media img {
  object-fit: cover;
  object-position: center center;
  transition: transform 700ms var(--ease-enter);
}
.page-home .founder-panel__content {
  display: flex;
  width: min(58%, 42rem);
  min-height: inherit;
  padding: clamp(4rem, 6.25vw, 5.5rem);
  justify-content: center;
  flex-direction: column;
  color: #fff;
}
.page-home .founder-panel__content .eyebrow {
  order: 1;
  color: rgba(255, 255, 255, .78);
  font-size: .75rem;
  letter-spacing: .105em;
}
body.page-home main .founder-panel__content h2 {
  order: 2;
  max-width: 12ch;
  margin-top: 1.25rem;
  color: #fff;
  font-size: clamp(2.75rem, 4.15vw, 3.75rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.01;
  letter-spacing: -.048em;
  text-wrap: balance;
}
.page-home .founder-panel__lead {
  order: 3;
  max-width: 35rem;
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, .76);
  font-size: 1.0625rem;
  line-height: 1.55;
  text-wrap: pretty;
}
.page-home .home-founder .founder-panel blockquote {
  order: 4;
  max-width: 29rem;
  margin: 2rem 0 0;
  padding-left: 1.125rem;
  color: rgba(255, 255, 255, .94);
  border: 0;
  border-left: 2px solid var(--red);
  font-size: clamp(1.25rem, 1.75vw, 1.5rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.32;
  letter-spacing: -.025em;
}
.page-home .founder-panel__content footer {
  order: 5;
  display: flex;
  margin-top: 1.75rem;
  flex-direction: column;
}
.page-home .founder-panel__content footer strong { color: #fff; font-size: 1.0625rem; font-weight: var(--font-weight-semibold); }
.page-home .founder-panel__content footer span { margin-top: .25rem; color: rgba(255, 255, 255, .62); font-size: var(--type-small); }
.page-home .founder-panel__link {
  order: 6;
  align-self: flex-start;
  min-height: 44px;
  margin-top: 1.25rem;
  color: rgba(255, 255, 255, .92);
}
.page-home .founder-panel__link span { color: #fff; transition: transform 220ms ease-out; }
.page-home .founder-panel__link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
  .page-home .founder-panel:hover .founder-panel__media img { transform: scale(1.02); }
  .page-home .founder-panel__link:hover span { transform: translateX(4px); }
}

@media (max-width: 1024px) {
  .page-home .founder-panel { min-height: 44rem; }
  .page-home .founder-panel::after { background: linear-gradient(90deg, rgba(4, 8, 13, .96) 0%, rgba(4, 8, 13, .88) 38%, rgba(4, 8, 13, .42) 62%, rgba(4, 8, 13, .04) 100%); }
  .page-home .founder-panel__content { width: min(65%, 39rem); padding: clamp(3rem, 5vw, 4rem); }
  body.page-home main .founder-panel__content h2 { font-size: clamp(2.5rem, 4.8vw, 3.25rem); }
}

@media (max-width: 700px) {
  .page-home .home-founder.founder-editorial { padding-block: var(--space-4xl); }
  .page-home .founder-panel {
    min-height: 58rem;
    border-radius: var(--radius-lg);
    align-items: start;
  }
  .page-home .founder-panel::after {
    background: linear-gradient(180deg, rgba(4, 8, 13, .99) 0%, rgba(4, 8, 13, .96) 44%, rgba(4, 8, 13, .72) 61%, rgba(4, 8, 13, .1) 82%, rgba(4, 8, 13, 0) 100%);
  }
  .page-home .founder-panel__media {
    top: auto;
    bottom: 0;
    height: 42%;
  }
  .page-home .founder-panel__media picture,
  .page-home .founder-panel__media img { top: 0; height: 100%; }
  .page-home .founder-panel__media img { object-position: 72% center; }
  .page-home .founder-panel__content {
    width: 100%;
    min-height: 0;
    padding: 2rem clamp(1.5rem, 7vw, 2rem) 20rem;
    justify-content: flex-start;
  }
  body.page-home main .founder-panel__content h2 {
    max-width: 13ch;
    margin-top: 1rem;
    font-size: clamp(2.25rem, 10.7vw, 3rem);
    line-height: 1.02;
  }
  .page-home .founder-panel__lead { margin-top: 1.125rem; font-size: .96875rem; line-height: 1.5; }
  .page-home .home-founder .founder-panel blockquote { max-width: 24rem; margin-top: 1.5rem; font-size: clamp(1.125rem, 5vw, 1.35rem); }
  .page-home .founder-panel__content footer { margin-top: 1.25rem; }
  .page-home .founder-panel__link { margin-top: .875rem; }
}

@media (max-width: 390px) {
  .page-home .founder-panel { min-height: 61rem; }
  .page-home .founder-panel__content { padding-inline: 1.375rem; padding-bottom: 19rem; }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .founder-panel__media img,
  .page-home .founder-panel__link span { transition: none; transform: none; }
}

/* --------------------------------------------------------------- типографика */

.eyebrow {
  font-size: var(--type-eyebrow);
  font-weight: var(--font-weight-medium);
  color: var(--ink-3);
  letter-spacing: 0.01em;
}

.eyebrow--red { color: var(--red); }

.section-title {
  font-size: var(--type-h2);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-heading);
  line-height: var(--leading-heading);
  margin-top: 14px;
  text-wrap: balance;
}

.section-lead {
  font-size: var(--type-body-lg);
  line-height: var(--leading-body);
  color: var(--ink-2);
  text-wrap: pretty;
}

/* ------------------------------------------------------------------ кнопки */

.btn {
  --btn-h: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--btn-h);
  padding-inline: 26px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: none;
  font-size: var(--type-button);
  font-weight: var(--font-weight-medium);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background var(--dur-fast) var(--ease),
    border-color var(--dur-fast) var(--ease),
    color var(--dur-fast) var(--ease),
    transform 140ms var(--ease-out);
}

.btn--sm { --btn-h: 40px; padding-inline: 22px; font-size: 13.5px; }
.btn--lg { --btn-h: 56px; padding-inline: 34px; font-size: 16px; }
.btn--block { width: 100%; --btn-h: 52px; font-size: 15.5px; }

.btn--primary { background: var(--red); color: #fff; }
.btn--primary:hover { background: var(--red-deep); color: #fff; }
.btn--primary:active { transform: scale(0.985); }

/* Canonical secondary. .btn--ghost remains as a compatibility name. */
.btn--secondary,
.btn--ghost { border-color: var(--color-border-strong); color: var(--ink); background: transparent; }
.btn--secondary:hover,
.btn--ghost:hover { border-color: var(--red); color: var(--red); }
.btn--secondary:active,
.btn--ghost:active { transform: scale(0.985); }

/* Text action: button semantics without a filled control. */
.btn--text {
  min-height: 44px;
  padding-inline: 0;
  border-radius: 0;
  color: var(--ink);
}
.btn--text:hover { color: var(--red); }

.btn--dark { background: var(--ink); color: #fff; }
.btn--dark:hover { background: var(--red); color: #fff; }

.btn--quiet { background: var(--surface); color: var(--ink); }
.btn--quiet:hover { background: #f5f5f7; }

.btn[disabled],
.btn[aria-disabled='true'] { opacity: 0.55; pointer-events: none; }

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15.5px;
  font-weight: 500;
}

.link-arrow:hover { color: var(--red); }
.link-arrow:focus-visible { color: var(--red); }

.external-link::after {
  content: '↗';
  margin-left: 0.35em;
  font-size: 0.9em;
}

.icon-button {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  background: var(--color-surface-subtle);
  color: var(--color-text-primary);
  cursor: pointer;
  transition: background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);
}
.icon-button:hover { background: var(--color-bg-secondary); color: var(--brand-red); }

/* Surface roles. Use only for semantic scene grouping, not as card defaults. */
.surface-plain { color: var(--color-text-primary); background: var(--color-surface-plain); }
.surface-subtle { color: var(--color-text-primary); background: var(--color-surface-subtle); }
.surface-dark { color: var(--color-text-inverse); background: var(--color-surface-dark); }
.surface-accent-light { color: var(--color-text-primary); background: var(--color-surface-accent-light); }

.link-arrow__ico {
  display: inline-block;
  transition: transform var(--dur-fast) var(--ease);
}

.link-arrow:hover .link-arrow__ico { transform: translateX(4px); }

/* ------------------------------------------------------------------- шапка */

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: var(--z-header);
  border-bottom: 1px solid transparent;
  transition:
    background var(--dur-normal) var(--ease),
    border-color var(--dur-normal) var(--ease),
    backdrop-filter var(--dur-normal) var(--ease);
}

.site-header.is-scrolled,
.site-header.is-open {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(18px) saturate(1.5);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  border-bottom-color: var(--hair);
}

.site-header__inner {
  display: flex;
  align-items: center;
  gap: 36px;
  height: var(--header-h);
}

.site-header__logo { display: flex; align-items: center; }

.site-header__logo-img { height: 25px; width: auto; }

/* Знак сохраняет фирменные цвета, надпись наследует color через currentColor. */
.site-header__logo-svg {
  height: 25px;
  width: auto;
  color: #414141;
  transition: color var(--dur-normal) var(--ease);
}

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

.site-nav__list {
  display: flex;
  gap: 28px;
  font-size: 13.5px;
  color: var(--ink-2);
}

.site-nav__link {
  display: inline-block;
  padding: 4px 0;
  border-bottom: 1.5px solid transparent;
  transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}

.site-nav__link:hover { color: var(--red); }

.site-nav__link.is-active,
.site-nav__link[aria-current='page'] {
  color: var(--ink);
  border-bottom-color: var(--red);
}

.site-header__cta { margin-left: 0; }

.burger {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  margin-left: auto;
  border: none;
  border-radius: var(--r-pill);
  background: var(--surface);
  cursor: pointer;
}

.burger__bar {
  width: 16px;
  height: 1.5px;
  border-radius: 2px;
  background: var(--ink);
  transition: transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);
}

.burger[aria-expanded='true'] .burger__bar:first-child { transform: translateY(3.25px) rotate(45deg); }
.burger[aria-expanded='true'] .burger__bar:last-child { transform: translateY(-3.25px) rotate(-45deg); }

.mobile-menu {
  position: relative;
  z-index: var(--z-menu);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--hair);
  max-height: calc(100dvh - var(--header-h));
  overflow-y: auto;
  opacity: 0;
  transform: translateY(-10px) scale(.99);
  transform-origin: 100% 0;
  transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out);
}

.site-header.is-open .mobile-menu {
  opacity: 1;
  transform: none;
}

.mobile-menu__list { padding: 12px 0 24px; }

.mobile-menu__link {
  display: block;
  padding: 15px 0;
  font-size: 19px;
  font-weight: 500;
  border-bottom: 1px solid var(--hair);
}

.mobile-menu__list li:last-child .mobile-menu__link { border-bottom: none; }
.mobile-menu__link--external { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.mobile-menu__link--external span[aria-hidden='true'] { color: var(--ink-3); font-size: .65em; }

/* -------------------------------------------------------------------- hero */

/* Полноэкранная видео-сцена: медиа-слой на всю площадь, типографика
   поверх него в левом-нижнем углу, минимальный UI справа снизу. */

.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  isolation: isolate;
  background: #181818;                       /* цвет кадра — пока видео не отрисовано */
  border-end-start-radius: var(--r-hero);
  border-end-end-radius: var(--r-hero);
  overflow: hidden;
  --r-hero: 28px;
  --hero-scale: 1;
  --hero-shift: 0px;
  --hero-fade: 1;
}

.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  transform: scale(var(--hero-scale));
  transform-origin: 50% 45%;
  will-change: transform;
}

.hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Подобрано по кадрам ролика: держит лица в верхней трети и не срезает
     головы на широких окнах. */
  object-position: 50% 35%;
}

/* Читаемость, а не затемнение. Плотность собрана в левом нижнем углу —
   ровно там, где лежит текст, — и быстро сходит на нет: правые две трети
   кадра остаются яркими и живыми. Ролик светлый в части сцен, поэтому
   угловой градиент рассчитан на худший кадр, а не на средний. */
.hero__scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(125% 95% at 0% 100%,
      rgba(3, 7, 12, 0.82) 0%,
      rgba(3, 7, 12, 0.55) 28%,
      rgba(3, 7, 12, 0.18) 52%,
      rgba(3, 7, 12, 0) 72%),
    linear-gradient(to top, rgba(3, 7, 12, 0.5) 0%, rgba(3, 7, 12, 0.16) 26%, rgba(3, 7, 12, 0) 48%),
    linear-gradient(to bottom, rgba(3, 7, 12, 0.44) 0%, rgba(3, 7, 12, 0) 20%);
}

.hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: 32px;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding: calc(var(--header-h) + 32px) var(--gutter) clamp(48px, 7vh, 92px);
}

.hero__content {
  max-width: 1100px;
  color: #fff;
  transform: translateY(var(--hero-shift));
  opacity: var(--hero-fade);
  will-change: transform, opacity;
}

.hero__eyebrow {
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 20px rgba(0, 0, 0, 0.5);
}

.hero__title {
  margin-top: 18px;
  font-size: clamp(52px, 5.5vw, 88px);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.03em;
  text-shadow: 0 2px 44px rgba(0, 0, 0, 0.42);
}

/* Каждая строка заголовка — отдельный блок, как в макете. */
.hero__title span { display: block; }

.hero__lead {
  max-width: 480px;
  margin-top: 26px;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 22px rgba(0, 0, 0, 0.45);
  text-wrap: pretty;
}

.hero__actions {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 36px;
}

.hero__actions .btn { --btn-h: 54px; padding-inline: 28px; font-size: 15.5px; }

.hero__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 15.5px;
  font-weight: 500;
  color: #fff;
}

.hero__link:hover { color: #fff; opacity: 0.75; }

.hero__link-ico { transition: transform var(--dur-fast) var(--ease); }
.hero__link:hover .hero__link-ico { transform: translateX(4px); }

/* маленький спокойный контрол видео */

.hero__playpause {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  margin-left: auto;
  margin-bottom: 4px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--r-pill);
  background: rgba(3, 7, 12, 0.32);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #fff;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}

.hero__playpause:hover {
  background: rgba(3, 7, 12, 0.5);
  border-color: rgba(255, 255, 255, 0.45);
}

.hero__playpause:focus-visible { outline-color: #fff; }

/* Иконка переключается классом на самой кнопке — без подмены разметки. */
.hero__ico-play { display: none; }
.hero__playpause.is-paused .hero__ico-play { display: block; }
.hero__playpause.is-paused .hero__ico-pause { display: none; }

/* показатели: светлая полоса, «наезжающая» на скруглённый низ Hero */

.stats-band {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--r-hero, 28px) * -1);
  padding-top: 8px;
  border-start-start-radius: var(--r-hero, 28px);
  border-start-end-radius: var(--r-hero, 28px);
  background: var(--canvas);
}

.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding-block: 52px 0;
}

.stat__value {
  font-size: clamp(32px, 3vw, 46px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.stat__plus { color: var(--red); }

.stat__label {
  margin-top: 8px;
  font-size: 14px;
  color: var(--ink-2);
}

/* ------------------------------------------------------------- «Почему мы» */

.why {
  display: grid;
  grid-template-columns: 5fr 6fr;
  gap: 96px;
  align-items: start;
  padding-block: 150px 130px;
}

.why__aside { position: sticky; top: 110px; }

.why__title {
  margin-top: 18px;
  font-size: clamp(32px, 3.4vw, 48px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.why__lead {
  max-width: 400px;
  margin-top: 22px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-2);
  text-wrap: pretty;
}

.why__index {
  margin-top: 56px;
  font-size: clamp(64px, 6vw, 104px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--surface);
  -webkit-text-stroke: 1.5px var(--ink-3);
}

/* ---------------------------------------------------------------- аккордеон */

.accordion__item { border-bottom: 1px solid var(--hair); }
.accordion__item:last-child { border-bottom: none; }

.accordion__head {
  display: flex;
  align-items: baseline;
  gap: 22px;
  width: 100%;
  padding: 28px 0 20px;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}

.accordion__num {
  min-width: 26px;
  font-size: 13px;
  color: var(--ink-3);
}

.accordion__title {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.01em;
  transition: color var(--dur-fast) var(--ease);
}

.accordion__item.is-active .accordion__title { color: var(--red); }

.accordion__body {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows var(--dur-normal) var(--ease), opacity var(--dur-normal) var(--ease);
}

.accordion__body > div { overflow: hidden; }

.accordion__item.is-active .accordion__body {
  grid-template-rows: 1fr;
  opacity: 1;
}

.accordion__text {
  max-width: 460px;
  padding: 0 0 28px 48px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-2);
}

/* --------------------------------------------------------------- консалтинг */

.consulting { background: var(--canvas-warm); }
.consulting__inner { padding-block: 110px 120px; }
.consulting__title { margin-bottom: 48px; }

.cons__item { border-bottom: 1px solid var(--hair); }
.cons__item:last-child { border-bottom: none; }

.cons__head {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 28px;
  align-items: baseline;
  width: 100%;
  padding: 36px 0 26px;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}

.cons__num { font-size: 13.5px; color: var(--ink-3); }

.cons__title {
  font-size: clamp(24px, 2.6vw, 36px);
  font-weight: 500;
  letter-spacing: -0.015em;
  transition: color var(--dur-fast) var(--ease);
}

.cons__arrow {
  font-size: 20px;
  color: var(--red);
  transition: transform var(--dur-fast) var(--ease);
}

.cons__item.is-active .cons__title { color: var(--red); }
.cons__item.is-active .cons__arrow { transform: translateX(5px); }

.cons__body {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows var(--dur-slow) var(--ease), opacity var(--dur-slow) var(--ease);
}

.cons__body > div { overflow: hidden; }

.cons__item.is-active .cons__body {
  grid-template-rows: 1fr;
  opacity: 1;
}

.cons__grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
  padding: 4px 0 44px 108px;
}

.cons__text {
  max-width: 460px;
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-2);
}

.cons__media {
  height: 190px;
  border-radius: var(--r-medium);
  overflow: hidden;
  background: var(--surface);
}

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

/* Контейнер шире исходников по пропорции, поэтому кадрирование
   вертикальное — значения подобраны по самим снимкам. */
.cons__image--msp img     { object-position: 50% 20%; }  /* голова орла */
.cons__image--kaizen img  { object-position: 50% 25%; }  /* морда шимпанзе */
.cons__image--finance img { object-position: 50% 45%; }  /* девочка и подсолнух */

/* ----------------------------------------------------------------- тренинги */

.trainings { padding-block: 130px 140px; }
.trainings__lead { max-width: 520px; margin: 12px 0 48px; }

.trainings__grid {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.train-card {
  flex: 1 1 0;
  min-width: 0;
  padding: 24px 24px 32px;
  border-radius: var(--r-large);
  background: var(--surface);
  transition:
    flex-grow var(--dur-slow) var(--ease),
    background var(--dur-normal) var(--ease),
    transform var(--dur-normal) var(--ease);
}

.train-card:hover { transform: translateY(-2px); }

.train-card.is-active {
  flex-grow: 2;
  background: var(--canvas-warm);
}

.train-card__media {
  height: 200px;
  margin-bottom: 24px;
  border-radius: var(--r-small);
  overflow: hidden;
  background: var(--surface-soft);
}

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

/* Кадрирование под каждый снимок: карточка меняет ширину при раскрытии,
   поэтому значения проверены и в узком, и в широком состоянии. */
.train-card__image--tom-fb img { object-position: 72% 28%; }  /* голова орла */
.train-card__image--tom-cd img { object-position: 58% 26%; }  /* морда шимпанзе */
.train-card__image--fbt img    { object-position: 30% 60%; }  /* девочка и подсолнух */

.train-card__body { padding-inline: 8px; }

.train-card__toggle {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
}

.train-card__title {
  display: block;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -0.015em;
  transition: color var(--dur-fast) var(--ease);
}

.train-card.is-active .train-card__title { color: var(--red); }

.train-card__sub { display: block; margin-top: 5px; font-size: 14px; color: var(--ink-2); }
.train-card__meta { margin-top: 10px; font-size: 13px; color: var(--ink-3); }

.train-card__panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows var(--dur-normal) var(--ease), opacity var(--dur-normal) var(--ease);
}

.train-card__panel > div { overflow: hidden; }

.train-card.is-active .train-card__panel {
  grid-template-rows: 1fr;
  opacity: 1;
}

.train-card__text {
  margin: 16px 0 20px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
}

/* ---------------------------------------------------------------- основатель */

.founder { background: var(--canvas-warm); }

.founder__inner {
  display: grid;
  grid-template-columns: 46% 1fr;
  gap: 88px;
  align-items: center;
  padding-block: 130px;
}

.founder__frame {
  position: relative;
  height: min(80vh, 660px);
  border-radius: var(--r-large);
  overflow: hidden;
  background: var(--surface);
}

.founder__parallax {
  position: relative;
  top: -24px;
  height: calc(100% + 48px);
  will-change: transform;
}

.founder__parallax img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Снимок горизонтальный (1672×941), рамка вертикальная — по ширине
     видно меньше половины кадра. 78% ставит лицо чуть правее центра
     и сохраняет оба плеча. */
  object-position: 78% center;
}

.founder__caption { margin-top: 14px; font-size: 13px; color: var(--ink-3); }

.founder__mark {
  font-size: 48px;
  font-weight: 600;
  line-height: 1;
  color: var(--red);
}

.founder__quote {
  margin-top: 8px;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: -0.015em;
  text-wrap: pretty;
}

.founder__person { margin-top: 28px; }
.founder__name { font-size: 17px; font-weight: 600; }
.founder__role { margin-top: 3px; font-size: 14.5px; color: var(--ink-2); }

.founder__text {
  max-width: 480px;
  margin-top: 16px;
  font-size: 16.5px;
  line-height: 1.65;
  color: var(--ink-2);
  text-wrap: pretty;
}

.founder__text--first { margin-top: 32px; }

/* ------------------------------------------------------------------ клиенты */

.clients { padding-block: 120px; }

.clients__head {
  max-width: 520px;
  margin: 0 auto 56px;
  text-align: center;
}

.clients__title {
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.clients__lead { margin-top: 12px; font-size: 16px; color: var(--ink-2); }

.clients__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 56px;
  align-items: center;
  max-width: 960px;
  margin-inline: auto;
}

.client {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  opacity: 0.55;
  transition: opacity var(--dur-fast) var(--ease);
}

.client:hover { opacity: 1; }

.client img {
  max-height: 100%;
  width: auto;
  object-fit: contain;
}

/* ------------------------------------------------------------- Swiss Create */

.swiss {
  background: var(--surface-soft);
  border-block: 1px solid var(--hair);
}

.swiss__inner {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 120px;
  align-items: center;
  padding-block: 150px 160px;
}

.swiss__title {
  margin-top: 22px;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.025em;
}

.swiss__text {
  max-width: 580px;
  margin-top: 26px;
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  text-wrap: pretty;
}

.swiss__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiss__logo img { width: 100%; max-width: 240px; height: auto; }

/* ------------------------------------------------------------------- миссия */

.mission { padding-block: 150px 80px; }
.mission__head { max-width: 680px; }

.mission__title {
  margin-top: 18px;
  font-size: clamp(32px, 3.6vw, 50px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.mission__lead { margin-top: 24px; }

.mission__row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 32px;
  align-items: baseline;
  padding-block: 64px;
  border-top: 1px solid var(--hair);
}

.mission__row:first-of-type { margin-top: 64px; padding-block: 72px 64px; }

.mission__num { font-size: 15px; font-weight: 500; color: var(--ink-3); }
.mission__body { max-width: 560px; }
.mission__name { font-size: 23px; font-weight: 600; }

.mission__text {
  margin-top: 12px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-2);
  text-wrap: pretty;
}

/* --------------------------------------------------------------------- блог */

.blog { padding-block: 80px 140px; }

.blog__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 52px;
}

.blog__title {
  max-width: 620px;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 600;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.blog-feature {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 56px;
  align-items: center;
  padding-bottom: 52px;
}

.blog-feature__media {
  height: 380px;
  border-radius: var(--r-large);
  overflow: hidden;
  background: var(--surface);
}

.blog-feature__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--dur-slow) var(--ease);
}

.blog-feature:hover .blog-feature__media img { transform: scale(1.03); }

.blog__kicker {
  font-size: 12.5px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--red);
}

.blog-feature__title {
  margin-top: 12px;
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 600;
  letter-spacing: -0.015em;
}

.blog-feature__text {
  max-width: 400px;
  margin: 14px 0 18px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-2);
}

.blog__more { font-size: 15px; font-weight: 500; color: var(--red); }

.blog-row {
  display: grid;
  grid-template-columns: 130px 1fr 2fr auto;
  gap: 32px;
  align-items: baseline;
  padding-block: 28px;
  border-top: 1px solid var(--hair);
  transition: opacity var(--dur-fast) var(--ease);
}

.blog-row:last-child { border-bottom: 1px solid var(--hair); }
.blog-row:hover { opacity: 0.75; }

.blog-row__cat {
  font-size: 12.5px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
}

.blog-row__title { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
.blog-row__text { font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.blog-row__more { font-size: 14.5px; font-weight: 500; color: var(--red); }

/* ---------------------------------------------------------------------- CTA */

.cta { background: var(--canvas-warm); }
.cta__inner { padding-block: 160px; text-align: center; }
.cta__eyebrow { margin-bottom: 20px; }

.cta__title {
  max-width: 820px;
  margin-inline: auto;
  font-size: clamp(38px, 5vw, 72px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.cta__lead {
  max-width: 580px;
  margin: 26px auto 0;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  text-wrap: pretty;
}

.cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 44px;
}

.cta__actions .btn { will-change: transform; }
.cta__link { font-size: 15.5px; font-weight: 500; }
.cta__link:hover { color: var(--red); }
.cta__phone { font-size: 15px; color: var(--ink-2); }
.cta__phone:hover { color: var(--ink); }

/* ------------------------------------------------------------------- подвал */

.site-footer { border-top: 1px solid var(--hair); }

.site-footer__top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: var(--space-3xl);
  padding-top: var(--space-5xl);
}

.site-footer__logo { height: 23px; width: auto; }

.site-footer__tagline {
  max-width: 260px;
  margin-top: 18px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
  text-wrap: pretty;
}

.site-footer__contacts {
  margin-top: 26px;
  font-size: 14px;
  line-height: 2;
  color: var(--ink-2);
}

.site-footer__contacts a:hover { color: var(--red); }

.site-footer__social {
  display: flex;
  gap: 16px;
  margin-top: 20px;
  font-size: 14px;
  color: var(--ink-2);
}
.site-footer__social a { display: inline-flex; min-height: 44px; align-items: center; gap: 4px; }
.site-footer__social span[aria-hidden='true'] { font-size: .72em; }

.site-footer__col-title {
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-2);
}

.site-footer__links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 14.5px;
  color: var(--ink-2);
}

.site-footer__links a:hover { color: var(--red); }
.site-footer__external { display: inline-flex; width: fit-content; align-items: baseline; gap: 3px; }
.site-footer__external span[aria-hidden='true'] { font-size: .72em; }

.site-footer__line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 56px;
  padding-block: 24px 30px;
  border-top: 1px solid var(--hair);
  font-size: 13px;
  color: var(--ink-2);
}

/* ------------------------------------------------------------------- модалка */

.modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.modal:not([hidden]) { opacity: 0; }
.modal.is-visible { opacity: 1; }

.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(29, 29, 31, 0.4);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 220ms var(--ease-out);
}

.modal.is-visible .modal__backdrop { opacity: 1; }

.modal__sheet {
  position: relative;
  width: 100%;
  max-width: 680px;
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  padding: 40px;
  border-radius: var(--r-large);
  background: var(--color-surface-plain);
  box-shadow: var(--shadow-overlay);
  opacity: 0;
  transform: translateY(12px) scale(.97);
  transition: opacity 240ms var(--ease-out), transform 240ms var(--ease-out);
  will-change: transform, opacity;
}

.modal.is-visible .modal__sheet { opacity: 1; transform: none; }

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

.modal__title { margin-top: 12px; font-size: clamp(32px, 5vw, 46px); font-weight: 600; line-height: 1; letter-spacing: -0.04em; }
.modal__lead { margin-top: 8px; font-size: 14.5px; color: var(--ink-2); }
.modal__form-card { margin-top: 28px; }
.modal__secondary { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--hair); }
.modal__secondary > p { margin-bottom: 12px; color: var(--ink-2); font-size: 13px; }
.modal__sheet .lead-form__fields { gap: 10px; margin-top: 18px; }
.modal__sheet .lead-form__field input { min-height: 50px; }
.modal__sheet .lead-form__field textarea { min-height: 80px; }
.modal__sheet .lead-form__note { margin-top: 1px; }

.modal__close {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: var(--r-pill);
  background: var(--surface);
  color: var(--ink-2);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}

.modal__close:hover { background: #f5f5f7; color: var(--ink); }

body.is-locked,
body.is-menu-locked { overflow: hidden; }

/* ----------------------------------------------------------- прямой контакт */

.contact-block {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 5vw, 72px);
  padding: clamp(28px, 4vw, 56px);
  border: 1px solid var(--hair);
  border-radius: var(--r-large);
  background: var(--surface-soft);
}

.contact-block__intro { align-self: center; }
.contact-block__title { margin-top: 16px; font-size: clamp(28px, 3vw, 44px); line-height: 1.08; letter-spacing: -0.025em; }
.contact-block__lead { max-width: 540px; margin-top: 18px; color: var(--ink-2); font-size: 16px; line-height: 1.6; }
.contact-block__address { margin-top: 24px; color: var(--ink-2); font-size: 14px; font-style: normal; }

.contact-block__options { display: grid; gap: 12px; }

.contact-option {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: space-between;
  min-height: 142px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid var(--hair);
  border-radius: var(--r-large);
  background: var(--canvas);
  color: var(--ink);
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}

.contact-option::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--red); }
.contact-option__label { grid-column: 1 / -1; color: var(--ink-2); font-size: 13px; font-weight: 600; }
.contact-option strong { align-self: end; font-size: clamp(18px, 2vw, 24px); letter-spacing: -0.015em; }
.contact-option__arrow { align-self: end; color: var(--red); font-size: 22px; }
.contact-option:active { transform: scale(0.97); }
.contact-option:focus-visible { outline: 3px solid rgba(198, 0, 0, 0.2); outline-offset: 3px; }

@media (hover: hover) and (pointer: fine) {
  .contact-option:hover { border-color: rgba(198, 0, 0, 0.24); box-shadow: var(--shadow-soft); transform: translateY(-2px); }
}

.contact-block--compact { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; padding: 0; border: 0; background: transparent; }
.contact-block--compact .eyebrow { display: none; }
.contact-block--compact .contact-block__title { margin-top: 0; font-size: 24px; }
.contact-block--compact .contact-block__lead { margin-top: 10px; font-size: 14.5px; }
.contact-block--compact .contact-block__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-block--compact .contact-option { min-height: 118px; padding: 20px; }

.contact-section { padding-block: 24px 120px; scroll-margin-top: calc(var(--header-h) + 24px); }

/* --------------------------------------------------------- внутренние страницы */

.page-hero { padding-block: calc(var(--header-h) + 96px) 64px; }
.page-hero__eyebrow { margin-top: 26px; }

.page-hero__title {
  margin-top: 18px;
  font-size: clamp(36px, 4.4vw, 64px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.page-hero__lead {
  max-width: 620px;
  margin-top: 24px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  text-wrap: pretty;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13.5px;
  color: var(--ink-3);
}

.breadcrumbs li::after { content: '/'; margin-left: 8px; color: var(--hair); }
.breadcrumbs li:last-child::after { content: none; }
.breadcrumbs a:hover { color: var(--red); }

.prose { max-width: 720px; padding-block: 8px 96px; }
.prose h2 { margin-top: 56px; font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; letter-spacing: -0.02em; }
.prose h3 { margin-top: 36px; font-size: 21px; font-weight: 600; }
.prose p { margin-top: 18px; font-size: 17px; line-height: 1.65; color: var(--ink-2); text-wrap: pretty; }
.prose ul { margin-top: 18px; display: flex; flex-direction: column; gap: 12px; }
.prose li { position: relative; padding-left: 24px; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.prose li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  padding-bottom: 96px;
}

.card {
  padding: 28px;
  border-radius: var(--r-large);
  background: var(--surface);
}

.card__title { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
.card__text { margin-top: 10px; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }

.status-page { padding-block: calc(var(--header-h) + 140px) 160px; text-align: center; }
.status-page__check { margin-inline: auto; }

.status-page__code {
  font-size: clamp(64px, 9vw, 120px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--surface);
  -webkit-text-stroke: 1.5px var(--ink-3);
}

.status-page__title {
  margin-top: 28px;
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.status-page__lead {
  max-width: 480px;
  margin: 18px auto 0;
  font-size: 17px;
  line-height: 1.6;
  color: var(--ink-2);
}

.status-page__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
}

/* ------------------------------------------------------------------ адаптив */

@media (min-width: 1101px) {
  .hero__title span { white-space: nowrap; }
}

@media (max-width: 1100px) {
  .site-nav { display: none; }
  .site-header__cta { display: none; }
  .burger { display: flex; }

  .hero__lead { max-width: 420px; }

  .stats { grid-template-columns: 1fr 1fr; gap: 36px 24px; }

  .why { grid-template-columns: 1fr; gap: 48px; padding-block: 96px 88px; }
  .why__aside { position: static; }

  .consulting__inner { padding-block: 88px 96px; }
  .cons__grid { grid-template-columns: 1fr; gap: 28px; padding-left: 0; }
  .cons__head { grid-template-columns: 48px 1fr auto; gap: 16px; }

  .trainings { padding-block: 96px 104px; }
  .trainings__grid { flex-direction: column; }
  .train-card.is-active { flex-grow: 1; }

  .founder__inner { grid-template-columns: 1fr; gap: 44px; padding-block: 96px; }
  .founder__frame { height: 520px; }
  .founder__parallax { transform: none !important; }

  .clients { padding-block: 88px; }
  .clients__grid { grid-template-columns: repeat(3, 1fr); gap: 36px 40px; }

  .swiss__inner { grid-template-columns: 1fr; gap: 48px; padding-block: 104px; }

  .mission { padding-block: 104px 64px; }
  .mission__row { grid-template-columns: 1fr; gap: 12px; padding-block: 44px; }
  .mission__row:first-of-type { margin-top: 48px; padding-block: 48px 44px; }

  .blog { padding-block: 64px 104px; }
  .blog-feature { grid-template-columns: 1fr; gap: 28px; }
  .blog-feature__media { height: 300px; }
  .blog-row { grid-template-columns: 1fr; gap: 10px; }

  .cta__inner { padding-block: 112px; }

  .site-footer__top { grid-template-columns: 1fr 1fr; gap: 40px; }

  .contact-block { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  :root { --gutter: 22px; }

  .hero { --r-hero: 20px; }

  .hero__inner {
    align-items: flex-end;
    padding-bottom: clamp(32px, 5vh, 48px);
  }

  /* На узком экране текст занимает почти половину высоты кадра, поэтому
     нижняя подложка поднимается выше, чем на десктопе. */
  .hero__scrim {
    background:
      radial-gradient(150% 72% at 0% 100%,
        rgba(3, 7, 12, 0.86) 0%,
        rgba(3, 7, 12, 0.62) 32%,
        rgba(3, 7, 12, 0.22) 58%,
        rgba(3, 7, 12, 0) 80%),
      linear-gradient(to top, rgba(3, 7, 12, 0.7) 0%, rgba(3, 7, 12, 0.3) 34%, rgba(3, 7, 12, 0) 62%),
      linear-gradient(to bottom, rgba(3, 7, 12, 0.46) 0%, rgba(3, 7, 12, 0) 16%);
  }

  /* Кроп подобран по кадрам: при вертикальном экране видно только ~26%
     ширины ролика, и именно в этой полосе лица остаются целыми. */
  .hero__video { object-position: 40% 50%; }

  /* Размер подобран так, чтобы «Бизнес-тренинги» помещалось в строку:
     на 375px более крупный кегль рвёт слово по дефису. */
  .hero__title { font-size: clamp(36px, 10.4vw, 56px); letter-spacing: -0.025em; }
  .hero__lead { max-width: 330px; margin-top: 20px; font-size: 16.5px; }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    margin-top: 28px;
    /* место под круглую кнопку видео в правом нижнем углу */
    padding-right: 60px;
  }

  .hero__actions .btn { width: 100%; }
  .hero__link { justify-content: flex-start; }

  .hero__playpause {
    position: absolute;
    right: var(--gutter);
    bottom: clamp(32px, 5vh, 48px);
    margin: 0;
  }

  .stats { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding-block: 40px 0; }

  .accordion__text { padding-left: 0; }

  .clients__grid { grid-template-columns: repeat(2, 1fr); }

  .cta__actions { flex-direction: column; align-items: stretch; }
  .cta__actions .btn { width: 100%; }

  .site-footer__top { grid-template-columns: 1fr; gap: 36px; }
  .site-footer__line { flex-direction: column; gap: 8px; }

  .modal { padding: 0; align-items: flex-end; }

  .modal__sheet {
    max-width: none;
    max-height: 92dvh;
    padding: 28px 22px 32px;
    border-radius: 24px 24px 0 0;
  }

  .contact-block { padding: 26px; border-radius: 22px; }
  .contact-block__options,
  .contact-block--compact .contact-block__options { grid-template-columns: 1fr; }
  .contact-option { min-height: 124px; padding: 21px; }
  .contact-block--compact { padding: 0; }
  .contact-block--compact .contact-option { min-height: 108px; }
  .contact-section { padding-block: 0 82px; }

  .page-hero { padding-block: calc(var(--header-h) + 56px) 40px; }
  .prose { padding-bottom: 72px; }
}

@media (max-width: 380px) {
  .stats { grid-template-columns: 1fr; }
}

/* ======================================================= business page v2 */

.business-hero { padding-bottom: 82px; }
.business-hero .breadcrumbs, .business-hero .breadcrumbs a { color: var(--ink-2); }
.business-hero .page-hero__title { max-width: 1120px; }
.business-hero .page-hero__lead { max-width: 850px; }
.business-hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }

.solution-nav { display: grid; grid-template-columns: repeat(5,1fr); padding-block: 0 72px; }
.solution-nav a { display: flex; min-height: 74px; padding: 18px 16px; align-items: center; gap: 10px; color: var(--ink-2); border-block: 1px solid var(--line); font-size: 14px; }
.solution-nav a + a { border-left: 1px solid var(--line); }
.solution-nav span { color: var(--red); font-size: 11px; }

.business-solutions__heading { padding-block: 100px 82px; }
.business-solutions__heading .display-title { max-width: 850px; margin-top: 20px; }
.business-solution { scroll-margin-top: calc(var(--header-h) + 18px); }
.business-solution__grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 60px 110px; padding-block: 100px; }
.business-solution__intro h2 { max-width: 590px; margin-top: 30px; font-size: clamp(38px,4.8vw,72px); line-height: .98; letter-spacing: -.045em; }
.business-solution__intro > p:last-child { max-width: 610px; margin-top: 28px; color: var(--ink-2); font-size: 19px; line-height: 1.6; }
.business-solution__meta { display: flex; gap: 18px; color: var(--ink-2); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.business-solution__meta span { color: var(--red); }
.business-solution__details { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; padding-top: 48px; }
.business-solution__details h3 { padding-bottom: 15px; border-bottom: 1px solid currentColor; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.business-solution__details ul { margin-top: 20px; list-style: none; }
.business-solution__details li { position: relative; padding: 8px 0 8px 18px; color: var(--ink-2); line-height: 1.45; }
.business-solution__details li::before { content: '—'; position: absolute; left: 0; color: var(--red); }
.business-solution__result { grid-column: 2; max-width: 730px; padding-top: 34px; border-top: 1px solid var(--line-strong); }
.business-solution__result small { color: var(--red); text-transform: uppercase; letter-spacing: .08em; }
.business-solution__result p { margin-top: 13px; font-size: clamp(20px,2vw,28px); line-height: 1.35; }
.business-solution__result .link-arrow { display: inline-block; margin-top: 28px; }
.business-solution--system { background: var(--canvas-warm); }
.business-solution--mentor .business-solution__grid { grid-template-columns: 1.08fr .92fr; }
.business-solution--mentor .business-solution__intro { padding-left: clamp(0px,5vw,80px); }
.business-solution--finance { color: #fff; background: #181818; }
.business-solution--finance .business-solution__intro > p:last-child,
.business-solution--finance .business-solution__details li { color: rgba(255,255,255,.68); }
.business-solution--finance .business-solution__result { border-color: rgba(255,255,255,.25); }
.business-solution--finance .link-arrow { color: #fff; }
.business-solution--training { background: var(--color-bg-primary); }

.format-guide { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; padding-block: 140px; }
.format-guide > div > p:last-child { max-width: 460px; margin-top: 28px; color: var(--ink-2); line-height: 1.65; }
.format-guide__list { border-top: 1px solid var(--line-strong); }
.format-guide__list > div { display: grid; grid-template-columns: 1.2fr .8fr; gap: 25px; align-items: center; min-height: 94px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.format-guide__list dt { color: var(--ink-2); }
.format-guide__list dd { margin: 0; font-size: 18px; }

.kaizen-block { scroll-margin-top: calc(var(--header-h) + 18px); padding-block: 130px; color: #fff; background: #181818; }
.kaizen-block .eyebrow { color: rgba(255,255,255,.78); }
.kaizen-block__lead { display: grid; grid-template-columns: 1.25fr .75fr; gap: 100px; align-items: end; }
.kaizen-block__lead .display-title { max-width: 800px; margin-top: 20px; }
.kaizen-block__lead > p { color: rgba(255,255,255,.7); font-size: 19px; line-height: 1.65; }
.kaizen-areas { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 90px; border-top: 1px solid rgba(255,255,255,.25); }
.kaizen-areas article { min-height: 260px; padding: 28px 22px; border-bottom: 1px solid rgba(255,255,255,.25); }
.kaizen-areas article + article { border-left: 1px solid rgba(255,255,255,.25); }
.kaizen-areas span { color: rgba(255,255,255,.78); font-size: 11px; }
.kaizen-areas h3 { margin-top: 45px; font-size: 24px; }
.kaizen-areas p { margin-top: 14px; color: rgba(255,255,255,.62); line-height: 1.55; }
.kaizen-flow-wrap { margin-top: 100px; }
.kaizen-flow { display: grid; grid-template-columns: repeat(7,1fr); margin-top: 32px; list-style: none; }
.kaizen-flow li { position: relative; min-height: 128px; padding: 22px 24px 20px 0; border-top: 1px solid rgba(255,255,255,.35); line-height: 1.35; }
.kaizen-flow li:not(:last-child)::after { content: '→'; position: absolute; top: 18px; right: 12px; color: var(--red); }
.kaizen-flow span { display: block; margin-bottom: 28px; color: rgba(255,255,255,.42); font-size: 11px; }

.business-family { padding-block: 140px; }
.business-family > div:first-child { grid-template-columns: .65fr 1.35fr; }
.business-family__lead { grid-column: 2; max-width: 760px; color: var(--ink-2); font-size: 19px; line-height: 1.65; }
.business-family__legal { max-width: 630px; margin: 38px 0 0 auto; color: var(--ink-2); font-size: 14px; }

.business-method { padding-block: 130px; color: #fff; background: #181818; }
.business-method .eyebrow { color: rgba(255,255,255,.78); }
.business-method__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.business-method__items { border-top: 1px solid rgba(255,255,255,.25); }
.business-method__items article { display: grid; grid-template-columns: 48px 1fr; gap: 22px; padding: 34px 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.business-method__items span { color: rgba(255,255,255,.78); font-size: 11px; }
.business-method__items h3 { font-size: 28px; }
.business-method__items p { max-width: 620px; margin-top: 10px; color: rgba(255,255,255,.65); line-height: 1.6; }
.business-diagnostic { scroll-margin-top: calc(var(--header-h) + 18px); padding-block: 140px; }
.business-final { padding-block: 110px; color: #fff; text-align: center; background: #181818; }
.business-final__inner { display: flex; flex-direction: column; align-items: center; }
.business-final .eyebrow { color: rgba(255,255,255,.78); }
.business-final h2 { max-width: 900px; margin-top: 22px; font-size: clamp(40px,6vw,82px); line-height: .98; letter-spacing: -.045em; }
.business-final p:not(.eyebrow) { max-width: 650px; margin-top: 26px; color: rgba(255,255,255,.7); font-size: 18px; line-height: 1.6; }
.business-final .btn { margin-top: 38px; }

/* Content-architecture additions reuse the business page's editorial language. */
.business-intro > p { max-width: 720px; color: var(--ink-2); font-size: 19px; line-height: 1.65; }
.business-directions { scroll-margin-top: calc(var(--header-h) + 18px); padding-block: 130px; background: var(--canvas-warm); }
.business-directions .display-title { max-width: 850px; margin-top: 20px; }
.business-directions__list { max-width: 1040px; margin: 72px 0 0 auto; list-style: none; border-top: 1px solid var(--line-strong); }
.business-directions__list li { display: grid; grid-template-columns: 64px 1fr; gap: 28px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.business-directions__list li > span { color: var(--red); font-size: 12px; }
.business-directions__list h3 { font-size: clamp(24px,2.6vw,38px); line-height: 1.12; }
.business-directions__list p { max-width: 620px; margin-top: 10px; color: var(--ink-2); line-height: 1.6; }
.business-offer { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding-block: 140px; }
.business-offer .display-title { margin-top: 20px; }
.business-offer__lead { max-width: 560px; margin-top: 28px; color: var(--ink-2); font-size: 19px; line-height: 1.6; }
.business-offer__points { list-style: none; border-top: 1px solid var(--line-strong); }
.business-offer__points li { padding: 24px 0; border-bottom: 1px solid var(--line); line-height: 1.55; }
.business-offer__points li::before { content: '—'; margin-right: 12px; color: var(--red); }
.business-offer blockquote { margin-top: 56px; padding-left: 28px; border-left: 2px solid var(--red); }
.business-offer blockquote strong { font-size: clamp(25px,2.5vw,36px); font-weight: 500; line-height: 1.2; }
.business-offer blockquote p { margin-top: 16px; color: var(--ink-2); line-height: 1.6; }
.business-programs { scroll-margin-top: calc(var(--header-h) + 18px); padding-block: 140px; background: var(--canvas-warm); }
.business-programs > .container > .display-title { max-width: 850px; margin-top: 20px; }
.business-program { padding-block: 54px; border-top: 1px solid var(--line-strong); }
.business-program--featured { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; margin-top: 78px; }
.business-program h3 { margin-top: 18px; font-size: clamp(30px,4vw,54px); line-height: 1.05; }
.business-program p:not(.eyebrow) { max-width: 650px; margin-top: 22px; color: var(--ink-2); line-height: 1.65; }
.business-program__actions { display: flex; align-items: center; gap: 26px; margin-top: 32px; }
.business-program__modules { list-style: none; border-top: 1px solid var(--line); }
.business-program__modules li { display: grid; grid-template-columns: 44px 1fr; gap: 15px; padding: 22px 0; border-bottom: 1px solid var(--line); line-height: 1.45; }
.business-program__modules span { color: var(--red); font-size: 11px; }
.business-programs__list { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.business-program .link-arrow { display: inline-block; margin-top: 28px; }
.business-benefits { padding-block: 140px; }
.business-benefits > .display-title { max-width: 900px; margin-top: 20px; }
.business-benefits__list { max-width: 1060px; margin: 76px 0 0 auto; border-top: 1px solid var(--line-strong); }
.business-benefits__list article { display: grid; grid-template-columns: 58px .85fr 1.15fr; gap: 28px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.business-benefits__list span { color: var(--red); font-size: 12px; }
.business-benefits__list h3 { font-size: clamp(23px,2.5vw,34px); line-height: 1.15; }
.business-benefits__list p { color: var(--ink-2); line-height: 1.6; }
.business-journey { padding-block: 130px; color: #fff; background: #181818; }
.business-journey .eyebrow { color: rgba(255,255,255,.78); }
.business-journey .display-title { max-width: 800px; margin-top: 20px; }
.business-journey .journey__end { color: #fff; }

@media (max-width: 1100px) {
  .solution-nav { grid-template-columns: repeat(3,1fr); }
  .solution-nav a:nth-child(4), .solution-nav a:nth-child(5) { border-top: 0; }
  .business-solution__grid { gap: 50px; }
  .kaizen-areas { grid-template-columns: repeat(3,1fr); }
  .kaizen-areas article:nth-child(4), .kaizen-areas article:nth-child(5) { border-top: 0; }
  .kaizen-flow { grid-template-columns: repeat(4,1fr); }
}

@media (max-width: 760px) {
  .business-hero { padding-bottom: 58px; }
  .business-hero .page-hero__title br { display: none; }
  .business-hero__actions { align-items: stretch; flex-direction: column; }
  .business-hero__actions .btn { width: 100%; }
  .solution-nav { display: flex; overflow-x: auto; padding-bottom: 52px; scrollbar-width: none; }
  .solution-nav::-webkit-scrollbar { display: none; }
  .solution-nav a { flex: 0 0 auto; min-height: 54px; padding: 12px 16px; white-space: nowrap; }
  .business-solutions__heading { padding-block: 76px 58px; }
  .business-solution__grid, .business-solution--mentor .business-solution__grid { grid-template-columns: 1fr; gap: 42px; padding-block: 76px; }
  .business-solution--mentor .business-solution__intro { padding-left: 0; }
  .business-solution__details { grid-template-columns: 1fr; gap: 34px; padding-top: 0; }
  .business-solution__result { grid-column: 1; }
  .format-guide, .kaizen-block__lead, .business-method__grid { grid-template-columns: 1fr; gap: 52px; }
  .format-guide { padding-block: 90px; }
  .format-guide__list > div { grid-template-columns: 1fr; gap: 10px; }
  .kaizen-block { padding-block: 90px; }
  .kaizen-areas { grid-template-columns: 1fr; margin-top: 64px; }
  .kaizen-areas article { min-height: 0; padding: 28px 0 34px; }
  .kaizen-areas article + article { border-left: 0; }
  .kaizen-areas h3 { margin-top: 24px; }
  .kaizen-flow { grid-template-columns: 1fr; }
  .kaizen-flow li { display: grid; grid-template-columns: 42px 1fr; min-height: 0; padding: 20px 30px 20px 0; }
  .kaizen-flow li:not(:last-child)::after { content: '↓'; top: auto; right: 7px; bottom: -13px; }
  .kaizen-flow span { margin: 0; }
  .business-family, .business-diagnostic { padding-block: 90px; }
  .business-family > div:first-child { grid-template-columns: 1fr; }
  .business-family__lead { grid-column: 1; }
  .business-method { padding-block: 90px; }
  .business-final { padding-block: 84px; }
  .business-final .btn { width: 100%; max-width: 100%; padding-inline: 18px; white-space: normal; }
  .business-directions, .business-programs, .business-benefits, .business-journey { padding-block: 90px; }
  .business-directions__list, .business-benefits__list { margin-top: 52px; }
  .business-directions__list li { grid-template-columns: 38px 1fr; gap: 12px; }
  .business-offer, .business-program--featured, .business-programs__list { grid-template-columns: 1fr; gap: 52px; }
  .business-offer { padding-block: 90px; }
  .business-program--featured { margin-top: 56px; }
  .business-program__actions { align-items: stretch; flex-direction: column; }
  .business-program__actions .btn { width: 100%; }
  .business-benefits__list article { grid-template-columns: 38px 1fr; gap: 12px; }
  .business-benefits__list article > div { grid-column: 2; }
}

/* ===================================================== homepage story v3 */
.page-home { background: var(--canvas); }
.page-home .hero__content { max-width: 970px; }
.home-statement { padding-block: clamp(130px,16vw,250px); background: var(--canvas-warm); }
.home-statement__inner { display: grid; grid-template-columns: .34fr 1.66fr; gap: 38px 70px; }
.home-statement h2 { max-width: 1120px; font-size: clamp(50px,7.5vw,112px); font-weight: 500; line-height: .93; letter-spacing: -.06em; }
.home-statement h2 span, [data-reveal='lines'] > span { display: block; }
.home-statement__inner > p:last-child { grid-column: 2; max-width: 690px; color: var(--ink-2); font-size: clamp(18px,1.7vw,24px); line-height: 1.55; }
.page-home .growth { padding-block: clamp(120px,13vw,200px); }
.page-home .signal-list li { min-height: 128px; }
.page-home .solutions { padding-block: clamp(120px,13vw,190px); }
.solution-item__content { grid-template-columns: .85fr .72fr 1fr .55fr; }
.solution-item__media { display: flex; min-height: 190px; padding: 22px; flex-direction: column; justify-content: space-between; color: rgba(255,255,255,.32); border: 1px solid rgba(255,255,255,.16); border-radius: 2px 54px 2px 2px; background: linear-gradient(145deg,rgba(198,0,0,.18),transparent 65%); }
.solution-item__media span { font-size: 11px; text-transform: uppercase; letter-spacing: .14em; }
.solution-item__media b { font-size: 68px; font-weight: 400; line-height: .8; }
.visual-break { position: relative; min-height: min(82vw,940px); overflow: hidden; color: #fff; background: #181818; }
.visual-break__media, .visual-break__media picture, .visual-break__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.visual-break__media img { object-fit: cover; filter: brightness(.7); transform: scale(1.035); transition: transform 1.4s var(--ease),clip-path 1.2s var(--ease); }
.visual-break::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.7)); }
.visual-break__caption { position: absolute; z-index: 1; right: 0; bottom: clamp(52px,8vw,110px); left: 0; }
.visual-break__caption h2 { max-width: 1050px; margin-top: 20px; font-size: clamp(42px,6vw,88px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.method { padding-block: clamp(130px,15vw,220px); }
.method__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(70px,9vw,150px); align-items: start; }
.method__sticky { position: sticky; top: calc(var(--header-h) + 60px); }
.method-flow article { min-height: 42vh; align-content: center; opacity: .4; transition: opacity .55s var(--ease),transform .55s var(--ease); }
.method-flow article.is-current { opacity: 1; transform: translateX(12px); }
.method-flow h3 { font-size: clamp(38px,4vw,60px); }
.page-home .journey { padding-block: clamp(120px,14vw,200px); }
.page-home .journey ol { grid-template-columns: 1fr; margin-left: min(24vw,350px); }
.page-home .journey li { display: grid; grid-template-columns: 70px .75fr 1.25fr; gap: 28px; align-items: center; min-height: 145px; padding: 30px 0; border-left: 0; opacity: .48; transition: opacity .45s var(--ease),padding-left .45s var(--ease); }
.page-home .journey li.is-current { padding-left: 24px; opacity: 1; }
.page-home .journey li > span { color: rgba(255,255,255,.78); }
.page-home .journey li h3 { margin: 0; font-size: clamp(27px,3vw,46px); }
.page-home .journey li p { max-width: 480px; }
.finance-moment { padding-block: clamp(130px,15vw,220px); color: #fff; background: var(--red); }
.finance-moment__grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 90px; align-items: end; }
.finance-moment h2 { margin-top: 20px; font-size: clamp(50px,7.2vw,105px); font-weight: 500; line-height: .92; letter-spacing: -.06em; }
.finance-moment__grid > div:last-child p { max-width: 480px; font-size: 21px; line-height: 1.55; }
.finance-moment .btn { margin-top: 35px; color: var(--red); background: #fff; }
.page-home .programs { padding-block: clamp(120px,14vw,200px); }
.page-home .programs__intro { max-width: 1160px; }
.learning-tools { margin-top: 90px; border-top: 1px solid var(--line-strong); }
.learning-tools a { display: grid; grid-template-columns: 70px 1fr auto; gap: 20px; align-items: center; min-height: 112px; color: inherit; border-bottom: 1px solid var(--line); }
.learning-tools a::after { content: '→'; color: var(--red); font-size: 24px; transition: transform var(--dur-fast) var(--ease); }
.learning-tools a:hover::after, .learning-tools a:focus-visible::after { transform: translateX(8px); }
.learning-tools span { color: var(--red); font-size: 11px; }
.learning-tools b { font-size: clamp(25px,3vw,42px); font-weight: 500; }
.kaizen-home { padding-block: clamp(100px,11vw,160px); background: var(--canvas-warm); }
.kaizen-home__grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 80px; }
.kaizen-home p:not(.eyebrow) { max-width: 680px; margin-top: 28px; color: var(--ink-2); font-size: 19px; line-height: 1.65; }
.kaizen-home .link-arrow { display: inline-block; margin-top: 32px; }
.page-home .trust { padding-block: clamp(120px,13vw,190px); }
.trust__lead { max-width: 720px; font-size: clamp(23px,2.6vw,38px); line-height: 1.3; }
.trust__proofs { display: flex; margin-top: 65px; flex-wrap: wrap; gap: 12px; }
.trust__proofs span { padding: 15px 20px; border: 1px solid var(--line-strong); border-radius: 100px; }
.page-home .founder { padding-block: clamp(100px,12vw,180px); background: #181818; color: #fff; }
.page-home .founder__text { color: rgba(255,255,255,.68); }
.page-home .founder__caption { color: rgba(255,255,255,.52); }
.page-home .founder__frame { border-radius: 3px 120px 3px 3px; }
.page-home .career { padding-block: clamp(110px,13vw,180px); }
.page-home .diagnostic { margin-top: 0; padding-block: clamp(110px,12vw,170px); border-top: 1px solid var(--line); }
.home-signoff { padding-block: clamp(95px,12vw,180px); color: #fff; background: var(--red); }
.home-signoff p { font-size: clamp(52px,9vw,134px); font-weight: 500; line-height: .85; letter-spacing: -.065em; }
.js [data-reveal='lines'] > span { overflow: hidden; opacity: 0; transform: translateY(105%); transition: opacity .8s var(--ease),transform .9s var(--ease); }
.js [data-reveal='lines'].is-visible > span { opacity: 1; transform: none; }
.js [data-reveal='lines'] > span:nth-child(2) { transition-delay: 80ms; }
.js [data-reveal='lines'] > span:nth-child(3) { transition-delay: 160ms; }
.js [data-reveal='quiet'] { opacity: 0; transform: translateY(8px); transition: opacity .75s var(--ease),transform .75s var(--ease); }
.js [data-reveal='quiet'].is-visible { opacity: 1; transform: none; }
.js [data-image-reveal] { clip-path: inset(0 0 100% 0); transition: clip-path 1.15s var(--ease); }
.js [data-image-reveal].is-visible { clip-path: inset(0); }
.js [data-image-reveal].is-visible img { transform: scale(1); }

@media (max-width: 900px) {
  .home-statement__inner, .method__grid, .finance-moment__grid, .kaizen-home__grid { grid-template-columns: 1fr; }
  .home-statement__inner > p:last-child { grid-column: 1; }
  .method__sticky { position: static; }
  .method-flow article { min-height: 0; opacity: 1; }
  .page-home .journey ol { margin-left: 0; }
  .solution-item__content { grid-template-columns: 1fr 1fr; }
  .solution-item__media { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 760px) {
  .home-statement { padding-block: 100px; }
  .home-statement__inner { gap: 30px; }
  .home-statement h2 { font-size: clamp(45px,13vw,64px); }
  .page-home .signal-list li { min-height: 92px; }
  .solution-item__content { grid-template-columns: 1fr; }
  .solution-item__media { display: none; }
  .visual-break { min-height: 125vw; }
  .visual-break__caption h2 br { display: none; }
  .method-flow article { min-height: 0; transform: none !important; }
  .page-home .journey li { grid-template-columns: 42px 1fr; gap: 14px; min-height: 0; padding: 28px 0 !important; opacity: 1; }
  .page-home .journey li p { grid-column: 2; }
  .finance-moment__grid { gap: 45px; }
  .finance-moment h2 { font-size: clamp(44px,12.5vw,62px); }
  .learning-tools { margin-top: 55px; }
  .learning-tools a { grid-template-columns: 38px 1fr auto; min-height: 82px; }
  .trust__proofs span { padding: 11px 14px; font-size: 13px; }
  .home-signoff p { font-size: clamp(47px,15vw,68px); }
}
@media (prefers-reduced-motion: reduce) {
  .js [data-reveal='lines'] > span, .js [data-reveal='quiet'], .js [data-image-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
  .method-flow article, .page-home .journey li { opacity: 1; transform: none; }
}

/* ==========================================================================
   2026 home system — a shorter, task-led editorial composition.
   ========================================================================== */

.anchor-target {
  position: relative;
  top: calc((var(--header-h) + 24px) * -1);
  display: block;
  height: 0;
  visibility: hidden;
}

.page-home :where(.home-pathways, .home-approach, .home-method, .home-proof, .home-founder, .home-resources) {
  padding-block: clamp(88px, 9vw, 128px);
}

.section-heading { margin-bottom: clamp(44px, 6vw, 72px); }
.section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr);
  gap: clamp(40px, 8vw, 112px);
  align-items: end;
}
.section-heading h2 {
  max-width: 780px;
  margin-top: 14px;
  font-size: clamp(42px, 4.6vw, 68px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.045em;
}
.section-heading > p {
  max-width: 590px;
  color: var(--ink-2);
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.55;
}

.home-pathways {
  position: relative;
  background: var(--color-bg-primary);
}

.home-pathways .section-heading { display: block; margin-bottom: clamp(56px, 7vw, 88px); }
.home-pathways .section-heading h2 {
  max-width: 680px;
  font-size: clamp(48px, 5vw, 72px);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -.05em;
}
.pathway-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 32px);
  align-items: stretch;
}

.pathway {
  display: flex;
  min-width: 0;
  padding: clamp(32px, 3.4vw, 46px);
  flex-direction: column;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  background: var(--color-surface-subtle);
  transition: background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);
}

.pathway--career {
  color: var(--color-text-primary);
  border-color: var(--color-border-subtle);
  background: var(--color-surface-subtle);
}

.pathway > header { min-height: 112px; }
.pathway h3 {
  font-size: clamp(34px, 3.25vw, 48px);
  font-weight: var(--font-weight-semibold);
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.pathway header p,
.pathway--career header p {
  max-width: 440px;
  margin-top: 14px;
  color: var(--color-text-secondary);
  font-size: 16px;
  line-height: 1.55;
}

.pathway ul { margin-top: 34px; }
.pathway li + li { border-top: 1px solid var(--color-border-subtle); }
.pathway li a {
  display: flex;
  min-height: 64px;
  margin-inline: -10px;
  padding: 12px 10px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-radius: var(--radius-sm);
  color: var(--color-text-primary);
  font-size: 16px;
  line-height: 1.4;
  transition: background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);
}
.pathway li > a > span {
  flex: 0 0 auto;
  color: var(--red);
  font-size: 16px;
  transition: transform var(--motion-fast) var(--ease-out);
}
.pathway__primary {
  display: flex;
  min-height: 56px;
  margin-top: auto;
  padding: 28px 4px 0;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--color-border-subtle);
  color: var(--red);
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
  transition: color var(--motion-fast) var(--ease-out);
}
.pathway__primary span {
  flex: 0 0 auto;
  transition: transform var(--motion-fast) var(--ease-out);
}

.home-approach { background: var(--canvas-warm); }
.home-approach .section-heading { margin-bottom: clamp(36px, 4.5vw, 52px); }
.approach-surface {
  overflow: clip;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .72);
}
.approach-steps {
  display: grid;
  gap: 6px;
  padding: 8px;
}

.approach-step {
  position: relative;
  overflow: clip;
  border-radius: var(--radius-md);
  background: transparent;
  transition: background-color var(--motion-base) var(--ease-out);
}

.approach-step::before {
  position: absolute;
  inset: 14px auto 14px 0;
  width: 2px;
  border-radius: var(--radius-pill);
  background: var(--red);
  content: '';
  transform: scaleY(0);
  transform-origin: 50% 50%;
  transition: transform var(--motion-base) var(--ease-out);
}

.approach-step__trigger {
  display: grid;
  width: 100%;
  min-height: 86px;
  padding: 20px 24px;
  grid-template-columns: 64px minmax(0, 1fr) 34px;
  gap: 16px;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--color-text-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.approach-step__number {
  color: var(--color-text-muted);
  font-size: 13px;
  font-weight: var(--font-weight-medium);
  letter-spacing: .06em;
  transition: color var(--motion-fast) ease, transform var(--motion-base) var(--ease-out);
}

body.page-home main .approach-step__title {
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: var(--font-weight-medium);
  line-height: 1.1;
  letter-spacing: -.035em;
  transition: color var(--motion-fast) ease, transform var(--motion-base) var(--ease-out);
}

.approach-step__indicator {
  position: relative;
  width: 32px;
  height: 32px;
  border: 1px solid var(--color-border-strong);
  border-radius: 50%;
  color: var(--color-text-secondary);
  transition: border-color var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-base) var(--ease-out);
}

.approach-step__indicator::before,
.approach-step__indicator::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: currentColor;
  content: '';
  transform: translate(-50%, -50%);
  transition: transform var(--motion-base) var(--ease-out);
}
.approach-step__indicator::after { transform: translate(-50%, -50%) rotate(90deg); }

.approach-step__panel { display: grid; grid-template-rows: 1fr; }
.approach-step__panel > div { min-height: 0; overflow: hidden; }
.approach-step__panel p {
  max-width: 720px;
  padding: 0 64px 26px 104px;
  color: var(--color-text-secondary);
  font-size: 17px;
  line-height: 1.55;
}

.js .approach-steps.is-interactive .approach-step__panel {
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translateY(-5px);
  transition: grid-template-rows var(--motion-base) var(--ease-out), opacity var(--motion-fast) ease, transform var(--motion-base) var(--ease-out);
}

.approach-steps.is-initializing .approach-step,
.approach-steps.is-initializing .approach-step::before,
.approach-steps.is-initializing .approach-step__panel,
.approach-steps.is-initializing .approach-step__number,
.approach-steps.is-initializing .approach-step__title,
.approach-steps.is-initializing .approach-step__indicator { transition: none !important; }

.js .approach-steps.is-interactive .approach-step.is-active {
  background: var(--color-surface-plain);
}
.js .approach-steps.is-interactive .approach-step.is-active::before { transform: scaleY(1); }
.js .approach-steps.is-interactive .approach-step.is-active .approach-step__panel {
  grid-template-rows: 1fr;
  opacity: 1;
  transform: none;
}
.approach-step.is-active .approach-step__number { color: var(--red); transform: translateX(3px); }
.approach-step.is-active .approach-step__title { transform: translateX(3px); }
.approach-step.is-active .approach-step__indicator {
  border-color: rgba(198, 0, 0, .3);
  color: var(--red);
  transform: rotate(180deg);
}
.approach-step.is-active .approach-step__indicator::after { transform: translate(-50%, -50%) rotate(0); }

.approach-step__trigger:focus-visible {
  border-radius: var(--radius-md);
  outline: 2px solid var(--red);
  outline-offset: -3px;
}

.approach-principles {
  position: relative;
  display: grid;
  margin-inline: 32px;
  padding-block: 28px 30px;
  grid-template-columns: minmax(132px, .3fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
  border-top: 1px solid var(--color-border-subtle);
}
body.page-home main .approach-principles h2.approach-principles__title {
  padding-top: 3px;
  color: var(--color-text-secondary);
  font-size: 13px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.method-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.method-principles li {
  min-width: 0;
  padding-inline: 24px;
  border-left: 1px solid var(--color-border-subtle);
}
.method-principles li:first-child { padding-left: 0; border-left: 0; }
.method-principles li:last-child { padding-right: 0; }
.method-principles > li > span {
  display: block;
  margin-bottom: 14px;
  color: var(--red);
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  letter-spacing: .06em;
}
body.page-home main .approach-principles .method-principles h3 {
  font-size: clamp(19px, 1.65vw, 23px);
  font-weight: var(--font-weight-medium);
  line-height: 1.15;
  letter-spacing: -.025em;
}
.method-principles p {
  max-width: 300px;
  margin-top: 8px;
  color: var(--color-text-secondary);
  font-size: 14px;
  line-height: 1.5;
  text-wrap: pretty;
}

.approach-formats {
  display: grid;
  grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr) minmax(260px, .68fr);
  gap: 28px;
  margin-inline: 32px;
  padding-block: 22px 24px;
  align-items: baseline;
  border-top: 1px solid var(--color-border-subtle);
}
.approach-formats > p { color: var(--ink-2); font-size: 13px; line-height: 1.45; }
.approach-formats ul { display: flex; flex-wrap: wrap; gap: 10px; }
.approach-formats li {
  padding: 7px 13px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .42);
  font-size: 13px;
  line-height: 1.3;
}

.home-proof { background: var(--canvas); }
.home-proof .section-heading {
  margin-bottom: clamp(56px, 6vw, 80px);
  align-items: end;
}
.home-proof .section-heading--split { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .62fr); }
.home-proof .section-heading > p { max-width: 560px; justify-self: end; }
body.page-home main .home-proof .section-heading h2 {
  max-width: 760px;
  font-size: clamp(44px, 4.2vw, 60px);
  font-weight: var(--font-weight-medium);
  line-height: .98;
  letter-spacing: -.045em;
}
.proof-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(48px, 7vw, 96px);
}
.proof-list li {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 190px;
  padding-block: 30px 36px;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 20px;
  align-content: start;
  border-top: 1px solid var(--color-border-subtle);
}
.proof-list li::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 34px;
  height: 2px;
  border-radius: var(--radius-pill);
  background: var(--red);
  content: '';
}
.proof-list__number {
  padding-top: 6px;
  color: var(--red);
  font-size: 12px;
  font-weight: var(--font-weight-medium);
  line-height: 1;
  letter-spacing: .06em;
}
body.page-home main .home-proof .proof-list h3 {
  max-width: 430px;
  font-size: clamp(24px, 2.35vw, 32px);
  font-weight: var(--font-weight-semibold);
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.proof-list p {
  max-width: 480px;
  margin-top: 15px;
  color: var(--color-text-secondary);
  font-size: 16px;
  line-height: 1.55;
  text-wrap: pretty;
}

.page-home .home-founder { background: var(--canvas-warm); }
.page-home .founder-editorial__content h2 { max-width: 620px; font-size: clamp(38px, 4.3vw, 60px); line-height: 1; }
.page-home .founder-editorial__content blockquote { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); font-size: clamp(20px, 2vw, 26px); line-height: 1.35; letter-spacing: -.02em; }

.home-resources { background: var(--canvas); }
.home-resources .section-heading { align-items: end; }
.resource-list { border-top: 1px solid var(--line-strong); }
.resource-list > a { display: grid; min-height: 122px; grid-template-columns: 64px minmax(0,1fr) 32px; gap: 24px; align-items: center; color: inherit; border-bottom: 1px solid var(--line); transition: background var(--motion-fast), padding var(--motion-fast); }
.resource-list > a > span { color: var(--red); font-size: 13px; }
.resource-list small { color: var(--ink-2); font-size: 13px; }
.resource-list h3 { max-width: 850px; margin-top: 6px; font-size: clamp(21px, 2.3vw, 32px); font-weight: 500; line-height: 1.15; letter-spacing: -.025em; }
.resource-list i { color: var(--red); font-style: normal; font-size: 20px; }

@media (hover: hover) and (pointer: fine) {
  .pathway:hover {
    border-color: var(--color-border-strong);
    background: var(--color-bg-primary);
  }
  .pathway li a:hover { background: rgba(29, 29, 31, .045); color: var(--color-text-primary); }
  .pathway li a:hover > span,
  .pathway__primary:hover span,
  .resource-list > a:hover i { transform: translateX(4px); }
  .pathway__primary:hover { color: var(--red-deep); }
  .resource-list > a:hover { padding-inline: 12px; background: var(--surface-soft); }
}
.pathway a:focus-visible {
  border-radius: var(--radius-sm);
  outline: 2px solid var(--red);
  outline-offset: 3px;
}
.resource-list > a:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

@media (max-width: 900px) {
  .section-heading--split { grid-template-columns: 1fr; gap: 28px; }
  .section-heading > p { max-width: 680px; }
  .home-proof .section-heading--split { grid-template-columns: 1fr; }
  .home-proof .section-heading > p { max-width: 680px; justify-self: start; }
  .proof-list { column-gap: 36px; }
  .proof-list li { min-height: 210px; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; }
  .approach-principles { grid-template-columns: 1fr; gap: 22px; }
  .approach-formats { grid-template-columns: max-content 1fr; gap: 14px 24px; }
  .approach-formats > p:last-child { grid-column: 2; }
}

@media (max-width: 760px) {
  .page-home :where(.home-pathways, .home-approach, .home-method, .home-proof, .home-founder, .home-resources) { padding-block: 72px; }
  .page-home .home-approach { padding-block: 64px; }
  .page-home .video-hero__breadcrumbs { display: none; }
  .page-home .home-hero__title { font-size: clamp(40px, 11.5vw, 52px); line-height: .98; letter-spacing: -.045em; }
  .page-home .hero__lead { max-width: 31rem; font-size: 17px; line-height: 1.5; }
  .page-home .home-hero__trust { gap: 7px 16px; }
  .section-heading { margin-bottom: 36px; }
  .section-heading h2 { font-size: clamp(36px, 10vw, 44px); }
  .section-heading > p { font-size: 16px; }
  .home-pathways .section-heading { margin-bottom: 42px; }
  .home-pathways .section-heading h2 { font-size: clamp(40px, 11vw, 48px); }
  .pathway-grid { grid-template-columns: 1fr; gap: 18px; }
  .pathway { min-height: 0; padding: 28px 22px; border-radius: var(--radius-md); }
  .pathway > header { min-height: 0; }
  .pathway h3 { font-size: clamp(31px, 9vw, 38px); }
  .pathway header p { margin-top: 11px; font-size: 15px; }
  .pathway ul { margin-top: 28px; }
  .pathway li a { min-height: 58px; margin-inline: -8px; padding: 10px 8px; font-size: 15px; }
  .pathway__primary { min-height: 54px; margin-top: 28px; padding-top: 24px; }
  .approach-surface { border-radius: var(--radius-md); }
  .approach-steps { gap: 4px; padding: 6px; }
  .approach-step { display: block; border-radius: 16px; }
  .approach-step__trigger {
    min-height: 72px;
    padding: 16px;
    grid-template-columns: 42px minmax(0, 1fr) 30px;
    gap: 10px;
  }
  body.page-home main .approach-step__title { font-size: clamp(21px, 6.2vw, 25px); line-height: 1.12; }
  .approach-step__indicator { width: 30px; height: 30px; }
  .approach-step__panel p { padding: 0 16px 20px 68px; font-size: 15.5px; line-height: 1.5; }
  .approach-step::before { inset-block: 10px; }
  .approach-principles { margin-inline: 20px; padding-block: 24px 22px; gap: 18px; }
  .method-principles { grid-template-columns: 1fr; }
  .method-principles li,
  .method-principles li:first-child,
  .method-principles li:last-child {
    display: grid;
    padding: 16px 0;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 0 12px;
    border-left: 0;
    border-top: 1px solid var(--color-border-subtle);
  }
  .method-principles li:first-child { border-top: 0; }
  .method-principles > li > span { grid-row: 1 / span 2; margin: 4px 0 0; }
  .method-principles p { max-width: 34rem; margin-top: 5px; }
  .approach-formats { margin-inline: 20px; padding-block: 20px 22px; grid-template-columns: 1fr; gap: 14px; }
  .approach-formats > p:last-child { grid-column: auto; }
  .home-proof .section-heading { margin-bottom: 44px; }
  body.page-home main .home-proof .section-heading h2 { font-size: clamp(36px, 10.5vw, 44px); line-height: 1; }
  .proof-list { grid-template-columns: 1fr; }
  .proof-list li {
    min-height: 0;
    padding-block: 24px 26px;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
  }
  .proof-list li::before { width: 26px; }
  .proof-list__number { padding-top: 4px; }
  body.page-home main .home-proof .proof-list h3 { max-width: 32rem; font-size: clamp(22px, 6.7vw, 27px); line-height: 1.1; }
  .proof-list p { max-width: 34rem; margin-top: 10px; font-size: 15px; line-height: 1.52; }
  .page-home .founder-editorial__content h2 { font-size: clamp(34px, 9.5vw, 42px); }
  .resource-list > a { min-height: 106px; grid-template-columns: 32px minmax(0,1fr) 20px; gap: 14px; }
  .home-resources .link-arrow { justify-self: start; }

  /* Long direction titles should leave room for meaning and action. */
  .direction-video-hero .hero__title { font-size: clamp(39px, 10.5vw, 48px); line-height: .99; letter-spacing: -.043em; }
  .direction-video-hero .hero__lead { font-size: 16px; line-height: 1.5; }
  .direction-video-hero .video-hero__breadcrumbs { margin-bottom: 22px; }
}

@media (max-width: 390px) {
  :root { --gutter: 18px; }
  .page-home .hero__actions { gap: 12px; }
  .page-home .hero__actions .btn { width: 100%; }
  .page-home .hero__link { min-height: 44px; }
  .page-home .home-hero__trust { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .pathway,
  .pathway li a,
  .pathway li a > span,
  .pathway__primary,
  .pathway__primary span,
  .resource-list > a,
  .resource-list > a i { transition: none; }
}

/* ========================================================= product pages */

.page-product .breadcrumbs, .page-product .breadcrumbs a,
.page-book .breadcrumbs, .page-book .breadcrumbs a { color: var(--ink-2); }
.page-book h1, .page-book h2, .page-book h3 { overflow-wrap: anywhere; }
.product-hero > *, .product-signals > *, .product-online__grid > *, .product-next > *,
.mentor-audience__grid > *, .mentor-value > *, .tool-hero__grid > *, .tool-about > *,
.tool-guides > *, .book-hero > *, .book-intro__grid > *, .book-topics > *, .book-link > * { min-width: 0; }
.product-hero { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(55px,8vw,120px); align-items: center; padding-block: calc(var(--header-h) + 72px) 110px; }
.product-hero--reverse .product-hero__content { order: 2; }
.product-hero--reverse .product-hero__media { order: 1; }
.product-hero .eyebrow { margin-top: 45px; }
.product-hero h1 { max-width: 840px; margin-top: 26px; font-size: clamp(48px,5.7vw,84px); font-weight: 500; line-height: .98; letter-spacing: -.05em; }
.product-hero__content > p:not(.eyebrow) { max-width: 700px; margin-top: 30px; color: var(--ink-2); font-size: 19px; line-height: 1.62; }
.product-hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.product-hero__media { min-height: 620px; overflow: hidden; border-radius: 28px 170px 28px 28px; background: var(--canvas-warm); }
.product-hero__media--portrait { border-radius: 170px 28px 28px 28px; }
.product-hero__media picture, .product-hero__media img { display: block; width: 100%; height: 100%; min-height: 620px; }
.product-hero__media img { object-fit: cover; }

.product-signals { display: grid; grid-template-columns: .78fr 1.22fr; gap: 110px; padding-block: 130px; }
.product-signals > div > p:last-child { max-width: 520px; margin-top: 28px; color: var(--ink-2); line-height: 1.65; }
.product-signals ol { list-style: none; border-top: 1px solid var(--line-strong); }
.product-signals li { display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 22px 0; border-bottom: 1px solid var(--line); font-size: 18px; }
.product-signals li span { color: var(--red); font-size: 11px; }

.product-chain { padding-block: 125px; color: #fff; background: #181818; }
.product-chain .eyebrow { color: rgba(255,255,255,.78); }
.product-chain .display-title { max-width: 900px; margin-top: 20px; }
.product-chain__lead { max-width: 650px; margin-top: 28px; color: rgba(255,255,255,.68); font-size: 18px; }
.product-chain ol { display: grid; grid-template-columns: repeat(7,1fr); margin-top: 75px; list-style: none; border-top: 1px solid rgba(255,255,255,.3); }
.product-chain li { position: relative; min-height: 140px; padding: 22px 18px 20px 0; border-bottom: 1px solid rgba(255,255,255,.3); }
.product-chain li:not(:last-child)::after { content: '→'; position: absolute; top: 18px; right: 12px; color: var(--red); }
.product-chain li span { display: block; margin-bottom: 35px; color: rgba(255,255,255,.4); font-size: 11px; }

.product-program { scroll-margin-top: calc(var(--header-h) + 20px); padding-block: 135px; }
.product-program__heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 70px; margin-bottom: 75px; }
.module-editorial { border-top: 1px solid var(--line-strong); }
.module-editorial article { display: grid; grid-template-columns: 70px .8fr 1.2fr; gap: 35px; padding: 42px 0 52px; border-bottom: 1px solid var(--line); }
.module-editorial article > span { color: var(--red); font-size: 12px; }
.module-editorial h3 { max-width: 700px; font-size: clamp(27px,3vw,42px); line-height: 1.12; }
.module-editorial article > div { display: grid; grid-template-columns: .85fr 1.15fr; gap: 45px; grid-column: 2 / -1; }
.module-editorial ul { columns: 2; column-gap: 36px; list-style: none; color: var(--ink-2); }
.module-editorial li { break-inside: avoid; padding: 5px 0; }
.module-editorial li::before { content: '—'; margin-right: 9px; color: var(--red); }
.product-program--dark { color: #fff; background: #181818; }
.product-program--dark .eyebrow, .product-program--dark .module-editorial article > span { color: rgba(255,255,255,.78); }
.product-program--dark .module-editorial { border-color: rgba(255,255,255,.3); }
.product-program--dark .module-editorial article { border-color: rgba(255,255,255,.2); }
.product-program--dark .module-editorial ul { color: rgba(255,255,255,.66); }

.product-online { padding-block: 110px; background: var(--color-bg-primary); }
.product-online .eyebrow { color: var(--red); }
.product-online__grid, .product-next { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.product-online__grid > div:last-child > p { max-width: 680px; color: var(--ink); font-size: 18px; line-height: 1.65; }
.product-next > div:last-child > p { max-width: 680px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.product-online .btn { margin-top: 32px; }
.product-next { padding-block: 130px; }
.product-next > div:last-child > div { display: flex; align-items: center; gap: 28px; margin-top: 35px; }

.mentor-audience { padding-block: 120px; color: #fff; background: #181818; }
.mentor-audience .eyebrow { color: rgba(255,255,255,.78); }
.mentor-audience__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.mentor-audience__grid ul { list-style: none; border-top: 1px solid rgba(255,255,255,.3); }
.mentor-audience__grid li { padding: 22px 0; color: rgba(255,255,255,.72); border-bottom: 1px solid rgba(255,255,255,.25); }
.mentor-value { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; padding-block: 135px; }
.mentor-value__list { border-top: 1px solid var(--line-strong); }
.mentor-value__list article { display: grid; grid-template-columns: 40px .7fr 1.3fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.mentor-value__list span { color: var(--red); font-size: 11px; }
.mentor-value__list h3 { font-size: 21px; }
.mentor-value__list p { color: var(--ink-2); line-height: 1.55; }

.tool-hero { padding-block: calc(var(--header-h) + 70px) 110px; color: #fff; background: #181818; }
.tool-hero__grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 100px; align-items: center; }
.tool-hero .breadcrumbs, .tool-hero .breadcrumbs a { color: rgba(255,255,255,.7); }
.tool-hero .eyebrow { margin-top: 45px; color: rgba(255,255,255,.78); }
.tool-hero h1 { margin-top: 25px; font-size: clamp(50px,6vw,90px); font-weight: 500; line-height: .95; letter-spacing: -.05em; }
.tool-hero__grid > div:first-child > p:not(.eyebrow) { max-width: 650px; margin-top: 30px; color: rgba(255,255,255,.7); font-size: 19px; line-height: 1.65; }
.tool-hero .btn { margin-top: 36px; }
.tool-window { overflow: hidden; color: var(--ink); border: 1px solid rgba(255,255,255,.25); border-radius: 22px; background: #fff; box-shadow: 0 35px 90px rgba(0,0,0,.25); transform: rotate(1.5deg); }
.tool-window__bar { display: flex; align-items: center; gap: 7px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.tool-window__bar i { width: 8px; height: 8px; border-radius: 50%; background: #d2d2d7; }
.tool-window__bar span { margin-left: 10px; color: var(--ink-2); font-size: 11px; }
.tool-window__body { padding: 55px 42px 70px; }
.tool-window__body > p { color: var(--red); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.tool-window__body strong { display: block; max-width: 520px; margin-top: 20px; font-size: clamp(34px,4vw,58px); line-height: 1.05; }
.tool-window__body > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 55px; }
.tool-window__body span { padding: 16px; border: 1px solid var(--line); border-radius: 8px; }
.tool-facts { display: grid; grid-template-columns: repeat(3,1fr); padding-block: 55px 120px; }
.tool-facts > div { display: grid; gap: 7px; padding: 25px; border-block: 1px solid var(--line); }
.tool-facts > div + div { border-left: 1px solid var(--line); }
.tool-facts strong { font-size: 28px; }
.tool-facts span { color: var(--ink-2); }
.tool-about { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; padding-block: 120px; }
.tool-about > div:last-child p { max-width: 700px; color: var(--ink-2); font-size: 19px; line-height: 1.65; }
.tool-about > div:last-child p + p { margin-top: 22px; }
.tool-catalog { padding-block: 130px; background: var(--canvas-warm); }
.tool-catalog .eyebrow { color: var(--red); }
.tool-catalog .display-title { max-width: 900px; margin-top: 20px; }
.tool-catalog ol { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 70px; list-style: none; border-top: 1px solid var(--line-strong); }
.tool-catalog li { min-height: 155px; padding: 24px 20px; border-bottom: 1px solid var(--line); }
.tool-catalog li:not(:nth-child(3n+1)) { border-left: 1px solid var(--line); }
.tool-catalog li span { color: var(--red); font-size: 11px; }
.tool-catalog h3 { margin-top: 35px; font-size: 22px; }
.tool-guides { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; padding-block: 130px; }
.tool-guides > div > p:last-child { max-width: 600px; margin-top: 25px; color: var(--ink-2); line-height: 1.65; }
.tool-guides ul { list-style: none; border-top: 1px solid var(--line-strong); }
.tool-guides li { padding: 25px 0; border-bottom: 1px solid var(--line); font-size: 18px; }
.tool-guides li span { display: block; margin-bottom: 8px; color: var(--red); font-size: 11px; }

.book-hero { display: grid; grid-template-columns: .55fr 1.45fr; gap: 80px; padding-block: calc(var(--header-h) + 75px) 125px; }
.book-hero .eyebrow { margin-top: 48px; }
.book-hero__author { margin-top: 35px; color: var(--ink-2); font-size: 18px; }
.book-hero h1 { max-width: 1000px; margin-top: 90px; font-size: clamp(58px,7.8vw,116px); font-weight: 500; line-height: .92; letter-spacing: -.055em; }
.book-hero > div:last-child > p { max-width: 700px; margin-top: 32px; color: var(--ink-2); font-size: 19px; line-height: 1.65; }
.book-hero .btn { margin-top: 38px; }
.book-intro { padding-block: 120px; color: #fff; background: #181818; }
.book-intro--career { background: #181818; }
.book-intro .eyebrow { color: rgba(255,255,255,.78); }
.book-intro--career .eyebrow { color: rgba(255,255,255,.78); }
.book-intro__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.book-intro__grid > div:last-child p { color: rgba(255,255,255,.72); font-size: 19px; line-height: 1.65; }
.book-intro__grid > div:last-child p + p { margin-top: 22px; }
.book-topics { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; padding-block: 135px; }
.book-topics > div > p:last-child { max-width: 560px; margin-top: 25px; color: var(--ink-2); line-height: 1.65; }
.book-topics ol { list-style: none; border-top: 1px solid var(--line-strong); }
.book-topics li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.book-topics li > span { color: var(--red); font-size: 11px; }
.book-topics h3 { font-size: 22px; }
.book-topics li p { margin-top: 8px; color: var(--ink-2); line-height: 1.55; }
.book-quote { padding-block: 125px; color: #fff; text-align: center; background: #181818; }
.book-quote blockquote { max-width: 1050px; margin: 0 auto; font-size: clamp(38px,5vw,70px); line-height: 1.08; letter-spacing: -.04em; }
.book-quote p { margin-top: 28px; color: rgba(255,255,255,.62); }
.book-link { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; padding-block: 125px; }
.book-link > div:last-child p { max-width: 650px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.book-link .link-arrow { display: inline-block; margin-top: 30px; }
.book-cta { padding-block: 115px; color: #fff; text-align: center; background: #181818; }
.book-cta--career { background: #181818; }
.book-cta .eyebrow { color: rgba(255,255,255,.78); }
.book-cta h2 { max-width: 900px; margin: 22px auto 0; font-size: clamp(46px,6vw,84px); line-height: 1; letter-spacing: -.05em; }
.book-cta .btn { margin-top: 38px; }

@media (max-width: 1000px) {
  .product-hero, .tool-hero__grid { grid-template-columns: 1fr; }
  .product-hero--reverse .product-hero__content { order: 1; }
  .product-hero--reverse .product-hero__media { order: 2; }
  .product-hero__media, .product-hero__media picture, .product-hero__media img { min-height: 480px; }
  .product-chain ol { grid-template-columns: repeat(4,1fr); }
  .module-editorial article > div { grid-template-columns: 1fr; }
  .tool-window { max-width: 720px; transform: none; }
}

@media (max-width: 760px) {
  .page-book .breadcrumbs { flex-wrap: wrap; row-gap: 6px; }
  .product-hero { gap: 45px; padding-block: calc(var(--header-h) + 42px) 80px; }
  .product-hero .eyebrow { margin-top: 30px; }
  .product-hero h1 { font-size: clamp(42px,11.5vw,60px); }
  .product-hero__actions { align-items: stretch; flex-direction: column; }
  .product-hero__actions .btn { width: 100%; }
  .product-hero__media, .product-hero__media picture, .product-hero__media img { min-height: 350px; }
  .product-hero__media { border-radius: 22px 85px 22px 22px; }
  .product-signals, .product-online__grid, .product-next, .mentor-audience__grid, .mentor-value, .tool-about, .tool-guides, .book-hero, .book-intro__grid, .book-topics, .book-link { grid-template-columns: 1fr; gap: 45px; }
  .product-signals, .product-program, .product-next, .mentor-value, .tool-about, .tool-guides, .book-topics, .book-link { padding-block: 90px; }
  .product-chain, .mentor-audience, .tool-catalog, .book-intro, .book-quote, .book-cta { padding-block: 85px; }
  .product-chain ol { grid-template-columns: 1fr; }
  .product-chain li { display: grid; grid-template-columns: 35px 1fr; min-height: 0; padding-block: 20px; }
  .product-chain li span { margin: 0; }
  .product-chain li:not(:last-child)::after { content: '↓'; top: auto; right: 6px; bottom: -13px; }
  .product-program__heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 50px; }
  .module-editorial article { grid-template-columns: 38px 1fr; gap: 14px; }
  .module-editorial article > div { grid-column: 2; }
  .module-editorial ul { columns: 1; }
  .product-next > div:last-child > div { align-items: stretch; flex-direction: column; }
  .product-next .btn { width: 100%; }
  .mentor-value__list article { grid-template-columns: 34px 1fr; }
  .mentor-value__list p { grid-column: 2; }
  .tool-hero { padding-block: calc(var(--header-h) + 42px) 80px; }
  .tool-hero .eyebrow { margin-top: 30px; }
  .tool-hero h1 { font-size: clamp(44px,12vw,62px); }
  .tool-window__body { padding: 38px 24px 45px; }
  .tool-facts { grid-template-columns: 1fr; padding-block: 40px 80px; }
  .tool-facts > div + div { border-left: 0; border-top: 0; }
  .tool-catalog ol { grid-template-columns: 1fr; margin-top: 50px; }
  .tool-catalog li { min-height: 110px; }
  .tool-catalog li:not(:nth-child(3n+1)) { border-left: 0; }
  .book-hero { padding-block: calc(var(--header-h) + 42px) 90px; }
  .book-hero .eyebrow { margin-top: 30px; }
  .book-hero h1 { margin-top: 0; font-size: clamp(48px,13vw,70px); }
  .book-hero__author { margin-top: 22px; }
  .book-cta .btn { width: 100%; max-width: 100%; padding-inline: 18px; white-space: normal; }
}

/* ========================================================= career page v2 */

.career-hero { padding-block: calc(var(--header-h) + 70px) 80px; }
.career-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(50px,7vw,110px); align-items: center; }
.career-hero .breadcrumbs, .career-hero .breadcrumbs a { color: var(--ink-2); }
.career-hero .eyebrow { margin-top: 46px; }
.career-hero h1 { max-width: 800px; margin-top: 26px; font-size: clamp(48px,5.8vw,86px); font-weight: 500; line-height: .96; letter-spacing: -.05em; }
.career-hero__lead { max-width: 700px; margin-top: 30px; color: var(--ink-2); font-size: 19px; line-height: 1.6; }
.career-hero__actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.career-hero__media { min-height: 660px; overflow: hidden; border-radius: 180px 28px 28px 28px; }
.career-hero__media img { width: 100%; height: 100%; min-height: 660px; object-fit: cover; object-position: 51% center; }

.career-nav { display: grid; grid-template-columns: repeat(4,1fr); padding-bottom: 85px; }
.career-nav a { display: flex; align-items: center; min-height: 70px; padding: 16px 20px; color: var(--ink-2); border-block: 1px solid var(--line); font-size: 14px; }
.career-nav a + a { border-left: 1px solid var(--line); }

.career-audiences { padding-block: 110px 140px; }
.career-audiences__heading { display: grid; grid-template-columns: .6fr 1.4fr; gap: 70px; align-items: end; }
.audience-fork { display: grid; grid-template-columns: 1fr 80px 1fr; margin-top: 75px; border-block: 1px solid var(--line-strong); }
.audience-fork article { padding: 50px 6vw 55px 0; }
.audience-fork article:last-child { padding: 50px 0 55px 6vw; }
.audience-fork__divider { display: grid; place-items: center; position: relative; color: var(--ink-2); }
.audience-fork__divider::before { content: ''; position: absolute; width: 1px; height: 100%; background: var(--line); }
.audience-fork__divider span { z-index: 1; padding: 14px 7px; background: var(--canvas); }
.audience-fork__num { color: var(--red); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.audience-fork h3 { max-width: 500px; margin-top: 32px; font-size: clamp(30px,3.2vw,48px); line-height: 1.05; letter-spacing: -.035em; }
.audience-fork__for { margin-top: 25px; font-weight: 600; }
.audience-fork article > p:not(.audience-fork__num) { max-width: 540px; line-height: 1.6; }
.audience-fork article > p + p { margin-top: 14px; color: var(--ink-2); }
.audience-fork .link-arrow { display: inline-block; margin-top: 30px; }

.career-path { padding-block: 130px; color: #fff; background: #181818; }
.career-path .eyebrow { color: rgba(255,255,255,.78); }
.career-path .display-title { max-width: 1030px; margin-top: 22px; }
.career-progression { margin-top: 85px; list-style: none; border-top: 1px solid rgba(255,255,255,.25); }
.career-progression > li { display: grid; grid-template-columns: 90px .85fr 1.15fr; gap: 45px; padding: 45px 0 55px; border-bottom: 1px solid rgba(255,255,255,.25); }
.career-progression__num { color: rgba(255,255,255,.78); font-size: 12px; }
.career-progression h3 { grid-column: 1 / -1; font-size: clamp(30px,3.5vw,48px); line-height: 1.05; }
.career-progression > li > div { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; grid-column: 2 / -1; }
.career-progression ul { list-style: none; color: rgba(255,255,255,.65); }
.career-progression ul li { padding: 6px 0; }
.career-progression ul li::before { content: '—'; margin-right: 11px; color: var(--red); }
.career-progression li p { color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.55; }
.career-progression small { display: block; margin-bottom: 13px; color: rgba(255,255,255,.78); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }

.career-program { scroll-margin-top: calc(var(--header-h) + 20px); padding-block: 135px; }
.career-program__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; }
.career-program__intro { align-self: start; }
.career-program__intro > p:not(.eyebrow) { max-width: 590px; margin-top: 28px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.career-program__intro .btn { margin-top: 36px; }
.career-modules { border-top: 1px solid var(--line-strong); }
.career-modules article { display: grid; grid-template-columns: 45px 1fr; gap: 18px; padding: 32px 0; border-bottom: 1px solid var(--line); }
.career-modules article > span { color: var(--red); font-size: 11px; }
.career-modules h3 { font-size: 25px; }
.career-modules ul { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 20px; margin-top: 18px; list-style: none; color: var(--ink-2); }
.career-modules li::before { content: '—'; margin-right: 9px; color: var(--red); }
.quest-block { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; margin-top: 110px; padding-top: 60px; border-top: 1px solid var(--line-strong); }
.quest-block h3 { margin-top: 20px; font-size: clamp(34px,4vw,58px); letter-spacing: -.04em; }
.quest-block p { margin-top: 20px; color: var(--ink-2); line-height: 1.65; }
.quest-list { display: grid; grid-template-columns: repeat(3,1fr); list-style: none; }
.quest-list li { min-height: 110px; padding: 22px 18px; border-block: 1px solid var(--line); font-size: 18px; }
.quest-list li + li { border-left: 1px solid var(--line); }
.career-program--work { color: #fff; background: #181818; }
.career-program--work .eyebrow { color: rgba(255,255,255,.78); }
.career-program--work .career-program__intro > p:not(.eyebrow) { color: rgba(255,255,255,.72); }
.work-skills__label { color: rgba(255,255,255,.78); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.work-skills > ul { display: grid; grid-template-columns: 1fr 1fr; margin-top: 20px; list-style: none; border-top: 1px solid rgba(255,255,255,.3); }
.work-skills > ul li { padding: 18px 10px 18px 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.employer-value { margin-top: 65px; padding: 36px; color: var(--ink); background: #fff; }
.employer-value h3 { font-size: 27px; }
.employer-value ul { margin-top: 20px; list-style: none; color: var(--ink); }
.employer-value li { padding: 7px 0; }
.employer-value li::before { content: '✓'; margin-right: 10px; color: var(--red); }

.career-mentors { scroll-margin-top: calc(var(--header-h) + 20px); padding-block: 140px; background: var(--canvas-warm); }
.career-mentors .eyebrow { color: var(--red); }
.career-mentors__heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: 25px 80px; }
.career-mentors__heading .display-title { grid-column: 2; }
.career-mentors__heading > p:last-child { grid-column: 2; max-width: 760px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.mentor-programs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 75px; background: var(--line-strong); border: 1px solid var(--line-strong); }
.mentor-programs article { padding: clamp(32px,5vw,68px); background: var(--canvas-warm); }
.mentor-programs__code { color: var(--red); font-size: 12px; letter-spacing: .1em; }
.mentor-programs h3 { max-width: 540px; margin-top: 24px; font-size: clamp(28px,3vw,42px); line-height: 1.1; }
.mentor-programs article > p:not(.mentor-programs__code) { margin-top: 24px; color: var(--ink-2); line-height: 1.65; }
.mentor-programs h4 { margin-top: 38px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.mentor-programs ul { margin-top: 16px; list-style: none; color: var(--ink-2); }
.mentor-programs li { padding: 6px 0; }
.mentor-programs li::before { content: '—'; margin-right: 10px; color: var(--red); }
.mentor-programs .link-arrow { display: inline-block; margin-top: 35px; }

.career-human { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; padding-block: 140px; }
.career-human__statement > p:last-child { max-width: 670px; margin-top: 30px; color: var(--ink-2); font-size: 19px; line-height: 1.65; }
.career-principle { border-top: 1px solid var(--line-strong); }
.career-principle article { display: grid; grid-template-columns: 42px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.career-principle span { color: var(--red); font-size: 11px; }
.career-principle h3 { font-size: 25px; }
.career-principle p { margin-top: 8px; color: var(--ink-2); line-height: 1.55; }
.career-trust { padding-block: 125px; color: #fff; background: #181818; }
.career-trust .eyebrow { color: rgba(255,255,255,.78); }
.career-trust__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }
.career-trust__grid ul { list-style: none; border-top: 1px solid rgba(255,255,255,.25); }
.career-trust__grid li { padding: 24px 0; color: rgba(255,255,255,.68); border-bottom: 1px solid rgba(255,255,255,.25); line-height: 1.55; }
.career-trust__grid strong { color: #fff; }

.career-cta { scroll-margin-top: calc(var(--header-h) + 20px); padding-block: 130px; text-align: center; }
.career-cta__inner { display: flex; flex-direction: column; align-items: center; }
.career-cta h2 { max-width: 930px; margin-top: 22px; font-size: clamp(44px,6vw,84px); line-height: .98; letter-spacing: -.05em; }
.career-cta p:not(.eyebrow) { max-width: 670px; margin-top: 26px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.career-cta .btn { margin-top: 38px; }

@media (max-width: 1000px) {
  .career-hero__grid { grid-template-columns: 1fr; }
  .career-hero__media { min-height: 480px; border-radius: 120px 24px 24px 24px; }
  .career-hero__media img { min-height: 480px; }
  .career-progression > li { grid-template-columns: 55px 1fr; }
  .career-progression > li > div { grid-column: 2; }
  .career-program__grid, .quest-block, .career-human, .career-trust__grid { gap: 60px; }
}

@media (max-width: 760px) {
  .career-hero { padding-block: calc(var(--header-h) + 40px) 55px; }
  .career-hero .eyebrow { margin-top: 30px; }
  .career-hero h1 { font-size: clamp(42px,12vw,60px); }
  .career-hero__actions { align-items: stretch; flex-direction: column; }
  .career-hero__actions .btn { width: 100%; }
  .career-hero__media { min-height: 360px; border-radius: 80px 20px 20px 20px; }
  .career-hero__media img { min-height: 360px; }
  .career-nav { display: flex; overflow-x: auto; padding-bottom: 55px; scrollbar-width: none; }
  .career-nav::-webkit-scrollbar { display: none; }
  .career-nav a { flex: 0 0 auto; min-height: 54px; padding: 12px 17px; white-space: nowrap; }
  .career-audiences { padding-block: 80px 95px; }
  .career-audiences__heading, .career-program__grid, .quest-block, .career-mentors__heading, .career-human, .career-trust__grid { grid-template-columns: 1fr; gap: 38px; }
  .audience-fork { grid-template-columns: 1fr; margin-top: 50px; }
  .audience-fork article, .audience-fork article:last-child { padding: 40px 0; }
  .audience-fork__divider { min-height: 40px; }
  .audience-fork__divider::before { width: 100%; height: 1px; }
  .audience-fork__divider span { padding: 6px 12px; }
  .career-path, .career-program, .career-mentors, .career-human, .career-trust, .career-cta { padding-block: 90px; }
  .career-progression { margin-top: 55px; }
  .career-progression > li { grid-template-columns: 34px 1fr; gap: 15px; }
  .career-progression > li > div { grid-template-columns: 1fr; gap: 30px; }
  .career-modules ul, .work-skills > ul { grid-template-columns: 1fr; }
  .quest-block { margin-top: 70px; }
  .quest-list { grid-template-columns: 1fr; }
  .quest-list li { min-height: 70px; }
  .quest-list li + li { border-left: 0; border-top: 0; }
  .career-mentors__heading .display-title, .career-mentors__heading > p:last-child { grid-column: 1; }
  .mentor-programs { grid-template-columns: 1fr; }
  .career-cta .btn { width: 100%; max-width: 100%; padding-inline: 18px; white-space: normal; }
}

/* landscape на телефоне: экран низкий, ужимаем типографику и отступы */
@media (max-height: 560px) and (orientation: landscape) {
  .hero { min-height: 460px; }
  .hero__inner { padding-top: calc(var(--header-h) + 16px); padding-bottom: 28px; }
  .hero__title { font-size: clamp(34px, 6vw, 46px); margin-top: 12px; }
  .hero__lead { margin-top: 14px; font-size: 15.5px; }
  .hero__actions { margin-top: 20px; }
}

/* ------------------------------------------------------------------- motion */

/* Начальные состояния появления живут только при активном JS: без него
   контент виден сразу и не зависит от скриптов. */

.js [data-reveal] {
  transition:
    opacity var(--dur-slow) var(--ease),
    transform var(--dur-slow) var(--ease),
    clip-path var(--dur-slow) var(--ease);
  transition-delay: var(--reveal-delay, 0ms);
}

.js [data-reveal='fade'],
.js [data-reveal='rise'] { opacity: 0; }
.js [data-reveal='rise'] { transform: translateY(14px); }
.js [data-reveal='mask'] { clip-path: inset(0 0 100% 0); }

.js [data-reveal].is-visible {
  opacity: 1;
  transform: none;
  clip-path: inset(0 0 0 0);
}

.js [data-reveal].is-immediate,
.js [data-image-reveal].is-immediate,
.js [data-image-reveal].is-immediate img { transition: none; }

/* Hero получает единственную выразительную сцену; функциональный контент не ждёт. */
.js .hero [data-reveal] { transition-duration: var(--motion-slow); }
.js .hero [data-reveal='rise'] { transform: translateY(12px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .js [data-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; }

  /* Видео останавливает JS; здесь снимаем всю scroll-обусловленную анимацию. */
  .hero__media { transform: none !important; }
  .hero__content { transform: none !important; opacity: 1 !important; }
}

/* ==========================================================================
   Homepage — системное развитие семейного бизнеса
   ========================================================================== */

.hero__trust { max-width: 760px; margin-top: 24px; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.5; letter-spacing: .035em; }
.hero__trust span { margin-inline: 7px; color: var(--red); }
.display-title { max-width: 880px; font-size: clamp(38px, 5.4vw, 76px); line-height: .98; letter-spacing: -.045em; }
.section-intro { position: sticky; top: 120px; align-self: start; }
.growth, .method, .programs, .diagnostic, .trust, .career { padding-block: 140px; }
.growth, .method, .trust, .career { display: grid; grid-template-columns: minmax(280px,.78fr) 1.22fr; gap: clamp(60px,9vw,150px); }
.signal-list { list-style: none; border-top: 1px solid var(--line); }
.signal-list li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.signal-list li span { color: var(--red); font-size: 12px; }
.signal-list li strong { font-size: clamp(18px,2vw,26px); font-weight: 500; line-height: 1.25; }
.growth__end { grid-column: 2; max-width: 650px; padding-top: 20px; }
.growth__end p { font-size: 20px; line-height: 1.5; }
.growth__end .link-arrow { margin-top: 28px; }

.dark-section { padding-block: 140px; color: #fff; background: #181818; }
.dark-section .display-title { margin-top: 20px; color: #fff; }
.dark-section .eyebrow { color: rgba(255,255,255,.58); }
.domain-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 80px; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.domain-grid article { min-height: 340px; padding: 28px 34px 40px 0; }
.domain-grid article + article { padding-left: 34px; border-left: 1px solid rgba(255,255,255,.2); }
.domain-grid article > span, .method-flow article > span { font-size: 12px; color: var(--red); }
.domain-grid h3 { margin-top: 70px; font-size: 28px; }
.domain-grid ul { margin-top: 28px; list-style: none; color: rgba(255,255,255,.7); line-height: 1.8; }
.legal-note { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; max-width: 980px; margin: 48px 0 0 auto; color: rgba(255,255,255,.66); line-height: 1.65; }

.method-flow { border-top: 1px solid var(--line); }
.method-flow article { display: grid; grid-template-columns: 55px 1fr; gap: 24px; padding: 38px 0 46px; border-bottom: 1px solid var(--line); }
.method-flow h3 { font-size: 30px; }
.method-flow p { max-width: 620px; margin-top: 14px; color: var(--ink-2); font-size: 17px; line-height: 1.65; }

.solutions .display-title { margin-bottom: 74px; }
.solution-row { display: grid; grid-template-columns: 55px .9fr 1.1fr; gap: 32px; padding: 38px 0; border-top: 1px solid rgba(255,255,255,.18); }
.solution-row > span { color: var(--red); font-size: 12px; }
.solution-row h3 { font-size: 25px; line-height: 1.15; }
.solution-row p { margin-top: 12px; color: rgba(255,255,255,.65); line-height: 1.55; }
.solution-row small { color: rgba(255,255,255,.42); text-transform: uppercase; letter-spacing: .08em; }
.solution-row a { display: inline-block; margin-top: 22px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.35); }

.programs { display: grid; grid-template-columns: .85fr 1.15fr; gap: 40px 100px; }
.programs__intro > p:last-child { max-width: 590px; margin-top: 28px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.program-example { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 38px; background: var(--canvas-warm); }
.program-example div { display: grid; gap: 10px; }
.program-example small { color: var(--red); text-transform: uppercase; letter-spacing: .08em; }
.program-example strong { font-size: 20px; line-height: 1.35; }
.program-example b { color: var(--red); font-size: 28px; }
.program-links { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 30px; border-top: 1px solid var(--line); }
.program-links a { display: grid; gap: 10px; min-height: 160px; padding: 32px 26px; border-bottom: 1px solid var(--line); }
.program-links a + a { border-left: 1px solid var(--line); }
.program-links b { font-size: 28px; }
.program-links span { color: var(--ink-2); }

.journey ol { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 74px; list-style: none; border-top: 1px solid rgba(255,255,255,.2); }
.journey li { min-height: 245px; padding: 28px 30px 30px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.journey li:not(:nth-child(3n+1)) { padding-left: 30px; border-left: 1px solid rgba(255,255,255,.2); }
.journey li span { color: var(--red); font-size: 12px; }
.journey li h3 { margin-top: 55px; font-size: 24px; }
.journey li p { margin-top: 12px; color: rgba(255,255,255,.62); line-height: 1.55; }
.journey__end { max-width: 760px; margin: 54px 0 0 auto; font-size: 24px; line-height: 1.45; }

.diagnostic { display: grid; grid-template-columns: 1.25fr .75fr; gap: 100px; }
.diagnostic > div > p:not(.eyebrow):not(.diagnostic__result) { max-width: 720px; margin-top: 30px; color: var(--ink-2); font-size: 19px; line-height: 1.6; }
.diagnostic__result { display: grid; gap: 10px; max-width: 680px; margin: 40px 0; padding: 26px 0; border-block: 1px solid var(--line); font-size: 20px; line-height: 1.5; }
.diagnostic__result small { color: var(--red); text-transform: uppercase; letter-spacing: .08em; }
.diagnostic > div > small { display: block; max-width: 550px; margin-top: 18px; color: var(--ink-2); }
.diagnostic > ul { align-self: center; list-style: none; border-top: 1px solid var(--line); }
.diagnostic > ul li { padding: 22px 0; border-bottom: 1px solid var(--line); font-size: 18px; }
.diagnostic > ul li::before { content: '✓'; margin-right: 14px; color: var(--red); }

.cases > .container { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.cases > .container > div:last-child { align-self: end; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.6; }
.cases ul { margin-top: 28px; padding-left: 20px; }
.cases li + li { margin-top: 10px; }
.trust > div:last-child > ul { list-style: none; border-top: 1px solid var(--line); }
.trust > div:last-child > ul li { padding: 24px 0; border-bottom: 1px solid var(--line); font-size: 18px; line-height: 1.45; }
.trust__geo { margin-top: 42px; padding-left: 20px; border-left: 2px solid var(--red); font-size: 20px; line-height: 1.5; }
.founder__heading { margin-top: 20px; font-size: clamp(38px,4.5vw,64px); line-height: 1.02; letter-spacing: -.04em; }
.founder__quote--small { margin-top: 40px; font-size: 25px; }
.career > div:last-child { align-self: end; max-width: 600px; font-size: 19px; line-height: 1.6; }
.career .link-arrow { margin-top: 28px; }
.final-promise { padding-block: 120px; color: #fff; text-align: center; background: var(--red); }
.final-promise h2 { max-width: 920px; margin: 18px auto 40px; font-size: clamp(40px,6vw,78px); line-height: .98; letter-spacing: -.045em; }
.final-promise .btn { background: #fff; color: #181818 }

.site-nav__item--has-children { position: relative; }
.site-nav__dropdown { position: absolute; top: calc(100% + 14px); left: -22px; width: 340px; padding: 10px; color: var(--ink); background: rgba(255,255,255,.98); box-shadow: 0 20px 60px rgba(0,0,0,.14); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: .2s ease; }
.site-nav__item--has-children:hover .site-nav__dropdown, .site-nav__item--has-children:focus-within .site-nav__dropdown { opacity: 1; visibility: visible; transform: none; }
.site-nav__dropdown a { display: grid; gap: 4px; padding: 14px; }
.site-nav__dropdown a:hover { background: var(--canvas-warm); }
.site-nav__dropdown strong { font-size: 15px; }
.site-nav__dropdown span { color: var(--ink-2); font-size: 12px; }
.mobile-menu__link--child { padding-left: 24px; color: var(--ink-2); font-size: 16px; }

@media (max-width: 1100px) {
  .growth, .method, .trust, .career { grid-template-columns: 1fr; gap: 55px; }
  .section-intro { position: static; }
  .growth__end { grid-column: 1; }
  .programs { grid-template-columns: 1fr; }
  .diagnostic { gap: 60px; }
}
@media (max-width: 760px) {
  .hero__trust { display: block; padding-right: 60px; }
  .hero__trust span { margin-inline: 4px; }
  .growth, .method, .programs, .diagnostic, .trust, .career, .dark-section { padding-block: 90px; }
  .domain-grid, .program-links, .journey ol { grid-template-columns: 1fr; }
  .domain-grid article { min-height: 0; padding: 28px 0 36px !important; border-left: 0 !important; border-bottom: 1px solid rgba(255,255,255,.2); }
  .domain-grid h3 { margin-top: 32px; }
  .legal-note, .cases > .container, .diagnostic { grid-template-columns: 1fr; gap: 38px; }
  .solution-row { grid-template-columns: 35px 1fr; gap: 18px; }
  .solution-row > div:last-child { grid-column: 2; }
  .program-example { grid-template-columns: 1fr; }
  .program-example b { transform: rotate(90deg); justify-self: start; }
  .program-links a + a { border-left: 0; }
  .journey li, .journey li:not(:nth-child(3n+1)) { min-height: 0; padding: 28px 0; border-left: 0; }
  .journey li h3 { margin-top: 24px; }
  .diagnostic { grid-template-columns: 1fr; }
}

/* Phase 1: четыре решения и уточнённый customer journey */
.solutions__intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; margin-top: 20px; margin-bottom: 74px; }
.solutions__intro .display-title { margin-bottom: 0; }
.solutions__intro > p { max-width: 560px; color: rgba(255,255,255,.66); font-size: 18px; line-height: 1.6; }
.solution-editorial { border-top: 1px solid rgba(255,255,255,.2); }
.solution-item { border-bottom: 1px solid rgba(255,255,255,.2); }
.solution-item__trigger { display: grid; grid-template-columns: 54px 1fr auto 26px; gap: 24px; align-items: center; width: 100%; padding: 30px 0; border: 0; color: #fff; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.solution-item__num { color: rgba(255,255,255,.38); font-size: 12px; }
.solution-item__title { font-size: clamp(23px,3vw,38px); line-height: 1.1; letter-spacing: -.025em; transition: color var(--dur-fast) var(--ease); }
.solution-item__trigger small { padding: 7px 10px; color: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.22); border-radius: 100px; font-size: 11px; letter-spacing: .04em; }
.solution-item__arrow { justify-self: end; font-size: 22px; transition: transform var(--dur-fast) var(--ease); }
.solution-item.is-active .solution-item__title { color: #fff; }
.solution-item.is-active .solution-item__arrow { transform: translateX(5px); }
.solution-item__panel { display: grid; grid-template-rows: 1fr; transition: grid-template-rows var(--dur-normal) var(--ease); }
.solution-item__panel > div { overflow: hidden; }
.js .solution-item__panel { grid-template-rows: 0fr; }
.js .solution-item.is-active .solution-item__panel { grid-template-rows: 1fr; }
.solution-item__content { display: grid; grid-template-columns: .9fr .8fr 1.1fr; gap: 50px; padding: 8px 0 45px 78px; }
.solution-item__for, .solution-item__outcome p { color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.6; }
.solution-item__content ul { list-style: none; color: rgba(255,255,255,.62); line-height: 1.75; }
.solution-item__content li::before { content: '—'; margin-right: 10px; color: var(--red); }
.solution-item__outcome small { color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .08em; }
.solution-item__outcome p { margin-top: 10px; }
.solution-item__outcome a { display: inline-block; margin-top: 22px; padding-bottom: 3px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.4); }

.family-focus { padding-block: 140px; }
.family-focus > div:first-child { display: grid; grid-template-columns: .4fr 1fr; gap: 60px; align-items: start; }
.domain-grid--light { border-color: var(--line); }
.domain-grid--light article + article { border-color: var(--line); }
.domain-grid--light h3 { color: var(--ink); }
.domain-grid--light ul { color: var(--ink-2); }
.family-focus__note { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; max-width: 980px; margin: 48px 0 0 auto; color: var(--ink-2); line-height: 1.65; }
.program-example a { color: inherit; border-bottom: 1px solid var(--line-strong); }
.trust strong { color: var(--ink); font-weight: 600; }
.diagnostic__criteria { margin-top: 38px; list-style: none; border-top: 1px solid var(--line); }
.diagnostic__criteria li { padding: 16px 0; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.diagnostic__criteria li::before { content: '✓'; margin-right: 12px; color: var(--red); }

@media (min-width: 1101px) and (max-width: 1320px) {
  .site-nav__list { gap: 17px; font-size: 12.5px; }
  .site-header__cta { padding-inline: 16px; }
}
@media (max-width: 900px) {
  .solutions__intro, .family-focus > div:first-child { grid-template-columns: 1fr; gap: 30px; }
  .solution-item__content { grid-template-columns: 1fr 1fr; padding-left: 0; }
  .solution-item__outcome { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .family-focus { padding-block: 90px; }
  .solution-item__trigger { grid-template-columns: 34px 1fr 22px; gap: 14px; padding: 24px 0; }
  .solution-item__trigger small { grid-column: 2; justify-self: start; }
  .solution-item__arrow { grid-column: 3; grid-row: 1; }
  .solution-item__content { grid-template-columns: 1fr; gap: 24px; padding: 0 0 34px 48px; }
  .solution-item__outcome { grid-column: 1; }
  .family-focus__note { grid-template-columns: 1fr; gap: 22px; }
  .domain-grid--light article { border-color: var(--line) !important; }
}

/* ================================================= Homepage system: foundation */
.page-home main { overflow-x: clip; }
.page-home main > section { scroll-margin-top: var(--header-h); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.72fr); gap: clamp(45px,6vw,90px); align-items: center; width: min(100% - 44px,var(--container)); margin-inline: auto; }
.home-hero .hero__inner { max-width: none; }
.home-hero .hero__content { max-width: 820px; }
.home-hero__title { font-size: clamp(58px,6.5vw,98px); }
.home-hero__accent { color: #fff; }
.home-hero__trust { display: flex; margin-top: 38px; flex-wrap: wrap; gap: 12px 26px; list-style: none; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.home-hero__trust li::before { content: '✓'; margin-right: 8px; color: var(--red); }
.home-directions { padding-block: var(--space-section-large); background: var(--canvas-warm); }
.home-centered { max-width: 820px; margin: 0 auto var(--space-4xl); text-align: center; }
.home-centered h2 { margin-top: var(--space-lg); font-size: clamp(52px,6.2vw,84px); font-weight: 500; line-height: .96; letter-spacing: -.05em; }
.home-centered > p:last-child { max-width: 680px; margin: var(--space-xl) auto 0; color: var(--ink-2); font-size: 18px; line-height: 1.6; }
.direction-fork { display: grid; grid-template-columns: 1fr 1fr; max-width: 1180px; margin: auto; gap: 18px; }
.direction-card { display: grid; grid-template-columns: 1fr auto; min-height: 610px; padding: clamp(28px,4vw,54px); color: var(--ink); background: #fff; border-top: 4px solid var(--red); box-shadow: 0 22px 55px rgba(29,29,31,.07); transition: transform var(--dur-normal) var(--ease),box-shadow var(--dur-normal) var(--ease); }
.direction-card:hover,.direction-card:focus-visible { transform: translateY(-8px); box-shadow: 0 30px 70px rgba(29,29,31,.12); }
.direction-card > span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.direction-card > small { color: var(--red); }
.direction-card h3 { grid-column: 1/-1; align-self: center; font-size: clamp(45px,5vw,76px); font-weight: 500; line-height: .92; letter-spacing: -.05em; }
.direction-card ul { grid-column: 1/-1; align-self: end; list-style: none; border-top: 1px solid var(--line); }
.direction-card li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.direction-card b { grid-column: 1/-1; align-self: end; margin-top: 30px; color: var(--red); font-size: 13px; }
.direction-card--career { color: #fff; background: #181818; border-color: var(--red); }
.direction-card--career li { border-color: rgba(255,255,255,.18); }
.direction-card--career ul { border-color: rgba(255,255,255,.18); }
.direction-card--career b,.direction-card--career small { color: rgba(255,255,255,.78); }
.work-formats { padding-block: var(--space-section-large); color: #fff; background: #181818; }
.work-formats__grid { display: grid; grid-template-columns: minmax(0,.6fr) minmax(0,1.4fr); gap: 90px; }
.work-formats__grid > * { min-width: 0; }
.work-formats h2 { margin-top: 24px; font-size: clamp(55px,6.5vw,96px); font-weight: 500; line-height: .9; letter-spacing: -.06em; }
.work-formats__list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.24); }
.work-formats__list article { display: flex; min-height: 405px; padding: 30px; flex-direction: column; border-bottom: 1px solid rgba(255,255,255,.24); }
.work-formats__list article+article { border-left: 1px solid rgba(255,255,255,.24); }
.work-formats__list span { color: rgba(255,255,255,.78); font-size: 11px; }
.work-formats__list h3 { margin-top: 65px; font-size: clamp(28px,2.6vw,40px); }
.work-formats__list p { margin-top: 24px; color: rgba(255,255,255,.68); line-height: 1.6; }
.work-formats__list small { margin-top: auto; padding-top: 22px; color: rgba(255,255,255,.78); border-top: 1px solid rgba(255,255,255,.2); }
.work-formats__note { grid-column: 2; margin-top: 0; color: rgba(255,255,255,.58); }
.impact-solutions { padding-block: var(--space-section-large); background: var(--color-bg-primary); }
.impact-solutions__head { display: flex; justify-content: space-between; gap: 55px; align-items: end; margin-bottom: 70px; }
.impact-solutions h2 { margin-top: 20px; font-size: clamp(48px,6vw,88px); font-weight: 500; line-height: .93; letter-spacing: -.055em; }
.solution-switch { display: flex; }
.solution-switch button { min-height: 54px; padding: 14px 20px; border: 1px solid var(--line-strong); color: var(--ink); background: transparent; cursor: pointer; }
.solution-switch button[aria-selected='true'] { color: #fff; border-color: var(--ink); background: var(--ink); }
.family-flagship { padding-block: var(--space-section-large); }
.family-flagship__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(65px,10vw,160px); align-items: start; }
.family-flagship__intro { position: sticky; top: calc(var(--header-h) + 45px); }
.family-flagship h2 { margin-top: 24px; font-size: clamp(58px,6.7vw,98px); font-weight: 500; line-height: .86; letter-spacing: -.06em; }
.family-flagship__intro > p:not(.eyebrow) { max-width: 560px; margin-top: 30px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.family-flagship .btn { margin-top: 35px; }
.family-flagship ol { list-style: none; border-top: 1px solid var(--line-strong); }
.family-flagship li { display: grid; grid-template-columns: 46px 1fr; gap: 20px; min-height: 122px; padding: 28px 0; align-items: center; border-bottom: 1px solid var(--line); }
.family-flagship li span { color: var(--red); font-size: 11px; }
.family-flagship li strong { font-size: clamp(23px,2.5vw,36px); font-weight: 500; line-height: 1.2; }
.family-flagship__conclusion { grid-column: 2; margin-top: 34px; color: var(--ink-2); font-size: 18px; line-height: 1.6; }
.impact-method { padding-block: var(--space-section-large); background: var(--canvas-warm); }
.impact-method__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 110px; }
.impact-method__intro { position: sticky; top: calc(var(--header-h) + 55px); }
.impact-method h2 { margin-top: 24px; font-size: clamp(65px,7.5vw,108px); font-weight: 500; line-height: .82; letter-spacing: -.06em; }
.impact-method h2 span:last-child { color: var(--red); }
.impact-method__intro > p:last-child { max-width: 460px; margin-top: 30px; color: var(--ink-2); font-size: 18px; line-height: 1.6; }
.impact-method__steps { border-top: 1px solid var(--line-strong); }
.impact-method__steps article { display: grid; grid-template-columns: 45px 1fr; gap: 20px; min-height: 200px; padding: 40px 0; align-items: center; border-bottom: 1px solid var(--line); opacity: .48; transition: opacity .5s var(--ease),transform .5s var(--ease); }
.impact-method__steps article.is-current { opacity: 1; transform: translateX(12px); }
.impact-method__steps span { color: var(--red); font-size: 11px; }
.impact-method__steps h3 { font-size: clamp(31px,3.5vw,50px); }
.impact-method__steps p { max-width: 700px; margin-top: 14px; color: var(--ink-2); font-size: 18px; line-height: 1.6; }
.impact-method__statement { margin-top: 38px; color: var(--red); font-size: clamp(28px,3vw,42px); }
.home-programs { padding-block: var(--space-section-large); }
.home-programs header { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4xl); align-items: end; margin-bottom: var(--space-4xl); }
.home-programs h2,.home-principles h2,.home-materials h2,.home-blog h2 { font-size: clamp(48px,6vw,86px); font-weight: 500; line-height: .94; letter-spacing: -.055em; }
.home-programs header p { max-width: 680px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.home-programs__list { border-top: 1px solid var(--line-strong); }
.home-programs__list span { color: var(--red); font-size: 11px; }
.home-programs__list h3 { font-size: clamp(22px,2.4vw,34px); }
.home-programs__list p { color: var(--ink-2); line-height: 1.55; }
.home-programs__list b { color: var(--red); font-size: 13px; }
.impact-trust li strong { display: block; font-size: 18px; }
.impact-trust li p { margin-top: 7px; color: var(--ink-2); line-height: 1.55; }
.home-founder { padding-block: var(--space-section-large); }
.home-founder__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(65px,9vw,140px); align-items: center; }
.home-founder__image { height: min(62vw,700px); overflow: hidden; border-radius: 3px 120px 3px 3px; background: var(--canvas-warm); }
.home-founder__image picture,.home-founder__image img { display: block; width: 100%; height: 100%; }
.home-founder__image img { object-fit: cover; object-position: 78% center; }
.home-founder__grid > div:first-child > p { margin-top: 14px; color: var(--ink-2); font-size: 13px; }
.home-founder h2 { max-width: 700px; margin-top: 23px; font-size: clamp(38px,4vw,56px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.home-founder blockquote { margin-top: 40px; padding-left: 24px; color: var(--red); border-left: 2px solid var(--red); font-size: clamp(24px,2.7vw,38px); line-height: 1.3; }
.home-founder__grid > div:last-child > p:last-child { max-width: 720px; margin-top: 30px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.home-principles { padding-block: var(--space-section); color: #fff; background: #181818; }
.home-principles > .container > div { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 70px; border-top: 1px solid rgba(255,255,255,.22); }
.home-principles article { min-height: 330px; padding: 30px; border-bottom: 1px solid rgba(255,255,255,.22); }
.home-principles article+article { border-left: 1px solid rgba(255,255,255,.22); }
.home-principles span { color: rgba(255,255,255,.78); font-size: 11px; }
.home-principles h3 { margin-top: 65px; font-size: clamp(27px,3vw,42px); }
.home-principles p { margin-top: 22px; color: rgba(255,255,255,.68); line-height: 1.65; }
.home-materials { padding-block: var(--space-section); background: var(--canvas-warm); }
.home-materials > .container > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 70px; }
.home-materials a { display: flex; min-height: 390px; padding: 30px; flex-direction: column; color: inherit; background: #fff; border-top: 3px solid transparent; }
.home-materials a:hover,.home-materials a:focus-visible { border-color: var(--red); }
.home-materials span { color: var(--red); font-size: 11px; }
.home-materials h3 { margin-top: 60px; font-size: clamp(27px,3vw,40px); line-height: 1.05; }
.home-materials p { margin-top: auto; padding-top: 25px; color: var(--ink-2); border-top: 1px solid var(--line); line-height: 1.6; }
.home-blog { padding-block: var(--space-section); }
.home-blog header { display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.home-blog header h2 { max-width: 900px; }
.home-blog > .container > div { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 70px; border-top: 1px solid var(--line-strong); }
.home-blog article { min-height: 260px; padding: 28px; border-bottom: 1px solid var(--line); }
.home-blog article+article { border-left: 1px solid var(--line); }
.home-blog span { color: var(--red); font-size: 11px; }
.home-blog h3 { margin-top: 60px; font-size: clamp(22px,2.4vw,33px); line-height: 1.12; }
.central-asia { padding-block: var(--space-section-large); color: #fff; background: #181818; }
.central-asia__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-4xl); align-items: center; }
.central-asia h2 { max-width: 680px; margin-top: 22px; font-size: clamp(48px,5vw,68px); font-weight: 500; line-height: .96; letter-spacing: -.045em; }
.central-asia h2 span { display: block; }
.central-asia h2 span:last-child { color: #fff; }
.central-asia__grid > div:first-child > p:not(.eyebrow) { max-width: 720px; margin-top: 30px; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.65; }
.central-asia ul { display: flex; margin-top: 36px; flex-wrap: wrap; gap: 9px; list-style: none; }
.central-asia li { padding: 11px 14px; border: 1px solid rgba(255,255,255,.24); }
.regional-model { display: flex; min-height: 500px; padding: 45px; align-items: center; justify-content: center; flex-direction: column; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.04); }
.regional-model i { display: flex; width: 300px; aspect-ratio: 1; align-items: center; justify-content: center; border: 1px solid rgba(198,0,0,.4); border-radius: 50%; }
.regional-model i i { width: 72%; }.regional-model i i i { width: 62%; }.regional-model b { color: #fff; font-size: 30px; font-style: normal; }
.regional-model p { margin-top: 35px; color: rgba(255,255,255,.68); line-height: 1.55; text-align: center; }
.regional-model strong { color: #fff; }
.impact-trust { padding-block: var(--space-section-large); background: var(--canvas-warm); }
.impact-trust__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: var(--space-4xl); align-items: center; }
.impact-trust blockquote { padding: clamp(34px,5vw,60px); color: #fff; background: var(--ink); font-size: clamp(32px,3.5vw,50px); line-height: 1.12; }
.impact-trust h2 { max-width: 720px; margin-top: 22px; font-size: clamp(42px,4.2vw,58px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.impact-trust ol { margin-top: 55px; list-style: none; border-top: 1px solid var(--line-strong); }
.impact-trust li { display: grid; grid-template-columns: 46px 1fr; padding: 20px 0; border-bottom: 1px solid var(--line); }
.impact-trust li span { color: var(--red); font-size: 11px; }
.impact-trust__partners { display: flex; margin-top: 36px; gap: 28px; align-items: center; }
.impact-trust__partners img { max-width: 180px; height: auto; }
.impact-trust__partners span { padding-left: 28px; border-left: 1px solid var(--line-strong); font-weight: 600; }
.home-final { padding-block: var(--space-section-large); color: #fff; background: var(--red); text-align: center; }
.home-final .eyebrow { color: #fff; }
.home-final h2 { max-width: 980px; margin: 22px auto 0; font-size: clamp(52px,6.2vw,84px); font-weight: 500; line-height: .96; letter-spacing: -.05em; }
.home-final > .container > p:not(.eyebrow) { max-width: 780px; margin: 30px auto 0; font-size: 19px; line-height: 1.6; }
.home-final > .container > div { display: flex; margin-top: 38px; justify-content: center; align-items: center; gap: 28px; }
.home-final > .container > div > a:last-child { color: #fff; border-bottom: 1px solid rgba(255,255,255,.6); }
.page-home + .site-footer { background: var(--canvas); }

@media (max-width: 1050px) {
  .home-hero__grid { grid-template-columns: 1fr; }
  .work-formats__grid,.family-flagship__grid,.impact-method__grid,.central-asia__grid,.impact-trust__grid { grid-template-columns: 1fr; }
  .work-formats__list { grid-template-columns: repeat(3,1fr); }
  .work-formats__note { grid-column: 1; }
  .family-flagship__intro,.impact-method__intro { position: static; }
  .home-founder__grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .home-hero__grid { width: min(100% - 36px,var(--container)); }
  .home-hero__title { font-size: clamp(48px,14vw,66px); }
  .home-hero__trust { display: grid; gap: 8px; }
  .home-centered { text-align: left; }
  .home-centered h2 { font-size: clamp(48px,14vw,65px); }
  .direction-fork,.work-formats__list { grid-template-columns: 1fr; }
  .direction-card { min-height: 510px; }
  .work-formats__grid { gap: 55px; }
  .work-formats__list article { min-height: 310px; padding-inline: 0; }
  .work-formats__list article+article { border-left: 0; }
  .impact-solutions__head { display: grid; }
  .solution-switch { overflow-x: auto; }
  .solution-switch button { flex: 0 0 auto; }
  .family-flagship h2,.impact-method h2 { font-size: clamp(53px,15vw,70px); }
  .family-flagship li { min-height: 95px; }
  .impact-method__steps article { min-height: 0; opacity: 1; transform: none !important; }
  .regional-model { min-height: 390px; padding: 25px; }
  .regional-model i { width: min(260px,78vw); }
  .impact-trust blockquote { font-size: clamp(31px,9vw,44px); }
  .impact-trust__partners { align-items: flex-start; flex-direction: column; }
  .impact-trust__partners span { padding: 18px 0 0; border-top: 1px solid var(--line-strong); border-left: 0; }
  .home-final > .container > div { align-items: stretch; flex-direction: column; }
  .family-flagship__conclusion { grid-column: 1; }
  .home-programs header { grid-template-columns: 1fr; gap: 28px; }
  .home-programs__list a { grid-template-columns: 38px 1fr; gap: 14px; }
  .home-programs__list p,.home-programs__list b { grid-column: 2; }
  .home-founder__image { height: 110vw; }
  .home-principles > .container > div,.home-materials > .container > div,.home-blog > .container > div { grid-template-columns: 1fr; }
  .home-principles article { min-height: 260px; padding-inline: 0; }
  .home-principles article+article,.home-blog article+article { border-left: 0; }
  .home-materials a { min-height: 330px; }
  .home-blog header { align-items: flex-start; flex-direction: column; }
  .home-blog article { min-height: 210px; padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .direction-card,.impact-method__steps article { transform: none !important; transition: none !important; }
}
/* ================================================= Homepage system: typography and surfaces */
.page-home .home-hero__grid {
  display: flex;
  width: min(100% - (var(--gutter-desktop) * 2), var(--container));
  align-items: flex-end;
}
.page-home .home-hero .hero__content { max-width: 940px; }
.page-home .home-hero__title {
  max-width: 1000px;
  font-size: clamp(60px,6.2vw,90px);
  font-weight: var(--font-weight-medium);
  line-height: .94;
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
.page-home .home-hero__accent { color: #fff; }
.page-home .home-hero .hero__scrim {
  background:
    linear-gradient(90deg, rgba(16,17,17,.78) 0%, rgba(16,17,17,.5) 47%, rgba(16,17,17,.08) 78%),
    linear-gradient(0deg, rgba(16,17,17,.58) 0%, transparent 54%);
}
.page-home .home-hero__trust {
  gap: 10px 28px;
  padding-top: var(--space-xl);
  border-top: 1px solid rgba(255,255,255,.28);
  font-size: 12.5px;
  line-height: 1.45;
  letter-spacing: .015em;
  text-transform: none;
}

.page-home .home-directions { background: var(--color-surface-accent-light); }
.page-home .direction-fork {
  grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr);
  max-width: var(--container);
  gap: 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}
.page-home .direction-card {
  min-height: 590px;
  padding: clamp(32px,4vw,58px);
  border: 0;
  box-shadow: none;
}
.page-home .direction-card + .direction-card { border-left: 1px solid var(--line-strong); }
.page-home .direction-card--business { background: rgba(255,255,255,.66); }
.page-home .direction-card--career {
  color: var(--ink);
  background: transparent;
}
.page-home .direction-card--career ul,
.page-home .direction-card--career li { border-color: var(--line); }
.page-home .direction-card--career b,
.page-home .direction-card--career small { color: var(--red); }
.page-home .direction-card:hover,
.page-home .direction-card:focus-visible {
  transform: none;
  background: #fff;
  box-shadow: none;
}
.page-home .direction-card b { font-size: var(--type-button); }

.page-home .work-formats { background: var(--color-surface-dark); }
.page-home .work-formats .eyebrow,
.page-home .central-asia .eyebrow { color: rgba(255,255,255,.76); }
.page-home .work-formats__list article { padding-inline: clamp(22px,2.5vw,36px); }
.page-home .work-formats__list h3 { font-weight: var(--font-weight-medium); }

.page-home .impact-solutions { background: var(--color-bg-secondary); }
.page-home .impact-solutions__head { margin-bottom: var(--space-4xl); }
.page-home .family-flagship { background: var(--color-surface-plain); }
.page-home .family-flagship li strong { font-weight: var(--font-weight-medium); }
.page-home .impact-method { background: var(--color-surface-accent-light); }
.page-home .impact-method h2 { font-size: clamp(62px,6.5vw,90px); line-height: .9; }


.page-home .impact-trust { background: var(--color-bg-primary); }
.page-home .impact-trust blockquote {
  background: var(--color-surface-dark);
  box-shadow: none;
}
.page-home .central-asia,
.page-home .home-principles { background: var(--color-surface-dark); }
.page-home .home-founder__image { border-radius: var(--radius-small) var(--radius-large) var(--radius-small) var(--radius-small); }
.page-home .home-founder blockquote { font-weight: var(--font-weight-medium); }

.page-home .home-principles > .container > div {
  display: block;
  margin-top: var(--space-4xl);
}
.page-home .home-principles article {
  display: grid;
  grid-template-columns: 56px minmax(180px,.55fr) minmax(300px,1.45fr);
  gap: clamp(18px,3vw,46px);
  min-height: 0;
  padding: clamp(28px,3vw,42px) 0;
  align-items: start;
}
.page-home .home-principles article + article { border-left: 0; }
.page-home .home-principles h3,
.page-home .home-principles p { margin-top: 0; }
.page-home .home-principles p { max-width: 720px; }
.page-home .home-materials { background: var(--color-surface-accent-light); }
.page-home .home-materials a { border-radius: var(--radius-small); }
.page-home .home-final { background: var(--brand-red); }
.page-home .home-principles h2,
.page-home .home-materials h2,
.page-home .home-blog h2 { font-size: clamp(44px,5vw,68px); line-height: 1; letter-spacing: -.04em; }

@media (max-width: 1050px) {
  .page-home .home-hero__grid { width: min(100% - (var(--gutter-tablet) * 2), var(--container)); }
}

@media (max-width: 760px) {
  .page-home .home-hero__grid { width: min(100% - (var(--gutter-mobile) * 2), var(--container)); }
  .page-home .home-hero__title { max-width: none; font-size: clamp(3rem,13.2vw,3.55rem); line-height: .96; }
  .page-home .home-hero .hero__scrim {
    background: linear-gradient(0deg, rgba(16,17,17,.78) 0%, rgba(16,17,17,.38) 68%, rgba(16,17,17,.15) 100%);
  }
  .page-home .direction-fork { grid-template-columns: 1fr; }
  .page-home .direction-card { min-height: 470px; }
  .page-home .direction-card + .direction-card { border-top: 1px solid var(--line-strong); border-left: 0; }
  .page-home .home-principles article { grid-template-columns: 34px 1fr; gap: 14px; }
  .page-home .home-principles p { grid-column: 2; }
  .page-home .central-asia h2 { font-size: clamp(42px,11.5vw,48px); }
  .page-home .impact-trust h2 { font-size: clamp(38px,10.5vw,44px); }
  .page-home .home-founder h2 { font-size: clamp(34px,9.5vw,40px); line-height: 1.04; }
  .page-home .home-final h2 { max-width: none; font-size: clamp(38px,10.5vw,44px); line-height: 1.02; }
}

/* ================================================= Homepage system: motion */
.page-home {
  --motion-instant: 120ms;
  --motion-fast: 200ms;
  --motion-base: 320ms;
  --motion-slow: 360ms;
  --motion-scene: 420ms;
  --ease-emphasized: cubic-bezier(.16,1,.3,1);
}

/* Hero opening sequence: three quick hierarchy-led stages; video is never delayed. */
.js body.page-home .site-header { animation: home-header-in var(--motion-base) var(--ease-enter) both; }
.js .page-home .home-hero .hero__eyebrow { --reveal-delay: 30ms; transition-duration: 220ms; }
.js .page-home .home-hero__title { --reveal-delay: 60ms; }
.js .page-home .home-hero .hero__lead { transition-delay: 120ms; transition-duration: 220ms; }
.js .page-home .home-hero .hero__actions,
.js .page-home .home-hero__trust { transition-delay: 180ms; transition-duration: 220ms; }
.js .page-home .home-hero__title[data-reveal='lines'] > span {
  transform: translateY(104%);
  transition-duration: 280ms;
  transition-timing-function: var(--ease-emphasized);
}
.js .page-home .home-hero__title[data-reveal='lines'].is-visible > span { transform: none; }
.js .page-home .home-hero__title[data-reveal='lines'] > span:nth-child(2) { transition-delay: calc(var(--reveal-delay) + 45ms); }
@keyframes home-header-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}

/* Scene entry is deliberately varied by content role. */
.js .page-home .motion-scene .direction-card,
.js .page-home .motion-scene .work-formats__list article,
.js .page-home .motion-scene .family-flagship li,
.js .page-home .motion-scene .impact-trust li,
.js .page-home .motion-scene .central-asia li,
.js .page-home .motion-scene .home-materials a,
.js .page-home .motion-scene .home-blog article {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity var(--motion-slow) var(--ease-enter),
    transform var(--motion-slow) var(--ease-enter),
    color var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard);
  transition-delay: calc(var(--scene-order, 0) * var(--scene-step, 0ms));
}
.js .page-home .motion-scene.is-motion-visible .direction-card,
.js .page-home .motion-scene.is-motion-visible .work-formats__list article,
.js .page-home .motion-scene.is-motion-visible .family-flagship li,
.js .page-home .motion-scene.is-motion-visible .impact-trust li,
.js .page-home .motion-scene.is-motion-visible .central-asia li,
.js .page-home .motion-scene.is-motion-visible .home-materials a,
.js .page-home .motion-scene.is-motion-visible .home-blog article {
  opacity: 1;
  transform: none;
}

/* Directions: state is expressed by surface and contrast, not spatial theatre. */
.page-home .direction-card {
  transition:
    opacity var(--motion-base) var(--ease-standard),
    background var(--motion-base) var(--ease-standard);
}
@media (hover: hover) and (pointer: fine) {
  .page-home .direction-fork:has(.direction-card:hover) .direction-card:not(:hover),
  .page-home .direction-fork:has(.direction-card:focus-visible) .direction-card:not(:focus-visible) { opacity: .86; }
  .page-home .direction-card:hover,
  .page-home .direction-card:focus-visible { background: #fff; }
}

/* Work formats: scroll focus links the three verbs with their explanations. */
.page-home .work-formats h2 span,
.page-home .work-formats__list article {
  transition: opacity var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-emphasized);
}
.page-home .work-formats h2 span { opacity: .48; }
.page-home .work-formats h2 span.is-current { color: #fff; opacity: 1; }
.page-home .work-formats__list article { opacity: 1; }
.page-home .work-formats__list article.is-current { opacity: 1; }
.js .page-home .work-formats.is-motion-visible .work-formats__list article { opacity: 1; }
.js .page-home .work-formats.is-motion-visible .work-formats__list article.is-current { opacity: 1; }

/* Recognition list remains typographic; only the conclusion gets a separate beat. */
.page-home .family-flagship__conclusion {
  transition: color var(--motion-base) var(--ease-standard);
}
.page-home .family-flagship.is-motion-visible .family-flagship__conclusion { color: var(--ink); }

/* Method keeps native scroll; only the active explanation is emphasized. */
.page-home .impact-method__steps article {
  opacity: 1;
  transition: opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-emphasized);
}
.page-home .impact-method__steps article.is-current { transform: none; }
.page-home .impact-method__steps article.is-current h3 { color: var(--red); }

/* Human reveal: mask and gentle image settle, no face parallax. */
.js .page-home .home-founder [data-image-reveal] { overflow: hidden; }
.js .page-home .home-founder [data-image-reveal] img {
  transform: scale(1.012);
  transition: transform var(--motion-scene) var(--ease-emphasized);
}
.js .page-home .home-founder [data-image-reveal].is-visible img { transform: scale(1); }
.page-home .home-founder blockquote { transition: opacity var(--motion-slow) var(--ease-enter), transform var(--motion-slow) var(--ease-enter); }
.js .page-home .home-founder:not(.is-motion-visible) blockquote { opacity: 0; transform: translateY(8px); }

/* Utility microinteractions remain immediate and tactile. */
.page-home .btn { transition: transform var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard); }
.page-home .btn:hover { transform: none; }
.page-home .btn:active { transform: scale(.99); }
.page-home .hero__link span,
.page-home .link-arrow { transition: transform var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard); }
.page-home .hero__link:hover span { display: inline-block; transform: translateX(3px); }
.page-home .site-header__inner { transition: height var(--motion-base) var(--ease-standard); }
.page-home .mobile-menu__link { transition: opacity var(--motion-fast) var(--ease-enter), transform var(--motion-fast) var(--ease-enter); }
.page-home .site-header:not(.is-open) .mobile-menu__link { opacity: 0; transform: translateY(-5px); }
.page-home .site-header.is-open .mobile-menu__link { opacity: 1; transform: none; }
.page-home .site-header.is-open .mobile-menu li:nth-child(2) .mobile-menu__link { transition-delay: 30ms; }
.page-home .site-header.is-open .mobile-menu li:nth-child(3) .mobile-menu__link { transition-delay: 60ms; }
.page-home .site-header.is-open .mobile-menu li:nth-child(4) .mobile-menu__link { transition-delay: 90ms; }

@media (max-width: 900px) {
  .page-home .work-formats h2 span,
  .page-home .work-formats__list article { opacity: 1; transform: none !important; }
  .page-home .impact-method__steps article,
  .page-home .impact-method__steps article.is-current { opacity: 1; transform: none; }
}

@media (max-width: 760px) {
  .js .page-home .motion-scene .direction-card,
  .js .page-home .motion-scene .work-formats__list article,
  .js .page-home .motion-scene .family-flagship li,
  .js .page-home .motion-scene .impact-trust li,
  .js .page-home .motion-scene .central-asia li,
  .js .page-home .motion-scene .home-materials a,
  .js .page-home .motion-scene .home-blog article { transition-duration: 280ms; }
}

@media (prefers-reduced-motion: reduce) {
  .js body.page-home .site-header { animation: none !important; }
  .js .page-home .motion-scene *,
  .js .page-home .motion-scene::before,
  .js .page-home .motion-scene::after {
    animation: none !important;
    transition-delay: 0ms !important;
  }
  .js .page-home .motion-scene .direction-card,
  .js .page-home .motion-scene .work-formats__list article,
  .js .page-home .motion-scene .family-flagship li,
  .js .page-home .motion-scene .impact-trust li,
  .js .page-home .motion-scene .central-asia li,
  .js .page-home .motion-scene .home-materials a,
  .js .page-home .motion-scene .home-blog article,
  .js .page-home .home-founder blockquote {
    opacity: 1 !important;
    transform: none !important;
  }
  .page-home .btn:hover,
  .page-home .btn:active { transform: none; }
}

/* ================================================= Homepage system: scene composition
   One content idea per scene; content and destinations remain unchanged. */
.page-home main { background: var(--color-bg-primary); }
.page-home main > section { position: relative; }

/* Choice: primary concepts first, detail only for the active state. */
.scene-choice { min-height: 100svh; display: grid; align-items: center; padding-block: clamp(96px,12vw,176px); }
.scene-choice .home-centered { margin-bottom: clamp(40px,6vh,72px); }
.scene-choice .home-centered > p:last-child { max-width: 620px; }
.scene-choice .direction-fork {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 0;
  gap: clamp(16px,2vw,28px);
}
.scene-choice .direction-card {
  display: block;
  min-height: 0;
  padding: clamp(30px,4vw,56px);
  background: rgba(255,255,255,.54);
  border: 1px solid transparent;
  border-radius: 24px;
  box-shadow: none;
  transition: background-color 180ms cubic-bezier(.23,1,.32,1), border-color 180ms cubic-bezier(.23,1,.32,1);
}
.scene-choice .direction-card + .direction-card { border-left: 1px solid transparent; }
.scene-choice .direction-card.is-active { background: #fff; border-color: var(--line); }
.scene-choice .direction-card button {
  display: grid;
  grid-template-columns: 42px 1fr;
  width: 100%;
  padding: 0;
  color: var(--ink);
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.scene-choice .direction-card button small { padding-top: 12px; color: var(--ink-3); font-size: var(--type-metadata); }
.scene-choice .direction-card button span { font-size: clamp(48px,6vw,84px); font-weight: 500; line-height: .95; letter-spacing: -.05em; }
.scene-choice .direction-card.is-active button span { color: var(--red); }
.direction-card__detail {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 220ms cubic-bezier(.23,1,.32,1), opacity 160ms cubic-bezier(.23,1,.32,1);
}
.direction-card__detail > p { margin-top: 0; color: var(--ink-2); line-height: 1.55; }
.direction-card__detail ul { display: flex; margin-top: 0; flex-wrap: wrap; gap: 8px; list-style: none; }
.direction-card__detail li { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; }
.direction-card__detail > a { display: inline-block; justify-self: start; margin-top: 24px; color: var(--red); font-weight: 500; }
.direction-card.is-active .direction-card__detail { max-height: 560px; opacity: 1; }
.direction-card.is-instant .direction-card__detail { transition: none; }
.direction-card.is-active .direction-card__detail > p { margin-top: 32px; }
.direction-card.is-active .direction-card__detail ul { margin-top: 22px; }

/* Sequential formats: native scroll with one contained sticky statement. */
.page-home .work-formats { padding-block: clamp(104px,12vw,180px); }
.page-home .work-formats__grid { grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); gap: clamp(48px,8vw,120px); align-items: start; }
.page-home .work-formats__grid > div:first-child { position: sticky; top: calc(var(--header-h) + 12vh); }
.page-home .work-formats__list { display: grid; grid-template-columns: 1fr; gap: clamp(56px,8vh,96px); border-top: 0; }
.page-home .work-formats__list article {
  min-height: 54vh;
  padding: clamp(44px,7vh,76px) clamp(28px,4vw,56px);
  justify-content: center;
  border: 0;
  border-radius: 28px;
  background: rgba(255,255,255,.055);
}
.page-home .work-formats__list article + article { border-left: 0; }
.page-home .work-formats__list article > span { color: rgba(255,255,255,.48); font-size: 13px; }
.page-home .work-formats__list h3 { margin-top: 20px; font-size: clamp(38px,4vw,56px); }
.page-home .work-formats__list p { max-width: 560px; }
.page-home .work-formats__list small { margin-top: 36px; color: rgba(255,255,255,.78); border-top: 0; }
.page-home .work-formats__note { max-width: 560px; margin-top: -8vh; padding-bottom: 10vh; }

/* Solutions: quiet navigation controls one coherent content state. */
.scene-solutions { min-height: 100svh; padding: clamp(104px,12vw,176px) 0 clamp(88px,9vw,132px); }
.scene-solutions .impact-solutions__head { max-width: 930px; margin-bottom: clamp(56px,9vw,110px); }
.solution-explorer { display: grid; grid-template-columns: minmax(250px,.65fr) minmax(0,1.35fr); gap: clamp(48px,7vw,96px); align-items: start; }
.solution-explorer__nav { display: grid; gap: 8px; }
.solution-explorer__nav button {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  padding: 16px 18px;
  color: var(--ink-2);
  border: 0;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color 160ms cubic-bezier(.23,1,.32,1), background-color 160ms cubic-bezier(.23,1,.32,1), transform 140ms cubic-bezier(.23,1,.32,1);
}
.solution-explorer__nav button:first-child { border-top: 1px solid transparent; }
.solution-explorer__nav small { padding-top: 4px; color: var(--ink-2); }
.solution-explorer__nav span { font-size: clamp(20px,2vw,28px); line-height: 1.18; }
.solution-explorer__nav button[aria-selected='true'] { color: var(--ink); background: #fff; }
.solution-explorer__nav button:active { transform: scale(.97); }
.solution-explorer__stage { min-height: 600px; }
.solution-explorer__stage article { animation: none; }
.solution-explorer__stage article[hidden] { display: none; }
.solution-explorer__stage article > div { max-width: 680px; }
.solution-explorer__stage small { color: var(--ink-2); font-size: var(--type-small); }
.solution-explorer__stage h3 { margin-top: 16px; font-size: clamp(42px,5vw,68px); line-height: 1; letter-spacing: -.045em; }
.solution-explorer__stage p { margin-top: 24px; color: var(--ink-2); font-size: var(--type-body-lg); line-height: 1.65; }
.solution-explorer__stage a { display: inline-block; margin-top: 28px; color: var(--red); font-weight: 500; }
.solution-explorer__stage figure { height: clamp(300px,34vw,470px); margin-top: 48px; overflow: hidden; border-radius: 24px; }
.solution-explorer__stage img { width: 100%; height: 100%; object-fit: cover; }

/* Recognition accumulates in a long, calm scene. */
.page-home .family-flagship { padding: clamp(88px,9vw,132px) 0 clamp(112px,13vw,190px); }
.page-home .family-flagship__grid { grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); gap: clamp(56px,9vw,130px); }
.page-home .family-flagship ol { display: grid; gap: clamp(20px,3vw,34px); border: 0; }
.page-home .family-flagship li { min-height: 0; padding: clamp(24px,3vw,38px); align-content: center; border: 0; border-radius: 20px; background: var(--canvas-warm); }
.page-home .family-flagship li:nth-child(even) { margin-left: clamp(0px,4vw,64px); }
.page-home .family-flagship__conclusion { max-width: 720px; font-size: clamp(24px,2.7vw,38px); line-height: 1.25; }

/* Real human pause between system scenes. */
.human-break { width: min(calc(100% - 48px),1480px); height: min(72vw,840px); margin: 0 auto; overflow: hidden; border-radius: 32px; background: var(--color-surface-dark); }
.human-break img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }

/* Method: one stable idea, one active explanation. */
.page-home .impact-method { padding-block: clamp(110px,13vw,190px); }
.page-home .impact-method__steps { display: grid; gap: 14px; border: 0; }
.page-home .impact-method__steps article { min-height: 0; padding: clamp(30px,4vw,54px); align-content: center; border: 1px solid transparent; border-radius: 22px; background: rgba(255,255,255,.4); opacity: 1; transition: background-color 200ms cubic-bezier(.23,1,.32,1), border-color 200ms cubic-bezier(.23,1,.32,1); }
.page-home .impact-method__steps article.is-current { background: #fff; border-color: var(--line); opacity: 1; }
.page-home .impact-method__steps article:not(.is-current) h3 { color: var(--ink-2); }
.page-home .impact-method__statement { margin-top: 8vh; color: var(--ink); }

/* Programs disclose detail natively through accessible details/summary. */
.page-home .home-programs { padding-block: clamp(104px,12vw,176px); }
.page-home .home-programs__list { display: grid; gap: 12px; border: 0; }
.page-home .home-programs__list details { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.page-home .home-programs__list summary {
  display: grid;
  grid-template-columns: 48px minmax(220px,.8fr) minmax(180px,1.2fr);
  gap: 24px;
  padding: 26px 28px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}
.page-home .home-programs__list summary::-webkit-details-marker { display: none; }
.page-home .home-programs__list summary span { color: var(--ink-3); }
.page-home .home-programs__list summary h3 { font-size: clamp(24px,2.4vw,34px); }
.page-home .home-programs__list summary b { color: var(--ink-2); font-size: var(--type-small); font-weight: 400; }
.page-home .home-programs__list details[open] { border-color: rgba(198,0,0,.28); }
.page-home .home-programs__list details[open] summary h3 { color: var(--ink); }
.page-home .home-programs__list details > div { display: grid; grid-template-columns: 48px 1fr auto; gap: 24px; padding: 0 28px 30px; }
.page-home .home-programs__list details > div p { grid-column: 2; max-width: 680px; color: var(--ink-2); line-height: 1.6; }
.page-home .home-programs__list details > div a {
  display: inline-block;
  grid-column: 3;
  min-height: 0;
  padding: 0;
  align-self: start;
  color: var(--red);
  border: 0;
  font-weight: 500;
}

/* Trust evidence is subordinate to the statement. */
.page-home .impact-trust { padding-block: clamp(112px,13vw,190px); }
.page-home .impact-trust__grid { grid-template-columns: minmax(0,1fr); align-items: start; }
.page-home .impact-trust blockquote { max-width: 1050px; padding: 0; color: var(--ink); background: transparent; font-size: clamp(50px,7vw,98px); letter-spacing: -.055em; }
.page-home .impact-trust__grid > div { display: grid; min-width: 0; grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: clamp(48px,8vw,120px); margin-top: clamp(72px,9vw,124px); }
.page-home .impact-trust__grid > div > .eyebrow,
.page-home .impact-trust__grid > div > h2 { grid-column: 1; }
.page-home .impact-trust h2 { font-size: clamp(34px,3.8vw,52px); }
.page-home .impact-trust ol { margin-top: 48px; }
.page-home .impact-trust ol { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; border: 0; }
.page-home .impact-trust li { padding-block: 24px; }
.page-home .impact-trust__partners { grid-column: 1; opacity: .62; }

/* Founder thought, not biography, carries the scene. */
.page-home .home-founder { padding-block: clamp(112px,13vw,190px); }
.page-home .home-founder__grid { align-items: stretch; }
.page-home .home-founder__image { height: min(72vw,820px); border-radius: 0; }
.page-home .home-founder__grid > div:last-child { display: flex; flex-direction: column; justify-content: center; }
.page-home .home-founder h2 { order: 3; margin-top: 32px; color: var(--ink-2); font-size: clamp(24px,2.5vw,34px); line-height: 1.2; letter-spacing: -.02em; }
.page-home .home-founder blockquote { order: 2; margin-top: 24px; padding: 0; color: var(--ink); border: 0; font-size: clamp(38px,4.6vw,66px); line-height: 1.08; letter-spacing: -.04em; }
.page-home .home-founder__grid > div:last-child > p:last-child { order: 4; }

/* Beliefs, materials and journal use editorial hierarchy instead of card grids. */
.page-home .home-principles { padding-block: clamp(96px,11vw,160px); }
.page-home .home-principles > .container > div { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 64px; border: 0; }
.page-home .home-principles article { display: grid; grid-template-columns: 48px minmax(180px,.45fr) minmax(0,1fr); gap: 24px; min-height: 0; padding: 30px 0; border: 0; border-top: 1px solid rgba(255,255,255,.18); }
.page-home .home-principles article + article { border-left: 0; }
.page-home .home-principles h3 { margin: 0; }
.page-home .home-principles p { margin: 0; }
.page-home .home-materials { padding-block: clamp(104px,12vw,176px); }
.page-home .home-materials > .container > div { display: grid; grid-template-columns: 1.35fr .85fr; gap: 18px; margin-top: 64px; }
.page-home .home-materials a { min-height: 280px; padding: clamp(28px,4vw,48px); border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.68); }
.page-home .home-materials a:first-child { grid-row: span 2; min-height: 578px; }
.page-home .home-materials h3 { max-width: 720px; margin-top: 42px; }
.page-home .home-materials p { border: 0; }
.page-home .home-blog { padding-block: clamp(100px,11vw,160px); }
.page-home .home-blog > .container > div { display: grid; grid-template-columns: 1.2fr .8fr; gap: 0 48px; border: 0; }
.page-home .home-blog article { min-height: 0; padding: 28px 0; border: 0; border-top: 1px solid var(--line); }
.page-home .home-blog article:first-child { grid-row: span 3; padding-right: clamp(28px,4vw,64px); }
.page-home .home-blog article + article { border-left: 0; }
.page-home .home-blog article:first-child h3 { max-width: 760px; font-size: clamp(34px,4.5vw,62px); }
.page-home .home-blog h3 { margin-top: 28px; }

/* The close is a quiet decision, not a promotional billboard. */
.page-home .home-final { padding-block: clamp(112px,14vw,190px); color: var(--ink); background: var(--canvas-warm); text-align: left; }
.page-home .home-final .eyebrow { color: var(--ink-2); }
.page-home .home-final h2 { max-width: 980px; margin: 24px 0 0; font-size: clamp(44px,5.8vw,78px); }
.page-home .home-final > .container > p:not(.eyebrow) { max-width: 680px; margin: 30px 0 0; }
.page-home .home-final > .container > div { justify-content: flex-start; }
.page-home .home-final > .container > div > a:last-child { color: var(--ink); border-color: var(--line-strong); }
.page-home .home-final .btn--light { color: #fff; background: var(--red); }

.page-home .btn { transition: transform 140ms cubic-bezier(.23,1,.32,1), background-color 160ms ease, color 160ms ease, border-color 160ms ease; }
.page-home .btn:active { transform: scale(.97); }

@media (hover:hover) and (pointer:fine) {
  .scene-choice .direction-card:hover { background: rgba(255,255,255,.78); }
  .solution-explorer__nav button:hover { color: var(--ink); background: rgba(255,255,255,.6); }
  .page-home .home-materials a:hover { background: #fff; }
}

/* Homepage footer: a final quiet brand scene, scoped away from inner pages. */
.page-home .site-footer {
  padding: clamp(72px,8vw,112px) 0 28px;
  color: #fff;
  border-top: 0;
  background: #181818;
}
.page-home .site-footer__top {
  display: grid;
  grid-template-columns: minmax(280px,1.45fr) repeat(3,minmax(140px,.65fr));
  gap: clamp(34px,4vw,68px);
  padding-block: 0 clamp(64px,8vw,104px);
}
.page-home .site-footer__brand { max-width: 440px; }
.page-home .site-footer__logo {
  width: auto;
  height: 30px;
  filter: brightness(0) invert(1);
}
.page-home .site-footer__tagline {
  max-width: 390px;
  margin-top: 36px;
  color: rgba(255,255,255,.92);
  font-size: clamp(24px,2.4vw,34px);
  line-height: 1.2;
  letter-spacing: -.025em;
}
.page-home .site-footer__contacts {
  margin-top: 34px;
  color: rgba(255,255,255,.6);
  font-size: 14px;
  line-height: 1.8;
}
.page-home .site-footer__contacts a,
.page-home .site-footer__links a { color: inherit; }
.page-home .site-footer__col-title {
  color: rgba(255,255,255,.46);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-home .site-footer__links { gap: 13px; margin-top: 26px; }
.page-home .site-footer__links a {
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.45;
  transition: color 160ms ease;
}
.page-home .site-footer__line {
  padding-top: 28px;
  color: rgba(255,255,255,.6);
  border-top: 1px solid rgba(255,255,255,.14);
  font-size: 12px;
}
.page-home .site-footer__line a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.38);
  text-underline-offset: 3px;
}

@media (max-width: 1050px) {
  .scene-choice { min-height: auto; }
  .page-home .work-formats__grid,
  .page-home .family-flagship__grid { grid-template-columns: 1fr; }
  .page-home .work-formats__grid > div:first-child { position: static; }
  .page-home .work-formats__list article { min-height: 0; }
  .page-home .work-formats__note { margin-top: 32px; padding-bottom: 0; }
  .solution-explorer { grid-template-columns: 1fr; }
  .solution-explorer__nav { grid-template-columns: repeat(4,1fr); overflow-x: auto; }
  .solution-explorer__nav button { grid-template-columns: 1fr; min-width: 190px; padding-right: 20px; }
  .solution-explorer__stage { min-height: 0; }
  .page-home .family-flagship li { min-height: 0; }
  .page-home .impact-trust__grid > div { grid-template-columns: minmax(0,1fr); }
  .page-home .impact-trust ol,
  .page-home .impact-trust__partners { grid-column: 1; grid-row: auto; }
  .page-home .impact-trust ol { margin-top: 20px; }
  .page-home .site-footer__top { grid-template-columns: 1.25fr repeat(2,1fr); }
  .page-home .site-footer__brand { grid-row: span 2; }
}

@media (max-width: 760px) {
  .scene-choice .direction-fork { grid-template-columns: 1fr; }
  .scene-choice .direction-card + .direction-card { border-top: 1px solid transparent; border-left: 1px solid transparent; }
  .scene-choice .direction-card button span { font-size: clamp(46px,14vw,58px); }
  .direction-card.is-active .direction-card__detail > p { margin-top: 24px; }
  .direction-card.is-active .direction-card__detail ul { margin-top: 18px; }
  .page-home .work-formats__list article { padding-block: 56px; }
  .solution-explorer__nav { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(180px,72vw); }
  .solution-explorer__stage figure { height: 230px; margin-top: 32px; }
  .human-break { width: calc(100% - 24px); height: 74svh; border-radius: 20px; }
  .page-home .impact-method__steps article { min-height: 0; padding-block: 48px; }
  .page-home .home-programs__list summary { grid-template-columns: 32px 1fr; gap: 12px; }
  .page-home .home-programs__list summary b { grid-column: 2; }
  .page-home .home-programs__list details > div { grid-template-columns: 32px 1fr; gap: 12px; }
  .page-home .home-programs__list details > div p,
  .page-home .home-programs__list details > div a { grid-column: 2; }
  .page-home .home-founder blockquote { font-size: clamp(34px,10vw,44px); }
  .page-home .impact-trust h2 { min-width: 0; max-width: 100%; font-size: clamp(32px,9vw,38px); }
  .page-home .home-principles article { grid-template-columns: 34px 1fr; }
  .page-home .home-principles article p { grid-column: 2; }
  .page-home .home-materials > .container > div,
  .page-home .home-blog > .container > div { grid-template-columns: 1fr; }
  .page-home .home-materials a:first-child { grid-row: auto; min-height: 360px; }
  .page-home .home-blog article:first-child { grid-row: auto; padding-right: 0; }
  .page-home .home-final > .container > div { align-items: flex-start; }
  .page-home .site-footer { padding-top: 68px; }
  .page-home .site-footer__top { grid-template-columns: 1fr 1fr; gap: 48px 24px; }
  .page-home .site-footer__brand { grid-column: 1 / -1; grid-row: auto; max-width: none; }
  .page-home .site-footer__tagline { max-width: 340px; }
  .page-home .site-footer__line { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .direction-card__detail { max-height: none; opacity: 1; transition: none; }
  .page-home .impact-method__steps article { transition: none; }
}

/* ================================================= Global navigation + internal editorial system */

/* One calm, legible header across every real page. */
.site-header:not(.site-header--over-media),
.site-header.is-scrolled,
.site-header.is-open {
  background: rgba(255,255,255,.9);
  border-bottom-color: rgba(29,29,31,.08);
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset;
}
.site-header__inner { gap: clamp(18px,2.2vw,34px); }
.site-header__logo { flex: 0 0 auto; }
.site-nav__list { align-items: center; gap: clamp(16px,1.8vw,28px); }
.site-nav__link { border: 0; color: var(--ink-2); }
.site-nav__link--external { display: inline-flex; align-items: baseline; gap: 4px; }
.site-nav__link--external > span[aria-hidden='true'] { color: currentColor; font-size: .68em; opacity: .7; transform: translateY(-.15em); }
.site-nav__link[aria-current='page'],
.site-nav__link.is-active,
.site-nav__trigger.is-active { color: var(--ink); font-weight: 500; }
.site-nav__trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 0;
  background: none;
  cursor: pointer;
}
.site-nav__chevron {
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 180ms var(--ease-enter);
}
.site-nav__trigger[aria-expanded='true'] .site-nav__chevron { transform: translateY(1px) rotate(225deg); }
.site-nav__item--has-children { position: relative; }
.site-nav__dropdown {
  top: calc(100% + 12px);
  left: 50%;
  width: min(370px, calc(100vw - 40px));
  padding: 8px;
  border: 1px solid var(--hair);
  border-radius: var(--radius-medium);
  background: rgba(255,255,255,.98);
  box-shadow: var(--shadow-overlay);
  transform: translate(-50%,-6px) scale(.98);
  transform-origin: 50% 0;
  transition: opacity 180ms var(--ease-enter), transform 180ms var(--ease-enter), visibility 0s linear 180ms;
}
.site-nav__item--has-children.is-open .site-nav__dropdown,
.site-nav__item--has-children:focus-within .site-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%,0) scale(1);
  transition-delay: 0s;
}
.site-nav__dropdown::before {
  content: '';
  position: absolute;
  inset: -13px 0 auto;
  height: 13px;
}
.site-nav__dropdown a { padding: 15px 16px; border-radius: 14px; }
.site-nav__dropdown a[aria-current='page'] { background: var(--surface); }
.site-nav__dropdown strong { font-size: 14px; font-weight: 600; }
.site-nav__dropdown span { margin-top: 1px; font-size: 12.5px; line-height: 1.45; }
.site-nav__dropdown--solutions {
  left: 0;
  width: min(690px, calc(100vw - 40px));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  transform: translate(0,-6px) scale(.98);
  transform-origin: 0 0;
}
.site-nav__item--has-children.is-open .site-nav__dropdown--solutions,
.site-nav__item--has-children:focus-within .site-nav__dropdown--solutions {
  transform: translate(0,0) scale(1);
}
@media (hover:hover) and (pointer:fine) {
  .site-nav__item--has-children:hover .site-nav__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%,0) scale(1);
    transition-delay: 0s;
  }
  .site-nav__dropdown a:hover { background: var(--surface); }
  .site-nav__item--has-children:hover .site-nav__dropdown--solutions { transform: translate(0,0) scale(1); }
}

@media (hover:none), (pointer:coarse) {
  .site-nav__item--has-children:not(.is-open):not(:focus-within):hover .site-nav__dropdown {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%,-6px) scale(.98);
  }
  .site-nav__item--has-children:not(.is-open):not(:focus-within):hover .site-nav__dropdown--solutions {
    transform: translate(0,-6px) scale(.98);
  }
}

/* ========================================================================
   Editorial clarity pass: solutions, human work, materials and soft surfaces
   ======================================================================== */

/* Homepage: commercial solutions appear before programs. */
.page-home .home-solutions { padding-block: clamp(88px, 10vw, 148px); background: var(--color-bg-primary); }
.page-home .home-solutions__head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .6fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: end;
  margin-bottom: clamp(48px, 6vw, 76px);
}
.page-home .home-solutions__head h2 {
  max-width: 12ch;
  margin-top: 14px;
  font-size: clamp(3rem, 5.4vw, 5.25rem);
  line-height: .96;
  letter-spacing: -.052em;
}
.page-home .home-solutions__head > p { max-width: 520px; margin: 0; color: var(--ink-2); font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.55; }
.page-home .home-solutions__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.page-home .solution-card {
  display: flex;
  min-height: 340px;
  padding: clamp(26px, 3vw, 42px);
  justify-content: space-between;
  flex-direction: column;
  color: var(--ink);
  border: 1px solid rgba(29, 29, 31, .09);
  border-radius: var(--radius-lg);
  background: var(--color-surface-subtle);
  cursor: pointer;
  text-decoration: none;
  transition: transform 180ms var(--ease-enter), background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}
.page-home .solution-card--1 { grid-column: span 7; }
.page-home .solution-card--2 { grid-column: span 5; color: #fff; border-color: transparent; background: var(--color-surface-dark); }
.page-home .solution-card--3,
.page-home .solution-card--4,
.page-home .solution-card--5 { grid-column: span 4; }
.page-home .solution-card--6 { grid-column: 1 / -1; min-height: 260px; background: #fff; }
.page-home .solution-card__num { color: var(--red); font-size: .78rem; font-weight: 600; letter-spacing: .08em; }
.page-home .solution-card--2 .solution-card__num { color: rgba(255,255,255,.78); }
.page-home .solution-card h3 { max-width: 15ch; margin: 34px 0 14px; font-size: clamp(1.75rem, 2.5vw, 2.8rem); line-height: 1; letter-spacing: -.04em; }
.page-home .solution-card p { max-width: 580px; margin: 0; color: var(--ink-2); font-size: 1rem; line-height: 1.55; }
.page-home .solution-card--2 p { color: rgba(255, 255, 255, .7); }
.page-home .solution-card footer { display: flex; gap: 24px; margin-top: 42px; align-items: flex-end; justify-content: space-between; color: var(--ink-2); font-size: .87rem; }
.page-home .solution-card--2 footer { color: rgba(255, 255, 255, .72); }
.page-home .solution-card footer i { color: var(--red); font-size: 1.3rem; font-style: normal; transition: transform 180ms var(--ease-enter); }
.page-home .home-solutions__paths { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.page-home .home-solutions__paths a { display: grid; grid-template-columns: 1fr auto; gap: 7px 24px; min-height: 132px; padding: 28px 32px; align-content: center; color: inherit; border: 1px solid var(--line); border-radius: var(--radius-md); text-decoration: none; }
.page-home .home-solutions__paths span { grid-column: 1; color: var(--ink-2); font-size: .85rem; }
.page-home .home-solutions__paths strong { grid-column: 1; font-size: 1.15rem; font-weight: 600; }
.page-home .home-solutions__paths i { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--red); font-size: 1.2rem; font-style: normal; transition: transform 180ms var(--ease-enter); }

/* Human-centred working process: one image, then four calm verbs. */
.page-home .home-work { padding-block: clamp(88px, 10vw, 148px); background: var(--color-surface-subtle); }
.page-home .home-work__intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr); gap: clamp(36px, 7vw, 100px); align-items: end; }
.page-home .home-work__intro h2 { max-width: 13ch; margin-top: 14px; font-size: clamp(2.75rem, 4.7vw, 4.6rem); line-height: .98; letter-spacing: -.05em; }
.page-home .home-work__intro > p { max-width: 560px; margin: 0; color: var(--ink-2); font-size: 1.08rem; line-height: 1.62; }
.page-home .home-work__media { height: clamp(420px, 56vw, 680px); margin: clamp(44px, 6vw, 72px) 0 0; overflow: hidden; border-radius: var(--radius-xl); background: var(--ink); }
.page-home .home-work__media img { width: 100%; height: 100%; object-fit: cover; }
.page-home .home-work ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-top: 34px; }
.page-home .home-work li { padding-top: 22px; border-top: 1px solid var(--line-strong); }
.page-home .home-work li > span { color: var(--red); font-size: .75rem; font-weight: 600; }
.page-home .home-work li h3 { margin: 28px 0 9px; font-size: clamp(1.35rem, 2vw, 1.85rem); letter-spacing: -.035em; }
.page-home .home-work li p { margin: 0; color: var(--ink-2); line-height: 1.55; }

/* Founder as one editorial image story, not another split card. */
.page-home .home-founder { padding-block: clamp(88px, 10vw, 148px); background: var(--color-bg-primary); }
.page-home .founder-story { position: relative; min-height: clamp(620px, 62vw, 760px); overflow: hidden; color: #fff; border-radius: var(--radius-xl); background: #0d1218; }
.page-home .founder-story::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 10, 13, .94) 0%, rgba(8, 10, 13, .76) 35%, rgba(8, 10, 13, .13) 67%, transparent 100%); }
.page-home .founder-story__media,
.page-home .founder-story__media picture,
.page-home .founder-story__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.page-home .founder-story__media img { object-fit: cover; object-position: center; }
.page-home .founder-story__content { position: relative; z-index: 1; display: flex; width: min(58%, 650px); min-height: inherit; padding: clamp(42px, 6vw, 82px); justify-content: center; flex-direction: column; }
.page-home .founder-story__content .eyebrow { color: rgba(255, 255, 255, .7); }
.page-home .home-founder .founder-story blockquote { order: initial; max-width: 15ch; margin: 32px 0; padding: 0; color: #fff; border: 0; font-size: clamp(2.25rem, 4vw, 4.35rem); line-height: 1.02; letter-spacing: -.05em; }
.page-home .founder-story__content > p:not(.eyebrow, .founder-story__name) { max-width: 54ch; margin: 0 0 12px; color: rgba(255, 255, 255, .74); line-height: 1.58; }
.page-home .founder-story__name { display: flex; gap: 4px; margin: 25px 0 0; flex-direction: column; }
.page-home .founder-story__name span { color: rgba(255, 255, 255, .62); font-size: .86rem; }

/* Homepage materials remain a compact preview of the complete hub. */
.page-home .home-materials { padding-block: clamp(88px, 10vw, 140px); }
.page-home .home-materials > .container > header { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px 32px; margin-bottom: 44px; }
.page-home .home-materials header .eyebrow { grid-column: 1 / -1; }
.page-home .home-materials header h2 { margin: 0; font-size: clamp(2.5rem, 4vw, 4rem); letter-spacing: -.045em; }
.page-home .home-materials > .container > div { display: grid; grid-template-columns: 1.15fr .925fr .925fr; gap: 18px; }
.page-home .home-materials a { display: flex; min-height: 390px; padding: clamp(28px, 3vw, 42px); justify-content: flex-start; flex-direction: column; color: inherit; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--color-surface-subtle); text-decoration: none; transition: transform 180ms var(--ease-enter), background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease; }
.page-home .home-materials a:first-child { color: #fff; border-color: transparent; background: var(--color-surface-dark); }
.page-home .home-materials a > span { color: var(--red); font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.page-home .home-materials a:first-child > span { color: rgba(255,255,255,.78); }
.page-home .home-materials a h3 { margin: auto 0 16px; font-size: clamp(1.65rem, 2.35vw, 2.6rem); line-height: 1.04; letter-spacing: -.04em; }
.page-home .home-materials a p { margin: 0; color: var(--ink-2); line-height: 1.55; }
.page-home .home-materials a:first-child p { color: rgba(255, 255, 255, .7); }
.page-home .home-materials a i { margin-top: 28px; color: var(--red); font-size: .88rem; font-style: normal; }

/* Materials hub: SCBM leads, books are immediately visible, articles stay editorial. */
.page-materials .page-hero { padding-bottom: clamp(54px, 7vw, 90px); }
.page-materials .page-hero__title { max-width: 12ch; }
.materials-feature { padding-bottom: clamp(84px, 9vw, 128px); }
.materials-feature__card { position: relative; display: grid; min-height: 560px; padding: clamp(34px, 6vw, 78px); overflow: hidden; align-items: end; color: #fff; border-radius: var(--radius-xl); background: var(--color-surface-dark); text-decoration: none; }
.materials-feature__card > div { position: relative; z-index: 1; max-width: 650px; }
.materials-feature__card .eyebrow { color: rgba(255,255,255,.78); }
.materials-feature__card h2 { margin: 22px 0 6px; font-size: clamp(4.5rem, 9vw, 8rem); line-height: .86; letter-spacing: -.065em; }
.materials-feature__card h3 { margin: 0 0 28px; color: rgba(255, 255, 255, .86); font-size: clamp(1.3rem, 2vw, 2rem); font-weight: 500; }
.materials-feature__card p { max-width: 520px; color: rgba(255, 255, 255, .68); font-size: 1.08rem; line-height: 1.6; }
.materials-feature__card span { display: inline-flex; gap: 12px; margin-top: 32px; align-items: center; font-weight: 600; }
.materials-feature__card span i { color: #fff; font-style: normal; transition: transform 180ms var(--ease-enter); }
.materials-feature__card > strong { position: absolute; top: 50%; right: -2vw; color: rgba(255, 255, 255, .035); font-size: clamp(10rem, 25vw, 24rem); line-height: .7; letter-spacing: -.09em; transform: translateY(-50%); }
.materials-books { padding-bottom: clamp(90px, 10vw, 144px); }
.materials-books > header { display: block; margin-bottom: 48px; }
.materials-books > header .eyebrow { margin-bottom: 20px; }
.page-materials .materials-books > header .display-title { max-width: 900px; }
.materials-books__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.materials-books__grid > a { display: flex; min-height: 470px; padding: clamp(30px, 4vw, 54px); justify-content: flex-start; flex-direction: column; color: inherit; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--color-surface-subtle); text-decoration: none; transition: transform 180ms var(--ease-enter), background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease; }
.materials-books__grid > a > span { color: var(--red); font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.materials-books__grid h3 { max-width: 15ch; margin: auto 0 22px; font-size: clamp(2rem, 3.35vw, 3.5rem); line-height: 1; letter-spacing: -.05em; }
.materials-books__grid p { max-width: 54ch; color: var(--ink-2); line-height: 1.6; }
.materials-books__grid footer { display: flex; justify-content: space-between; margin-top: 30px; color: var(--red); font-size: .9rem; font-weight: 600; }
.materials-books__grid footer i { font-style: normal; transition: transform 180ms var(--ease-enter); }
.materials-articles { padding-block: clamp(84px, 9vw, 132px); background: var(--color-surface-subtle); }
.materials-articles header { display: grid; grid-template-columns: 1fr minmax(280px, .6fr); gap: 42px; margin-bottom: 48px; align-items: end; }
.materials-articles header > p { color: var(--ink-2); line-height: 1.6; }
.materials-articles__list { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--color-bg-primary); }
.materials-articles__list article { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 24px; padding: clamp(28px, 3vw, 44px); }
.materials-articles__list article + article { border-top: 1px solid var(--line); }
.materials-articles__list article > span { color: var(--red); font-size: .76rem; font-weight: 600; }
.materials-articles__list article div > p:first-child { margin: 0 0 8px; color: var(--red); font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.materials-articles__list h3 { margin: 0 0 10px; font-size: clamp(1.45rem, 2.2vw, 2.15rem); letter-spacing: -.035em; }
.materials-articles__list article div > p:last-child { max-width: 68ch; margin: 0; color: var(--ink-2); line-height: 1.55; }

/* Mature radius and type language across existing content pages. */
.page-inner .display-title { max-width: 20ch; font-size: clamp(2.35rem, 4.2vw, 4rem); line-height: 1.01; letter-spacing: -.047em; overflow-wrap: break-word; }
.page-inner :where(.product-hero h1, .book-hero h1, .tool-hero h1) { font-size: clamp(2.8rem, 5.2vw, 5rem); line-height: .97; letter-spacing: -.052em; overflow-wrap: break-word; }
.page-inner :where(.product-hero__media, .mentor-programs__media) { overflow: hidden; border-radius: var(--radius-lg); }
.page-inner :where(.business-program, .kaizen-areas article, .domain-grid article, .mentor-value__list article, .product-signals li, .tool-facts > div, .tool-catalog li, .career-modules article, .audience-fork article, .mentor-programs > article, .employer-value, .book-topics li, .contact-section .card) { border-radius: var(--radius-md); }
.page-inner :where(.business-change__panel, .business-solution__grid, .product-program, .book-cta > .container, .diagnostic > div) { border-radius: var(--radius-lg); }

@media (hover: hover) and (pointer: fine) {
  .page-home .solution-card:hover,
  .page-home .home-materials a:hover,
  .materials-books__grid > a:hover { transform: translateY(-3px); border-color: rgba(29, 29, 31, .18); box-shadow: 0 18px 44px rgba(29, 29, 31, .07); }
  .page-home .solution-card:hover footer i,
  .page-home .home-solutions__paths a:hover i,
  .materials-feature__card:hover span i,
  .materials-books__grid > a:hover footer i { transform: translateX(5px); }
  .page-home .home-solutions__paths a:hover { border-color: var(--line-strong); background: var(--color-surface-subtle); }
  .materials-feature__card:hover { color: #fff; }
}

.page-home :where(.solution-card, .home-solutions__paths a, .home-materials a):focus-visible,
.page-materials :where(.materials-feature__card, .materials-books__grid > a):focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

@media (max-width: 900px) {
  .page-home .home-solutions__head,
  .page-home .home-work__intro,
  .materials-books > header,
  .materials-articles header { grid-template-columns: 1fr; }
  .page-home .home-solutions__head h2 { max-width: 15ch; }
  .page-home .solution-card--1,
  .page-home .solution-card--2 { grid-column: span 6; }
  .page-home .solution-card--3,
  .page-home .solution-card--4,
  .page-home .solution-card--5 { grid-column: span 4; }
  .page-home .home-work ol { grid-template-columns: 1fr 1fr; }
  .page-home .founder-story__content { width: min(70%, 620px); }
  .page-home .home-materials > .container > div { grid-template-columns: 1fr 1fr; }
  .page-home .home-materials a:first-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .page-home .home-solutions,
  .page-home .home-work,
  .page-home .home-founder,
  .page-home .home-materials { padding-block: 76px; }
  .page-home .home-solutions__head { margin-bottom: 36px; }
  .page-home .home-solutions__head h2,
  .page-home .home-work__intro h2 { font-size: clamp(2.45rem, 11.5vw, 3.35rem); }
  .page-home .home-solutions__grid,
  .page-home .home-solutions__paths,
  .page-home .home-materials > .container > div,
  .materials-books__grid { grid-template-columns: 1fr; }
  .page-home :where(.solution-card--1, .solution-card--2, .solution-card--3, .solution-card--4, .solution-card--5, .solution-card--6),
  .page-home .home-materials a:first-child { grid-column: 1; }
  .page-home .solution-card { min-height: 310px; padding: 28px; }
  .page-home .solution-card--6 { min-height: 310px; }
  .page-home .solution-card h3 { font-size: clamp(1.8rem, 8vw, 2.35rem); }
  .page-home .home-solutions__paths a { min-height: 118px; padding: 24px; }
  .page-home .home-work__media { height: min(62svh, 520px); border-radius: var(--radius-lg); }
  .page-home .home-work ol { grid-template-columns: 1fr; gap: 18px; }
  .page-home .home-work li { display: grid; grid-template-columns: 34px 1fr; gap: 5px 12px; }
  .page-home .home-work li h3 { margin: 0; }
  .page-home .home-work li p { grid-column: 2; }
  .page-home .founder-story { min-height: 0; }
  .page-home .founder-story::after { display: none; }
  .page-home .founder-story__media,
  .page-home .founder-story__media picture,
  .page-home .founder-story__media img { position: static; display: block; height: auto; aspect-ratio: 16 / 10; }
  .page-home .founder-story__media img { object-fit: cover; object-position: 68% center; }
  .page-home .founder-story__content { width: 100%; min-height: 0; padding: 30px 26px 38px; }
  .page-home .home-founder .founder-story blockquote { margin-block: 24px; font-size: clamp(2rem, 9vw, 2.75rem); }
  .page-home .home-materials > .container > header { grid-template-columns: 1fr; align-items: start; }
  .page-home .home-materials a { min-height: 330px; }
  .page-materials .page-hero__title { font-size: clamp(2.7rem, 13vw, 3.6rem); }
  .materials-feature { padding-bottom: 76px; }
  .materials-feature__card { min-height: 520px; padding: 30px 26px; border-radius: var(--radius-lg); }
  .materials-feature__card h2 { font-size: clamp(4rem, 22vw, 6rem); }
  .materials-feature__card > strong { right: -22%; font-size: 11rem; }
  .materials-books { padding-bottom: 80px; }
  .materials-books__grid > a { min-height: 390px; padding: 28px; }
  .materials-books__grid h3 { font-size: clamp(2rem, 9vw, 2.65rem); }
  .materials-articles { padding-block: 76px; }
  .materials-articles__list article { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 26px 20px; }
  .page-inner .display-title { font-size: clamp(2.15rem, 9.8vw, 2.85rem); }
  .page-inner :where(.product-hero h1, .book-hero h1, .tool-hero h1) { font-size: clamp(2.45rem, 11vw, 3.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .page-home :where(.solution-card, .home-solutions__paths i, .home-materials a),
  .page-materials :where(.materials-feature__card span i, .materials-books__grid > a, .materials-books__grid footer i) { transition: none; }
}

.mobile-menu__group { border-bottom: 1px solid var(--hair); }
.mobile-menu__toggle {
  display: flex;
  justify-content: space-between;
  width: 100%;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
}
.mobile-menu__toggle > span { color: var(--ink-3); font-size: 22px; font-weight: 400; transition: transform 180ms var(--ease-enter); }
.mobile-menu__toggle[aria-expanded='true'] > span { transform: rotate(45deg); }
.mobile-menu__submenu { padding-bottom: 10px; }
.mobile-menu__link--child { padding: 11px 0 11px 18px; border: 0; font-size: 15px; font-weight: 400; }
.mobile-menu__link[aria-current='page'], .mobile-menu__toggle.is-active { color: var(--red); }
.mobile-menu__cta { padding-top: 18px; }

/* Internal pages inherit the homepage's scale, restraint and editorial rhythm. */
.page-inner main { overflow: clip; }
.page-inner .display-title,
.page-inner .page-hero__title,
.page-inner .product-hero h1,
.page-inner .career-hero h1,
.page-inner .tool-hero h1,
.page-inner .book-hero h1 {
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
.page-inner .display-title { font-size: clamp(38px,5vw,68px); line-height: .99; }
.page-inner .eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.page-inner .breadcrumbs { font-size: 12px; }
.page-inner .breadcrumbs li::after { color: rgba(29,29,31,.28); }
.page-inner .page-hero {
  min-height: min(680px,78svh);
  padding-block: calc(var(--header-h) + 74px) clamp(84px,10vw,140px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.page-inner .page-hero__title { max-width: 980px; margin-top: 24px; font-size: clamp(48px,7vw,92px); line-height: .96; }
.page-inner .page-hero__lead { max-width: 760px; margin-top: 30px; font-size: clamp(17px,1.7vw,21px); }

.page-inner .product-hero,
.page-inner .career-hero { padding-block: calc(var(--header-h) + 70px) clamp(88px,9vw,126px); }
.page-inner .product-hero h1,
.page-inner .career-hero h1 { font-size: clamp(50px,6.6vw,92px); }
.page-inner .product-hero__media,
.page-inner .career-hero__media {
  border-radius: var(--radius-large);
  box-shadow: 0 30px 90px rgba(29,29,31,.09);
}
.page-inner .product-hero__media img,
.page-inner .career-hero__media img { transition: transform 700ms var(--ease-enter); }

.page-inner .product-signals,
.page-inner .mentor-value,
.page-inner .tool-about,
.page-inner .tool-guides,
.page-inner .book-topics,
.page-inner .book-link,
.page-inner .product-next,
.page-inner .career-human { padding-block: var(--space-section); }
.page-inner .product-signals,
.page-inner .mentor-value,
.page-inner .tool-about,
.page-inner .tool-guides,
.page-inner .book-topics,
.page-inner .book-link,
.page-inner .product-next { border-top: 1px solid var(--hair); }
.page-inner .mentor-value__list article,
.page-inner .product-signals li,
.page-inner .career-principle article,
.page-inner .tool-guides li,
.page-inner .book-topics li { transition: color 180ms ease, background 180ms ease; }

/* Product chapters keep dense content readable without becoming card walls. */
.page-inner .module-editorial article { padding-block: clamp(34px,4.5vw,58px); }
.page-inner .module-editorial h3 { letter-spacing: -.035em; }
.page-inner .product-program,
.page-inner .career-program,
.page-inner .career-mentors { padding-block: var(--space-section-large); }
.page-inner .product-online { background: var(--color-surface-accent-light); }
.page-inner .product-chain,
.page-inner .career-path,
.page-inner .career-trust,
.page-inner .mentor-audience,
.page-inner .book-intro,
.page-inner .book-quote,
.page-inner .book-cta { background: var(--color-surface-dark); }
.page-inner .career-program--work,
.page-inner .book-intro--career,
.page-inner .book-cta--career { background: #181818; }
.page-inner .book-hero { min-height: min(780px,88svh); align-items: end; }
.page-inner .book-hero h1 { margin-top: 44px; font-size: clamp(58px,8vw,112px); }
.page-inner .book-link > div:last-child h3 { margin-bottom: 14px; font-size: clamp(21px,2.1vw,30px); letter-spacing: -.025em; }
.page-inner .book-link > div:last-child p + h3 { margin-top: 54px; }
.page-inner .book-link > div:last-child p + p { margin-top: 18px; }
.page-inner .book-quote blockquote { text-wrap: balance; }

/* SCBM is a product/tool scene: one precise dark hero and measured catalogue. */
.page-scbm .tool-hero > .container { min-height: min(650px,76svh); display: flex; flex-direction: column; justify-content: flex-end; }
.page-scbm .tool-hero h1 { max-width: 980px; font-size: clamp(56px,8vw,108px); }
.page-scbm .tool-hero .product-hero__actions { margin-top: 40px; }
.page-scbm .tool-catalog { background: var(--surface); }

/* Editorial index and contact page. */
.page-blog .page-hero { background: var(--color-bg-primary); }
.blog-index { padding-block: var(--space-section); }
.blog-index__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; padding: 0; border-top: 1px solid var(--line-strong); }
.blog-index__item {
  min-height: 300px;
  padding: clamp(28px,4vw,52px);
  border-radius: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.blog-index__item:nth-child(even) { border-left: 1px solid var(--line); }
.blog-index__item .blog__kicker { color: var(--red); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.blog-index__item .card__title { margin-top: 70px; font-size: clamp(30px,3vw,44px); font-weight: 500; letter-spacing: -.035em; }
.blog-index__item .card__text { max-width: 520px; margin-top: 18px; font-size: 16px; }
.page-contacts .cards { grid-template-columns: repeat(2,1fr); gap: 0; border-top: 1px solid var(--line-strong); }
.page-contacts .card { min-height: 230px; border-radius: 0; border-bottom: 1px solid var(--line); background: transparent; }
.page-contacts .card:nth-child(even) { border-left: 1px solid var(--line); }

/* Inner footer is a quiet directory, not another promotional scene. */
.page-inner .site-footer { padding-top: 72px; background: var(--color-bg-primary); }
.page-inner .site-footer__top { grid-template-columns: minmax(260px,1.35fr) repeat(3,minmax(150px,1fr)); gap: 56px 36px; padding-bottom: 64px; }
.page-inner .site-footer__brand { max-width: 330px; }
.page-inner .site-footer__col-title { color: var(--ink-3); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.page-inner .site-footer__links { margin-top: 18px; gap: 10px; }
.page-inner .site-footer__line { padding-block: 24px; }

@media (hover:hover) and (pointer:fine) {
  .page-inner .btn:active { transform: scale(.97); }
  .page-inner .product-hero__media:hover img,
  .page-inner .career-hero__media:hover img { transform: scale(1.015); }
  .page-inner .mentor-value__list article:hover,
  .page-inner .product-signals li:hover,
  .page-inner .career-principle article:hover,
  .page-inner .tool-guides li:hover,
  .page-inner .book-topics li:hover { color: var(--red); }
  .blog-index__item:hover { background: var(--surface); }
}

@media (max-width: 1180px) {
  .site-header__cta { display: none; }
}

@media (max-width: 1000px) {
  .page-inner .site-footer__top { grid-template-columns: 1fr 1fr; }
  .page-inner .site-footer__brand { grid-column: 1 / -1; max-width: 520px; }
  .page-inner .book-hero { min-height: auto; }
}

@media (max-width: 760px) {
  .mobile-menu { border-radius: 0 0 22px 22px; }
  .mobile-menu__list { padding-bottom: 22px; }
  .page-inner .page-hero { min-height: auto; padding-block: calc(var(--header-h) + 54px) 82px; }
  .page-inner .page-hero__title { font-size: clamp(43px,12.5vw,60px); }
  .page-inner .page-hero__lead { font-size: 17px; }
  .page-inner .product-hero,
  .page-inner .career-hero { padding-bottom: 82px; }
  .page-inner .product-hero h1,
  .page-inner .career-hero h1 { font-size: clamp(43px,12vw,60px); }
  .page-inner .product-hero__media,
  .page-inner .career-hero__media { border-radius: 22px; }
  .page-inner .product-signals,
  .page-inner .mentor-value,
  .page-inner .tool-about,
  .page-inner .tool-guides,
  .page-inner .book-topics,
  .page-inner .book-link,
  .page-inner .product-next,
  .page-inner .career-human,
  .page-inner .product-program,
  .page-inner .career-program,
  .page-inner .career-mentors { padding-block: 82px; }
  .page-inner .book-hero h1 { font-size: clamp(46px,13vw,64px); }
  .blog-index { padding-block: 72px; }
  .blog-index__grid,
  .page-contacts .cards { grid-template-columns: 1fr; }
  .blog-index__item { min-height: 250px; }
  .blog-index__item:nth-child(even),
  .page-contacts .card:nth-child(even) { border-left: 0; }
  .page-inner .site-footer__top { grid-template-columns: 1fr 1fr; gap: 44px 22px; }
  .page-inner .site-footer__brand { grid-column: 1 / -1; }
  .modal__sheet { animation: none; }
}

@media (max-width: 390px) {
  :root { --gutter: 18px; }
  .page-inner .display-title { font-size: clamp(34px,10.5vw,44px); }
  .page-inner .site-footer__top { grid-template-columns: 1fr; }
  .page-inner .site-footer__brand { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .site-nav__dropdown,
  .site-nav__chevron,
  .mobile-menu__toggle > span,
  .page-inner .product-hero__media img,
  .page-inner .career-hero__media img,
  .contact-option { transition: none !important; transform: none !important; }
}

/* ================================================= Homepage UX clarity + unified surface system */

/* Line-reveal used overflow on each glyph line and clipped wide Cyrillic words.
   Keep the motion but never use the text itself as a clipping mask. */
.page-home [data-reveal='lines'],
.page-home [data-reveal='lines'] > span,
.page-home .family-flagship__intro,
.page-home .family-flagship h2,
.page-home .impact-solutions h2,
.page-home .home-programs h2,
.page-home .central-asia h2,
.page-home .home-founder blockquote {
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}
.js .page-home [data-reveal='lines'] > span { overflow: visible; }
.page-home h1,
.page-home h2,
.page-home h3 { overflow-wrap: break-word; text-wrap: balance; }

/* Product journey: one compact answer to what Impact actually delivers. */
.impact-path { padding-block: clamp(96px,11vw,156px); background: var(--color-bg-primary); }
.impact-path__grid { display: grid; grid-template-columns: minmax(280px,.78fr) minmax(0,1.22fr); gap: clamp(54px,9vw,132px); align-items: start; }
.impact-path h2 { margin-top: 22px; font-size: clamp(44px,5.3vw,74px); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.impact-path__grid > div > p:last-child { max-width: 620px; margin-top: 28px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.impact-path ol { counter-reset: path; border-top: 1px solid var(--line-strong); }
.impact-path li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.impact-path li > span { color: var(--red); font-size: 11px; }
.impact-path h3 { font-size: clamp(24px,2.6vw,36px); font-weight: 500; letter-spacing: -.03em; }
.impact-path li p { max-width: 620px; margin-top: 8px; color: var(--ink-2); line-height: 1.55; }

/* Business change explorer: problem first, one active answer, no product acronyms. */
.business-change { padding-block: clamp(104px,12vw,176px); background: var(--color-bg-secondary); }
.business-change__head { max-width: 920px; margin-bottom: clamp(56px,8vw,104px); }
.business-change__head h2 { margin-top: 22px; font-size: clamp(48px,6vw,88px); font-weight: 500; line-height: .93; letter-spacing: -.055em; }
.business-change__head h2 span { display: block; }
.business-change__head > p:last-child { max-width: 760px; margin-top: 28px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.business-change__explorer { display: grid; grid-template-columns: minmax(270px,.68fr) minmax(0,1.32fr); grid-template-rows: repeat(4,auto); gap: 10px clamp(42px,7vw,96px); align-items: stretch; }
.business-change__item { display: contents; }
.business-change__trigger { display: grid; grid-template-columns: 34px minmax(0,1fr) 20px; grid-column: 1; gap: 12px; width: 100%; min-height: 92px; padding: 20px; align-items: center; color: var(--ink-2); border: 1px solid transparent; border-radius: var(--radius-md); background: transparent; text-align: left; cursor: pointer; transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 180ms ease, transform 140ms var(--ease-enter); }
.business-change__item:nth-child(1) > .business-change__trigger { grid-row: 1; }
.business-change__item:nth-child(2) > .business-change__trigger { grid-row: 2; }
.business-change__item:nth-child(3) > .business-change__trigger { grid-row: 3; }
.business-change__item:nth-child(4) > .business-change__trigger { grid-row: 4; }
.business-change__trigger small { color: var(--ink-3); font-size: 11px; }
.business-change__trigger strong { font-size: clamp(19px,1.8vw,25px); font-weight: 500; line-height: 1.16; letter-spacing: -.025em; }
.business-change__trigger > span { color: var(--red); font-size: 18px; opacity: .25; transform: translateX(-5px); transition: opacity 160ms ease, transform 160ms var(--ease-enter); }
.business-change__item.is-current > .business-change__trigger { color: var(--ink); border-color: var(--line); background: #fff; box-shadow: 0 12px 32px rgba(29,29,31,.05); }
.business-change__item.is-current > .business-change__trigger small { color: var(--red); }
.business-change__item.is-current > .business-change__trigger > span { opacity: 1; transform: none; }
.business-change__trigger:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.business-change__trigger:active { transform: scale(.97); }
.business-change__panel { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(230px,.9fr); grid-column: 2; grid-row: 1 / 5; gap: clamp(42px,5vw,76px); min-height: 660px; padding: clamp(38px,5vw,68px); align-self: stretch; border: 1px solid var(--line); border-radius: var(--radius-xl); background: #fff; box-shadow: 0 24px 70px rgba(29,29,31,.055); }
.business-change__panel[hidden] { display: none; }
.business-change__intro { grid-column: 1 / -1; max-width: 820px; }
.business-change__intro > small,
.business-change__result > small { color: var(--red); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.business-change__intro h3 { max-width: 780px; margin-top: 15px; font-size: clamp(42px,5vw,70px); font-weight: 500; line-height: .96; letter-spacing: -.05em; }
.business-change__intro p { max-width: 760px; margin-top: 24px; color: var(--ink-2); font-size: 18px; line-height: 1.62; }
.business-change__actions { align-self: end; }
.business-change__actions h4 { padding-bottom: 14px; border-bottom: 1px solid var(--line-strong); font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.business-change__actions ul { margin-top: 14px; list-style: none; }
.business-change__actions li { position: relative; padding: 8px 0 8px 18px; color: var(--ink-2); line-height: 1.45; }
.business-change__actions li::before { content: '—'; position: absolute; left: 0; color: var(--red); }
.business-change__result { display: flex; align-self: end; padding-top: 24px; flex-direction: column; border-top: 1px solid var(--line-strong); }
.business-change__result p { margin-top: 13px; color: var(--ink); font-size: clamp(18px,1.8vw,24px); line-height: 1.4; }
.business-change__result a { display: inline-flex; margin-top: 28px; align-self: flex-start; align-items: center; gap: 8px; color: var(--red); font-weight: 500; }
.business-change__result a.external-link::after { content: none; }
.business-change__result a span { transition: transform 160ms var(--ease-enter); }
.business-change__result a:active { transform: scale(.97); }
.page-home .work-formats__list article { border-radius: var(--radius-xl); }
.page-home .human-break { border-radius: var(--radius-xl); }
.page-home .home-materials a { border-radius: var(--radius-lg); }
.page-home .site-nav__dropdown { border-radius: var(--radius-md); }

/* Solutions: explicit affordance and a real next action in every panel. */
.solution-explorer__nav button { grid-template-columns: 38px minmax(0,1fr) 20px; border-radius: var(--radius-sm); }
.solution-explorer__nav button i { align-self: center; color: var(--red); font-style: normal; opacity: .28; transform: translateX(-4px); transition: opacity 160ms ease, transform 160ms var(--ease-enter); }
.solution-explorer__nav button[aria-selected='true'] { border-color: var(--line); box-shadow: 0 12px 32px rgba(29,29,31,.05); }
.solution-explorer__nav button[aria-selected='true'] i { opacity: 1; transform: none; }
.solution-explorer__nav button:focus-visible { outline-offset: 2px; background: #fff; }
.solution-explorer__stage figure { border-radius: var(--radius-lg); }
.solution-explorer__stage img { transition: transform 220ms var(--ease-enter); }
.solution-explorer__points { display: flex; max-width: 680px; margin-top: 24px; flex-wrap: wrap; gap: 8px; }
.solution-explorer__points li { padding: 8px 11px; color: var(--ink-2); border: 1px solid var(--line); border-radius: var(--radius-pill); font-size: 13px; }
.solution-explorer__cta { display: inline-flex !important; align-items: center; gap: 7px; }
.solution-explorer__cta > span { transition: transform 160ms var(--ease-enter); }
.solution-explorer__cta.external-link::after { content: none; }
.solution-explorer__cta:active { transform: scale(.97); }

/* Family flagship: equal columns give long Cyrillic words their real width. */
.page-home .family-flagship__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(48px,6vw,88px); }
.page-home .family-flagship h2 { width: 100%; line-height: .9; }
.page-home .family-flagship li { margin-left: 0 !important; padding: clamp(25px,3vw,36px); border-radius: var(--radius-md); }
.page-home .family-flagship ol { grid-auto-rows: minmax(112px,auto); gap: 16px; }

/* Method: three clear controls, one explanation. On mobile the same markup is an accordion. */
.page-home .impact-method { padding-block: clamp(104px,12vw,176px); }
.impact-method__heading { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(40px,8vw,110px); margin-bottom: clamp(54px,8vw,96px); }
.impact-method__heading > p:last-child { max-width: 620px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }
.method-switcher { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); grid-template-rows: repeat(3,auto); gap: 0 clamp(54px,9vw,140px); align-items: stretch; }
.method-switcher__item { display: contents; }
.method-switcher__item > button { display: grid; grid-template-columns: 42px 1fr auto; grid-column: 1; gap: 14px; width: 100%; padding: clamp(22px,3vw,34px) 0; align-items: center; color: var(--ink-2); border: 0; border-top: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.method-switcher__item:last-child > button { border-bottom: 1px solid var(--line); }
.method-switcher__item:nth-child(1) > button { grid-row: 1; }
.method-switcher__item:nth-child(2) > button { grid-row: 2; }
.method-switcher__item:nth-child(3) > button { grid-row: 3; }
.method-switcher__item > button span { color: var(--ink-3); font-size: 11px; }
.method-switcher__item > button strong { font-size: clamp(38px,4.7vw,66px); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.method-switcher__item > button::after { content: '→'; color: var(--red); opacity: 0; transform: translateX(-5px); transition: opacity 160ms ease, transform 160ms var(--ease-enter); }
.method-switcher__item.is-current > button { color: var(--red); }
.method-switcher__item.is-current > button::after { opacity: 1; transform: none; }
.method-switcher__panel { display: flex; grid-column: 2; grid-row: 1 / 4; min-height: 500px; padding: clamp(38px,5vw,66px); align-self: stretch; justify-content: center; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-xl); background: #fff; }
.method-switcher__panel h2 { color: var(--red); font-size: clamp(50px,6.5vw,90px); font-weight: 500; line-height: .92; letter-spacing: -.055em; }
.method-switcher__panel p { max-width: 700px; margin-top: 34px; color: var(--ink-2); font-size: clamp(18px,1.8vw,22px); line-height: 1.65; }
.method-switcher__panel small { margin-top: auto; padding-top: 54px; color: var(--ink); font-size: clamp(22px,2.4vw,32px); }
.method-switcher__item.is-instant .method-switcher__panel { transition: none; }

/* Programs: every row is a real link and explains its role before navigation. */
.page-home .home-programs__list { display: grid; gap: 10px; }
.program-row { display: grid; grid-template-columns: 38px minmax(230px,.75fr) minmax(160px,.55fr) minmax(260px,1fr) 24px; gap: 22px; min-height: 138px; padding: 28px 30px; align-items: center; color: inherit; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; transition: background-color 180ms ease, border-color 180ms ease, transform 160ms var(--ease-enter); }
.program-row > span { color: var(--ink-3); font-size: 11px; }
.program-row small { color: var(--red); font-size: 11px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.program-row h3 { margin-top: 8px; font-size: clamp(24px,2.5vw,34px); font-weight: 500; letter-spacing: -.03em; }
.program-row > b { color: var(--ink); font-size: 14px; font-weight: 500; }
.program-row > p { color: var(--ink-2); line-height: 1.55; }
.program-row > i { color: var(--red); font-size: 20px; font-style: normal; opacity: .55; transition: opacity 160ms ease, transform 160ms var(--ease-enter); }
.program-row:focus-visible { outline-offset: 3px; background: var(--surface); }
.program-row:active { transform: scale(.99); }

/* Regional proof surface: intentionally map-free until verified geography is ready. */
.regional-proof { display: flex; min-width: 0; min-height: 500px; padding: clamp(34px,5vw,64px); justify-content: space-between; flex-direction: column; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-xl); background: rgba(255,255,255,.035); }
.regional-proof > p:first-child { max-width: 620px; color: #fff; font-size: clamp(34px,4vw,56px); font-weight: 500; line-height: 1.08; letter-spacing: -.04em; }
.regional-proof > p:last-child { max-width: 520px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.55; }

/* Founder: one full-bleed rounded media surface, one focused thought. */
.page-home .home-founder__grid { grid-template-columns: minmax(0,1.12fr) minmax(340px,.88fr); gap: clamp(48px,7vw,105px); align-items: stretch; }
.home-founder__media { min-width: 0; }
.page-home .home-founder__image { width: 100%; height: clamp(540px,55vw,760px); overflow: hidden; border-radius: var(--radius-xl); background: var(--surface); }
.page-home .home-founder__image picture,
.page-home .home-founder__image img { width: 100%; height: 100%; }
.page-home .home-founder__image img { object-fit: cover; object-position: 72% center; }
.home-founder__content { display: flex; min-width: 0; padding-block: 30px; justify-content: center; flex-direction: column; }
.page-home .home-founder__content blockquote { order: initial; margin-top: 30px; font-size: clamp(38px,4.6vw,64px); }
.home-founder__name { display: grid; gap: 5px; margin-top: 42px; }
.home-founder__name strong { font-size: 19px; font-weight: 600; }
.home-founder__name span { color: var(--ink-2); font-size: 14px; }
.page-home .home-founder__content > p:last-child { max-width: 620px; margin-top: 34px; color: var(--ink-2); font-size: 18px; line-height: 1.65; }

/* Consistent hover language, only for truly interactive surfaces. */
@media (hover:hover) and (pointer:fine) {
  .business-change__trigger:hover { color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.6); }
  .business-change__trigger:hover > span { opacity: .8; transform: none; }
  .business-change__result a:hover span { transform: translateX(4px); }
  .solution-explorer__nav button:hover { border-color: var(--line); background: #fff; }
  .solution-explorer__nav button:hover i { opacity: 1; transform: none; }
  .solution-explorer__cta:hover > span { transform: translateX(4px); }
  .solution-explorer__stage figure:hover img { transform: scale(1.015); }
  .method-switcher__item > button:hover { color: var(--ink); }
  .method-switcher__item > button:hover::after { opacity: .7; transform: none; }
  .program-row:hover { border-color: var(--line-strong); background: var(--surface-soft); transform: translateY(-2px); }
  .program-row:hover > i { opacity: 1; transform: translateX(4px); }
  .program-row--external:hover > i { transform: translate(2px,-2px); }
}

@media (max-width: 1050px) {
  .business-change__explorer { grid-template-columns: minmax(230px,.62fr) minmax(0,1.38fr); gap-inline: 30px; }
  .business-change__panel { grid-template-columns: 1fr; min-height: 710px; padding: 42px; }
  .business-change__intro,
  .business-change__actions,
  .business-change__result { grid-column: 1; }
  .impact-path__grid,
  .page-home .family-flagship__grid,
  .page-home .home-founder__grid { grid-template-columns: 1fr; }
  .page-home .family-flagship__intro { position: static; }
  .program-row { grid-template-columns: 38px minmax(0,1fr) minmax(180px,.7fr) 24px; }
  .program-row > p { grid-column: 2 / 4; }
  .page-home .home-founder__image { height: min(70vw,720px); }
}

@media (max-width: 760px) {
  .business-change { padding-block: 88px; }
  .business-change__head { margin-bottom: 48px; }
  .business-change__head h2 { font-size: clamp(44px,12vw,54px); }
  .business-change__head > p:last-child { font-size: 17px; }
  .business-change__explorer { display: block; }
  .business-change__item { display: block; border-top: 1px solid var(--line); }
  .business-change__item:last-child { border-bottom: 1px solid var(--line); }
  .business-change__trigger { display: grid; grid-template-columns: 30px minmax(0,1fr) 18px; min-height: 0; padding: 24px 0; border: 0; border-radius: 0; box-shadow: none !important; }
  .business-change__item.is-current > .business-change__trigger { color: var(--red); border: 0; background: transparent; }
  .business-change__trigger strong { font-size: clamp(22px,6.5vw,28px); }
  .business-change__item.is-current > .business-change__trigger > span { transform: rotate(90deg); }
  .business-change__panel { display: grid; grid-template-columns: 1fr; min-height: 0; margin-bottom: 20px; padding: 28px; gap: 36px; border-radius: var(--radius-lg); box-shadow: none; }
  .business-change__intro h3 { font-size: clamp(36px,10vw,46px); }
  .business-change__intro p { font-size: 17px; }
  .business-change__actions,
  .business-change__result { align-self: auto; }
  .impact-path { padding-block: 82px; }
  .impact-path__grid { gap: 48px; }
  .impact-path h2 { font-size: clamp(40px,11vw,50px); }
  .solution-explorer__nav button { grid-template-columns: 1fr 18px; min-width: 205px; }
  .solution-explorer__nav button small { grid-column: 1 / -1; }
  .solution-explorer__points { gap: 6px; }
  .page-home .family-flagship h2 { font-size: clamp(48px,13vw,62px); line-height: .94; }
  .page-home .family-flagship ol { grid-auto-rows: auto; }
  .impact-method__heading { grid-template-columns: 1fr; gap: 22px; }
  .method-switcher { display: block; }
  .method-switcher__item { display: block; border-top: 1px solid var(--line); }
  .method-switcher__item:last-child { border-bottom: 1px solid var(--line); }
  .method-switcher__item > button { display: grid; grid-template-columns: 32px 1fr auto; padding-block: 25px; border: 0; }
  .method-switcher__item > button strong { font-size: clamp(36px,11vw,46px); }
  .method-switcher__panel { min-height: 0; margin-bottom: 20px; padding: 28px; border-radius: var(--radius-lg); }
  .method-switcher__panel h2 { display: none; }
  .method-switcher__panel p { margin-top: 0; font-size: 17px; }
  .method-switcher__panel small { margin-top: 30px; padding-top: 0; font-size: 20px; }
  .program-row { grid-template-columns: 30px minmax(0,1fr) 20px; gap: 13px; padding: 24px 20px; }
  .program-row > div { grid-column: 2; }
  .program-row > b,
  .program-row > p { grid-column: 2 / 4; }
  .program-row > i { grid-column: 3; grid-row: 1; }
  .central-asia__grid { gap: 54px; }
  .regional-proof { min-height: 360px; padding: 28px; border-radius: var(--radius-lg); }
  .regional-proof > p:first-child { font-size: clamp(32px,9.5vw,42px); }
  .page-home .home-founder__image { height: min(116vw,620px); border-radius: var(--radius-lg); }
  .home-founder__content { padding-block: 0; }
  .page-home .home-founder__content blockquote { font-size: clamp(34px,10vw,44px); }
}

@media (max-width: 390px) {
  .page-home .family-flagship h2 { font-size: clamp(44px,12.5vw,52px); }
  .program-row { padding-inline: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .business-change__trigger { transition: none !important; transform: none !important; }
  .business-change__trigger > span,
  .business-change__result a span { transition: none !important; }
  .solution-explorer__nav button i,
  .solution-explorer__stage img,
  .solution-explorer__cta > span,
  .method-switcher__item > button::after,
  .program-row,
  .program-row > i { transition: none !important; transform: none !important; }
}

/* ================================================= Global visual consistency pass */

/* Role-based typography: page names are prominent; section titles never impersonate heroes. */
:where(.page-home, .page-inner) :where(h1, h2, h3, .display-title) {
  max-width: 100%;
  overflow: visible;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

.page-home .home-hero__title { font-size: var(--type-display); line-height: var(--leading-display); }
.page-home main h2 { font-size: var(--type-h2); line-height: var(--leading-heading); }
.page-home main h3 { font-size: var(--type-h3); line-height: 1.12; }
.page-home .business-change__head h2,
.page-home .family-flagship h2,
.page-home .home-programs h2,
.page-home .home-principles h2,
.page-home .central-asia h2,
.page-home .impact-trust h2,
.page-home .home-final h2 { font-size: var(--type-h2); line-height: var(--leading-heading); }
.page-home .business-change__intro h3,
.page-home .program-row h3 { font-size: var(--type-h3); line-height: 1.12; }
.page-home .method-switcher__panel h2 { font-size: var(--type-display); line-height: var(--leading-display); }

.page-inner .display-title,
.page-inner main section > .container > h2,
.page-inner main section > .container > div > h2 { font-size: var(--type-h2); line-height: var(--leading-heading); }

.page-inner .page-hero__title,
.page-inner .product-hero h1,
.page-inner .career-hero h1,
.page-inner .tool-hero h1,
.page-inner .book-hero h1 {
  font-size: var(--type-h1);
  line-height: var(--leading-display);
}

.page-inner .book-hero { min-height: min(720px, 84svh); }
.page-inner .book-hero h1 { margin-top: 44px; font-size: var(--type-h1); }
.page-inner .book-cta h2,
.page-inner .career-cta h2 { font-size: var(--type-h2); line-height: var(--leading-heading); }
.page-inner .business-diagnostic .contact-block { grid-template-columns: 1fr; }
.page-inner .business-diagnostic .contact-block__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-inner .business-diagnostic .contact-block .contact-block__title { font-size: clamp(2rem, 3vw, 2.75rem); }
.page-inner .module-editorial h3,
.page-inner .mentor-programs h3,
.page-inner .career-progression h3,
.page-inner .audience-fork h3 { font-size: var(--type-h3); line-height: 1.12; }
.page-book h1, .page-book h2, .page-book h3 { overflow-wrap: normal; }
[data-reveal='lines'] > span { overflow: visible; }

@media (max-width: 760px) {
  .page-inner .business-diagnostic .contact-block__options { grid-template-columns: 1fr; }
  .page-inner.page-book .book-cta h2 { font-size: 2rem; }
}

/* Give the three format verbs enough measure; every word remains a single visual line. */
.page-home .work-formats__grid {
  grid-template-columns: minmax(470px, .9fr) minmax(0, 1.1fr);
  gap: clamp(44px, 6vw, 84px);
}
.page-home .work-formats h2 { font-size: var(--type-display); line-height: .94; }
.page-home .work-formats h2 span { display: block; white-space: nowrap; }

/* One neutral surface vocabulary across business, product, career and book pages. */
.page-home .work-formats,
.page-home .principles,
.page-home .central-asia,
.page-inner .career-path,
.page-inner .product-program--dark,
.page-inner .tool-hero,
.page-inner .book-quote,
.page-inner .kaizen-block,
.page-inner .business-method,
.page-inner .business-journey,
.page-inner .business-final,
.page-inner .business-solution--finance,
.dark-section { background: var(--color-surface-dark); }

.page-inner .product-online,
.page-inner .product-chain,
.page-inner .mentor-audience,
.page-inner .book-intro,
.page-inner .book-cta,
.page-inner .career-program--work,
.page-inner .career-trust,
.page-inner .business-solution--training { color: var(--ink); background: var(--color-surface-subtle); }

.page-inner .product-chain .eyebrow,
.page-inner .mentor-audience .eyebrow,
.page-inner .book-intro .eyebrow,
.page-inner .book-cta .eyebrow,
.page-inner .career-program--work .eyebrow,
.page-inner .career-trust .eyebrow { color: var(--red); }

.page-inner .product-chain__lead,
.page-inner .mentor-audience__grid li,
.page-inner .book-intro__grid > div:last-child p,
.page-inner .career-program--work .career-program__intro > p:not(.eyebrow),
.page-inner .career-trust__grid li { color: var(--ink-2); }

.page-inner .product-chain ol,
.page-inner .product-chain li,
.page-inner .mentor-audience__grid ul,
.page-inner .mentor-audience__grid li,
.page-inner .career-trust__grid ul,
.page-inner .career-trust__grid li { border-color: var(--line); }

.page-inner .product-chain li span { color: var(--ink-3); }
.page-inner .product-chain li:not(:last-child)::after,
.page-inner .career-program--work .work-skills__label { color: var(--red); }
.page-inner .career-trust__grid strong { color: var(--ink); }
.page-inner .career-program--work .work-skills > ul { border-color: var(--line-strong); }
.page-inner .career-program--work .work-skills > ul li { border-color: var(--line); }
.page-inner .career-program--work .employer-value {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--color-surface-plain);
}

/* Small labels on dark scenes stay neutral; red remains on controls and graphic markers. */
.page-home :where(.work-formats, .principles, .central-asia) .eyebrow,
.page-inner :where(.career-path, .product-program--dark, .tool-hero, .book-quote, .kaizen-block, .business-method, .business-journey, .business-final) .eyebrow,
.page-inner :where(.career-path, .product-program--dark, .tool-hero, .book-quote, .kaizen-block, .business-method, .business-journey, .business-final) :where(li > span, article > span) { color: rgba(255,255,255,.78); }

/* Footer no longer changes theme between homepage and internal pages. */
.site-footer,
.page-home .site-footer,
.page-inner .site-footer { color: var(--ink); background: var(--color-surface-subtle); border-top-color: var(--line); }
.page-home .site-footer { padding: 0; }
.page-home .site-footer__top {
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: var(--space-3xl);
  padding-block: var(--space-5xl) 0;
}
.page-home .site-footer__brand { max-width: none; }
.page-home .site-footer__logo { width: auto; height: 23px; color: var(--brand-graphite); filter: none; }
.page-home .site-footer__tagline { max-width: 260px; margin-top: 18px; font-size: 15px; line-height: 1.6; letter-spacing: normal; }
.page-home .site-footer__contacts { margin-top: 26px; font-size: 14px; line-height: 2; }
.page-home .site-footer__col-title { margin-bottom: 18px; font-size: 13px; font-weight: 600; letter-spacing: normal; text-transform: none; }
.page-home .site-footer__links { gap: 12px; margin-top: 0; }
.page-home .site-footer__links a { font-size: 14.5px; }
.page-home .site-footer__line { margin-top: 56px; padding-block: 24px 30px; font-size: 13px; }
.page-home .site-footer__tagline,
.page-home .site-footer__contacts,
.page-home .site-footer__contacts a,
.page-home .site-footer__links a,
.page-home .site-footer__line,
.page-home .site-footer__line a { color: var(--ink-2); }
.page-home .site-footer__col-title { color: var(--ink); }
.page-home .site-footer__line { border-color: var(--line); }

/* Responsive press feedback is small, fast and consistent. */
.btn:active,
.page-home .btn:active,
.page-inner .btn:active { transform: scale(.97); }

@media (hover:hover) and (pointer:fine) {
  .page-home .site-footer :where(a:hover),
  .page-inner .site-footer :where(a:hover) { color: var(--red); }
}

@media (max-width: 1050px) {
  .page-home .work-formats__grid { grid-template-columns: 1fr; }
  .page-home .work-formats__grid > div:first-child { position: static; }
  .page-home .site-footer__top { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
  .page-home .site-footer__brand { grid-column: auto; grid-row: auto; }
}

@media (max-width: 760px) {
  .page-inner .display-title,
  .page-inner main section > .container > h2,
  .page-inner main section > .container > div > h2 { font-size: clamp(2.125rem, 9.5vw, 2.75rem); }
  .page-inner .page-hero__title,
  .page-inner .product-hero h1,
  .page-inner .career-hero h1,
  .page-inner .tool-hero h1,
  .page-inner .book-hero h1 { font-size: clamp(2.25rem, 10vw, 3.25rem); }
  .page-home .work-formats h2 { font-size: clamp(3rem, 14vw, 4rem); }
  .page-home .site-footer__top { grid-template-columns: 1fr 1fr; gap: 48px 24px; }
  .page-home .site-footer__brand { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .site-header,
  .site-header__logo-svg { transition: none !important; }
  .btn:active { transform: none !important; }
}

.mentor-programs__media {
  margin: 0 0 32px;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  border-radius: var(--radius-lg);
  background: var(--color-surface-subtle);
}
.mentor-programs__media picture,
.mentor-programs__media img { display: block; width: 100%; height: 100%; }
.mentor-programs__media img { object-fit: cover; }

@media (max-width: 760px) {
  .mentor-programs__media { margin-bottom: 24px; border-radius: var(--radius-md); }
}

/* One video-hero system for home, business and career. The header is a true
   overlay: dark transparent glass at the top, light glass only after scroll. */
.site-header--over-media:not(.is-scrolled):not(.is-open) {
  background-color: rgba(8, 12, 16, .12);
  border-bottom-color: rgba(255, 255, 255, .14);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .04);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
}
.site-header--over-media,
.site-header--over-media .site-header__logo-svg,
.site-header--over-media :where(.site-nav__link, .site-nav__trigger),
.site-header--over-media .burger,
.site-header--over-media .burger__bar {
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.has-media-hero .site-header--over-media:not(.is-scrolled):not(.is-open) .site-header__logo-svg { color: #fff; }
.has-media-hero .site-header--over-media:not(.is-scrolled):not(.is-open) :where(.site-nav__link, .site-nav__trigger) { color: rgba(255, 255, 255, .82); }
.has-media-hero .site-header--over-media:not(.is-scrolled):not(.is-open) :where(.site-nav__link:hover, .site-nav__trigger:hover, .site-nav__link[aria-current='page'], .site-nav__link.is-active, .site-nav__trigger.is-active) { color: #fff; }
.has-media-hero .site-header--over-media:not(.is-scrolled):not(.is-open) .burger {
  border: 1px solid rgba(255, 255, 255, .18);
  background-color: rgba(255, 255, 255, .1);
  backdrop-filter: blur(12px) saturate(1.4);
  -webkit-backdrop-filter: blur(12px) saturate(1.4);
}
.has-media-hero .site-header--over-media:not(.is-scrolled):not(.is-open) .burger__bar { background-color: #fff; }
.site-header--over-media.is-scrolled,
.site-header--over-media.is-open {
  background-color: rgba(255, 255, 255, .72);
  border-bottom-color: rgba(29, 29, 31, .12);
  box-shadow: 0 8px 30px rgba(16, 24, 32, .06);
  backdrop-filter: blur(20px) saturate(1.6);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
}
.site-header--over-media.is-open { background-color: rgba(255, 255, 255, .86); }
.site-header--over-media:is(.is-scrolled, .is-open) .site-header__logo-svg { color: var(--brand-graphite); }
.site-header--over-media:is(.is-scrolled, .is-open) :where(.site-nav__link, .site-nav__trigger) { color: var(--ink-2); }
.site-header--over-media:is(.is-scrolled, .is-open) :where(.site-nav__link:hover, .site-nav__trigger:hover) { color: var(--red); }
.site-header--over-media:is(.is-scrolled, .is-open) :where(.site-nav__link[aria-current='page'], .site-nav__link.is-active, .site-nav__trigger.is-active) { color: var(--ink); }
.site-header--over-media:is(.is-scrolled, .is-open) .burger { border-color: transparent; background-color: var(--surface); }
.site-header--over-media:is(.is-scrolled, .is-open) .burger__bar { background-color: var(--ink); }

.video-hero .hero__scrim,
.page-home .video-hero .hero__scrim {
  background:
    linear-gradient(90deg, rgba(14, 16, 17, .82) 0%, rgba(14, 16, 17, .54) 46%, rgba(14, 16, 17, .1) 78%),
    linear-gradient(0deg, rgba(14, 16, 17, .62) 0%, transparent 56%),
    linear-gradient(180deg, rgba(14, 16, 17, .2) 0%, transparent 22%);
}
.direction-video-hero .hero__inner {
  width: min(100% - (var(--gutter-desktop) * 2), var(--container));
  padding-right: 0;
  padding-left: 0;
}
.direction-video-hero .hero__content { width: min(100%, 1000px); max-width: 1000px; }
.direction-video-hero .hero__title {
  max-width: 1000px;
  font-size: clamp(3.75rem, 4.75vw, 4.35rem);
  font-weight: var(--font-weight-medium);
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
.direction-video-hero .hero__title > span { overflow: visible; white-space: normal; }
.direction-video-hero .hero__lead { max-width: 720px; }
.video-hero__breadcrumbs { margin-bottom: clamp(28px, 4vh, 44px); }
.video-hero .breadcrumbs,
.video-hero .breadcrumbs a { color: rgba(255, 255, 255, .74); }
.video-hero .breadcrumbs a:hover { color: #fff; }

@media (max-width: 1050px) {
  .direction-video-hero .hero__inner { width: min(100% - (var(--gutter-tablet) * 2), var(--container)); }
}

@media (max-width: 760px) {
  .direction-video-hero .hero__inner { width: min(100% - (var(--gutter-mobile) * 2), var(--container)); }
  .direction-video-hero .hero__title { max-width: 390px; font-size: clamp(2.35rem, 10.2vw, 3.15rem); line-height: .98; }
  .direction-video-hero--career .hero__title { font-size: clamp(2.12rem, 9vw, 2.42rem); }
  .direction-video-hero .hero__lead { max-width: 390px; }
  .video-hero__breadcrumbs { margin-bottom: 24px; }
  .video-hero .hero__scrim,
  .page-home .video-hero .hero__scrim {
    background:
      linear-gradient(0deg, rgba(12, 14, 15, .86) 0%, rgba(12, 14, 15, .52) 62%, rgba(12, 14, 15, .18) 100%),
      linear-gradient(90deg, rgba(12, 14, 15, .34), transparent 78%);
  }
}

/* ================================================= Homepage targeted clarity pass: directions, materials, articles */

.page-home .home-directions--static,
.page-home .home-materials--compact,
.page-home .home-blog--editorial { padding-block: var(--space-5xl); }

.page-home .home-directions--static { background: var(--color-surface-accent-light); }
.page-home .home-directions--static > .container > header { max-width: 880px; margin-bottom: var(--space-4xl); }
.page-home .home-directions--static h2,
.page-home .home-blog--editorial h2 { margin-top: var(--space-xl); font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: .98; letter-spacing: -.05em; }
.page-home .home-directions--static > .container > header > p:last-child { max-width: 680px; margin-top: var(--space-xl); color: var(--ink-2); font-size: var(--type-body-lg); line-height: var(--leading-body); }
.direction-fork-static { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); }
.direction-card-static { display: flex; min-width: 0; padding: var(--space-2xl); flex-direction: column; color: inherit; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; text-decoration: none; transition: transform 180ms var(--ease-enter), border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.direction-card-static--career { background: rgba(255, 255, 255, .64); }
.page-home .direction-card-static__head h3 { font-size: clamp(2.5rem, 4vw, 4rem); line-height: .96; letter-spacing: -.05em; transition: color 180ms ease; }
.direction-card-static__head p { max-width: 560px; min-height: 3.2em; margin-top: var(--space-lg); color: var(--ink-2); font-size: var(--type-body); line-height: 1.6; }
.direction-card-static ul { margin-top: var(--space-xl); list-style: none; border-top: 1px solid var(--line); }
.direction-card-static li { padding-block: var(--space-sm); color: var(--ink-2); border-bottom: 1px solid var(--line); font-size: var(--type-body); line-height: 1.45; }
.direction-card-static footer { display: flex; margin-top: var(--space-xl); justify-content: space-between; color: var(--red); font-weight: var(--font-weight-medium); }
.direction-card-static footer i { font-style: normal; transition: transform 180ms var(--ease-enter); }

.page-home .home-materials--compact { background: var(--color-bg-primary); }
.page-home .home-materials--compact > .container > header { display: flex; margin-bottom: var(--space-4xl); justify-content: space-between; gap: var(--space-2xl); align-items: end; }
.page-home .home-materials--compact header .eyebrow { margin-bottom: var(--space-lg); }
.page-home .home-materials--compact header h2 { font-size: clamp(2.75rem, 5vw, 4.5rem); line-height: .98; }
.page-home .home-materials--compact header > .link-arrow { display: inline-flex; min-height: 44px; padding: 0; align-items: center; flex-direction: row; gap: var(--space-sm); color: var(--ink); border: 0; border-radius: 0; background: transparent; box-shadow: none; white-space: nowrap; }
.page-home .home-materials--compact > .container > .home-materials__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(320px, 2fr); gap: var(--space-xl); margin: 0; }
.home-materials__stack { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); }
.page-home .home-materials--compact a.material-card { display: flex; min-height: 0; padding: var(--space-2xl); justify-content: flex-start; flex-direction: column; color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--color-surface-subtle); text-decoration: none; transition: transform 180ms var(--ease-enter), border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.page-home .home-materials--compact a.material-card--featured { grid-row: auto; padding: var(--space-2xl); background: var(--color-surface-dark); color: #fff; }
.page-home .home-materials--compact a.material-card--scbm { background: #fff; }
.page-home .home-materials--compact .material-card > span { color: var(--red); font-size: var(--type-metadata); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: .07em; }
.page-home .home-materials--compact .material-card h3 { max-width: 16ch; margin: var(--space-xl) 0 var(--space-lg); color: inherit; font-size: clamp(1.75rem, 2.8vw, 3rem); line-height: 1.02; letter-spacing: -.045em; transition: color 180ms ease; }
.page-home .home-materials--compact .material-card:not(.material-card--featured) h3 { margin-top: var(--space-lg); font-size: clamp(1.5rem, 2.15vw, 2.25rem); }
.page-home .home-materials--compact .material-card p { max-width: 58ch; margin: 0; padding: 0; color: var(--ink-2); border: 0; font-size: var(--type-body); line-height: 1.55; }
.page-home .home-materials--compact .material-card--featured p { color: rgba(255, 255, 255, .7); }
.page-home .home-materials--compact .material-card footer { display: flex; margin-top: auto; padding-top: var(--space-xl); justify-content: space-between; color: var(--red); font-size: var(--type-small); font-weight: var(--font-weight-semibold); }
.page-home .home-materials--compact .material-card footer i { font-style: normal; transition: transform 180ms var(--ease-enter); }
.page-home .home-materials--compact .home-materials__stack a.material-card { grid-row: auto; padding: var(--space-md) var(--space-xl); }
.page-home .home-materials--compact .home-materials__stack a.material-card h3 { margin: var(--space-md) 0 var(--space-sm); font-size: clamp(1.5rem, 1.9vw, 2rem); }
.page-home .home-materials--compact .home-materials__stack a.material-card p { color: var(--ink-2); line-height: 1.45; }
.page-home .home-materials--compact .home-materials__stack a.material-card footer { padding-top: var(--space-md); }

.page-home .home-blog--editorial { background: var(--color-bg-secondary); }
.page-home .home-blog--editorial > .container > header { display: flex; margin-bottom: var(--space-4xl); justify-content: space-between; gap: var(--space-2xl); align-items: end; }
.page-home .home-blog--editorial h2 { max-width: 820px; margin: 0; }
.page-home .home-blog--editorial header > .link-arrow { display: inline-flex; min-height: 44px; align-items: center; }
.page-home .home-blog--editorial > .container > .home-blog__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); margin: 0; border: 0; }
.page-home .home-blog--editorial .article-card { display: grid; grid-template-columns: var(--space-2xl) minmax(0, 1fr) var(--space-xl); gap: var(--space-lg); min-height: 280px; padding: var(--space-2xl); color: inherit; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; text-decoration: none; transition: transform 180ms var(--ease-enter), border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.article-card__number { color: var(--red); font-size: var(--type-metadata); }
.page-home .home-blog--editorial .article-card small { display: block; color: var(--red); font-size: var(--type-metadata); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: .06em; }
.page-home .home-blog--editorial .article-card h3 { max-width: 24ch; margin-top: var(--space-lg); font-size: clamp(1.5rem, 2.25vw, 2.25rem); line-height: 1.08; letter-spacing: -.035em; transition: color 180ms ease; }
.page-home .home-blog--editorial .article-card p { max-width: 58ch; margin-top: var(--space-lg); color: var(--ink-2); line-height: 1.55; }
.page-home .home-blog--editorial .article-card > i { align-self: end; color: var(--red); font-style: normal; transition: transform 180ms var(--ease-enter); }

.page-home :where(.direction-card-static, .material-card, .article-card):focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.page-home :where(.direction-card-static, .material-card, .article-card):active { transform: scale(.99); }

@media (hover: hover) and (pointer: fine) {
  .page-home :where(.direction-card-static, .material-card, .article-card):hover { transform: translateY(-3px); border-color: var(--line-strong); box-shadow: 0 18px 44px rgba(29, 29, 31, .07); }
  .page-home :where(.direction-card-static, .material-card, .article-card):hover h3 { color: var(--red); }
  .page-home :where(.direction-card-static, .material-card, .article-card):hover footer i,
  .page-home .article-card:hover > i { transform: translateX(4px); }
  .page-home .material-card--featured:hover h3 { color: #fff; }
}

@media (max-width: 760px) {
  .page-home .home-directions--static,
  .page-home .home-materials--compact,
  .page-home .home-blog--editorial { padding-block: var(--space-4xl); }
  .page-home .home-directions--static > .container > header,
  .page-home .home-materials--compact > .container > header,
  .page-home .home-blog--editorial > .container > header { margin-bottom: var(--space-3xl); }
  .page-home .home-materials--compact > .container > header,
  .page-home .home-blog--editorial > .container > header { align-items: flex-start; flex-direction: column; }
  .direction-fork-static,
  .page-home .home-materials--compact > .container > .home-materials__grid,
  .page-home .home-blog--editorial > .container > .home-blog__grid { grid-template-columns: 1fr; }
  .direction-card-static,
  .page-home .home-materials--compact .material-card,
  .page-home .home-materials--compact .material-card--featured,
  .page-home .home-blog--editorial .article-card { padding: var(--space-xl); }
  .direction-card-static__head p { min-height: 0; }
  .home-materials__stack { grid-template-rows: auto; }
  .page-home .home-blog--editorial .article-card { grid-template-columns: var(--space-xl) minmax(0, 1fr); min-height: 0; }
  .page-home .home-blog--editorial .article-card > i { grid-column: 2; margin-top: var(--space-lg); }
}

@media (prefers-reduced-motion: reduce) {
  .page-home :where(.direction-card-static, .material-card, .article-card),
  .page-home :where(.direction-card-static, .material-card, .article-card) :where(h3, i) { transition: none; transform: none; }
}

/* Editorial homepage sections and the shared final CTA. */
.page-home .impact-trust--editorial {
  padding-block: var(--space-5xl);
  background: var(--color-bg-primary);
}
.page-home .impact-trust--editorial .impact-trust__grid {
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  gap: var(--space-4xl);
  align-items: start;
}
.page-home .impact-trust--editorial .impact-trust__intro {
  display: block;
  min-width: 0;
  margin: 0;
}
.page-home .impact-trust--editorial .impact-trust__intro h2 {
  max-width: 11ch;
  margin-top: var(--space-xl);
  font-size: clamp(2.75rem, 5vw, 4.25rem);
  font-weight: var(--font-weight-medium);
  line-height: .98;
  letter-spacing: -.07em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.page-home .impact-trust--editorial .impact-trust__intro > p:last-child {
  max-width: 38rem;
  margin-top: var(--space-xl);
  color: var(--ink-2);
  font-size: 1.125rem;
  line-height: 1.6;
}
.page-home .impact-trust--editorial .impact-proof-list {
  margin: 0;
  border-top: 1px solid var(--line-strong);
}
.page-home .impact-trust--editorial .impact-proof-list li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-lg);
  padding-block: var(--space-xl);
  border-bottom: 1px solid var(--line);
}
.page-home .impact-trust--editorial .impact-proof-list li > span {
  color: var(--red);
  font-size: var(--type-metadata);
  font-weight: var(--font-weight-semibold);
}
.page-home .impact-trust--editorial .impact-proof-list h3 {
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.12;
  letter-spacing: -.03em;
}
.page-home .impact-trust--editorial .impact-proof-list p {
  max-width: 42rem;
  margin-top: var(--space-md);
  color: var(--ink-2);
  font-size: 1rem;
  line-height: 1.55;
}

.page-home .central-asia--compact {
  min-height: 0;
  padding-block: var(--space-5xl);
  color: #fff;
  background: #111;
}
.page-home .central-asia--compact .central-asia__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr);
  gap: var(--space-4xl);
  align-items: center;
}
.page-home .central-asia--compact h2 {
  max-width: 12ch;
  margin-top: var(--space-xl);
  color: #fff;
  font-size: clamp(2.5rem, 4.8vw, 4.25rem);
  font-weight: var(--font-weight-medium);
  line-height: .98;
  letter-spacing: -.05em;
}
.page-home .central-asia--compact .central-asia__grid > div:first-child > p:not(.eyebrow) {
  max-width: 43rem;
  margin-top: var(--space-xl);
  color: rgba(255,255,255,.68);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.page-home .central-asia--compact ul { margin-top: var(--space-xl); gap: var(--space-sm); }
.page-home .central-asia--compact li {
  padding: .625rem .875rem;
  color: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.04);
  font-size: var(--type-small);
}
.regional-card {
  display: flex;
  min-height: 24rem;
  padding: var(--space-2xl);
  justify-content: space-between;
  flex-direction: column;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: var(--radius-lg);
  background: #171717;
  box-shadow: 0 24px 80px rgba(0,0,0,.2);
}
.regional-card > p {
  color: #fff;
  font-size: clamp(1.75rem, 2.7vw, 2.625rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.regional-card > p span { color: rgba(255,255,255,.55); }
.regional-card > div {
  display: flex;
  padding-block: var(--space-xl);
  flex-direction: column;
  border-top: 1px solid rgba(255,255,255,.13);
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.regional-card > div strong { color: #fff; font-size: 1.25rem; }
.regional-card > div span,
.regional-card > small { color: rgba(255,255,255,.58); line-height: 1.5; }
.regional-card > small::before { content: ''; display: inline-block; width: .5rem; height: .5rem; margin-right: .75rem; border-radius: 50%; background: var(--red); }

.page-home .founder-editorial { padding-block: var(--space-5xl); background: var(--color-bg-primary); }
.founder-editorial__grid {
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: var(--color-surface-subtle);
}
.founder-editorial__media,
.founder-editorial__media picture { min-height: 100%; }
.founder-editorial__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 40rem;
  object-fit: cover;
  object-position: 66% center;
}
.founder-editorial__content {
  display: flex;
  min-width: 0;
  padding: clamp(2.5rem, 5vw, 4rem);
  justify-content: center;
  flex-direction: column;
}
.page-home .founder-editorial__content blockquote {
  order: initial;
  max-width: 13ch;
  margin: var(--space-xl) 0;
  padding: 0;
  color: var(--ink);
  border: 0;
  font-size: clamp(2.5rem, 4.5vw, 4rem);
  line-height: 1;
  letter-spacing: -.05em;
}
.founder-editorial__content > p:not(.eyebrow) {
  max-width: 38rem;
  margin-top: var(--space-md);
  color: var(--ink-2);
  font-size: 1rem;
  line-height: 1.6;
}
.founder-editorial__content footer {
  display: flex;
  margin-top: var(--space-2xl);
  padding-top: var(--space-xl);
  flex-direction: column;
  border-top: 1px solid var(--line);
}
.founder-editorial__content footer strong { font-size: 1.125rem; }
.founder-editorial__content footer span { margin-top: .25rem; color: var(--ink-2); font-size: var(--type-small); }

.site-cta { padding: var(--space-5xl) var(--space-xl); background: var(--color-bg-primary); scroll-margin-top: calc(var(--header-h) + 24px); }
.site-cta > .container { max-width: 1280px; padding-inline: 0; }
.site-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(25rem, 1.08fr);
  grid-template-areas: "copy form" "secondary form";
  gap: var(--space-2xl) var(--space-4xl);
  align-items: start;
  padding: clamp(2.5rem, 5vw, 4.5rem);
  border-radius: var(--radius-xl);
  background: #f5f5f7;
}
.site-cta__copy { grid-area: copy; align-self: end; }
.site-cta__copy h2 {
  max-width: 15ch;
  margin-top: var(--space-lg);
  font-size: clamp(2.5rem, 4vw, 3.75rem);
  font-weight: var(--font-weight-medium);
  line-height: 1;
  letter-spacing: -.05em;
}
.site-cta__copy > p:last-child {
  max-width: 37.5rem;
  margin-top: var(--space-xl);
  color: var(--ink-2);
  font-size: 1.0625rem;
  line-height: 1.6;
}
.site-cta__form-card {
  grid-area: form;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 1.75rem;
  background: #fff;
  box-shadow: 0 18px 50px rgba(29,29,31,.07);
}
.site-cta__secondary { grid-area: secondary; align-self: start; }
.site-cta__secondary > p { margin-bottom: 12px; color: var(--ink-2); font-size: var(--type-small); }

.contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.contact-actions__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .2rem .75rem;
  min-height: 82px;
  padding: 16px;
  color: var(--ink);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
  background: rgba(255,255,255,.72);
  text-decoration: none;
  transition: transform 240ms ease-out, border-color 240ms ease-out, box-shadow 240ms ease-out;
}
.contact-actions__item span { color: var(--ink-2); font-size: 12px; }
.contact-actions__item strong { grid-column: 1; min-width: 0; overflow-wrap: anywhere; align-self: end; font-size: 15px; }
.contact-actions__item i { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--red); font-style: normal; transition: transform 240ms ease-out; }
.contact-actions__item:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.contact-actions__item:active { transform: scale(.99); }

.lead-form { position: relative; }
.lead-form__header h3 { font-size: clamp(24px, 3vw, 30px); font-weight: 600; letter-spacing: -.025em; }
.lead-form__header p { margin-top: 8px; color: var(--ink-2); font-size: 14px; line-height: 1.5; }
.lead-form__fields { display: grid; gap: 14px; margin-top: 24px; }
.lead-form__field { display: grid; }
.lead-form__field label { margin-bottom: 7px; color: var(--ink); font-size: 13px; font-weight: 600; }
.lead-form__field label span { color: var(--ink-3); font-weight: 400; }
.lead-form__field input,
.lead-form__field textarea {
  width: 100%;
  min-height: 54px;
  padding: 14px 16px;
  color: var(--ink);
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 14px;
  outline: none;
  background: #fff;
  font: inherit;
  font-size: 16px;
  line-height: 1.35;
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.lead-form__field textarea { min-height: 104px; resize: vertical; }
.lead-form__field input::placeholder { color: #77777c; }
.lead-form__field input:hover,
.lead-form__field textarea:hover { border-color: rgba(0,0,0,.3); }
.lead-form__field input:focus,
.lead-form__field textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(198,0,0,.12); }
.lead-form__field input[aria-invalid="true"],
.lead-form__field textarea[aria-invalid="true"] { border-color: var(--red); background: rgba(198,0,0,.025); }
.lead-form__field-error { color: var(--red); font-size: 12px; line-height: 1.35; }
.lead-form__field-error:not(:empty) { margin-top: 6px; }
.lead-form__submit {
  display: inline-flex;
  width: 100%;
  min-height: 56px;
  padding: 0 20px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #fff;
  border: 0;
  border-radius: 14px;
  background: var(--red);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.lead-form__submit:focus-visible { outline: 3px solid rgba(198,0,0,.24); outline-offset: 3px; }
.lead-form__submit:active { transform: scale(.99); }
.lead-form__submit[disabled] { cursor: wait; opacity: .68; }
.lead-form__note { color: var(--ink-3); font-size: 11.5px; line-height: 1.45; }
.lead-form__status { min-height: 0; color: var(--ink-2); font-size: 13px; line-height: 1.45; }
.lead-form__status:not(:empty) { margin-top: 14px; }
.lead-form__status.is-error { color: var(--red); }
.lead-form__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lead-form__success { padding-block: 30px 18px; text-align: center; }
.lead-form__success-mark { display: grid; width: 48px; height: 48px; margin: 0 auto 18px; place-items: center; color: #fff; border-radius: 50%; background: var(--red); font-size: 23px; }
.lead-form__success h3 { font-size: 26px; letter-spacing: -.025em; }
.lead-form__success p { max-width: 30ch; margin: 8px auto 0; color: var(--ink-2); line-height: 1.5; }

@media (hover: hover) and (pointer: fine) {
  .contact-actions__item:hover { transform: translateY(-2px); border-color: rgba(198,0,0,.22); box-shadow: 0 10px 24px rgba(29,29,31,.07); }
  .contact-actions__item:hover i { transform: translate(2px,-2px); }
  .lead-form__submit:hover { background: var(--red-deep); }
}

@media (max-width: 900px) {
  .page-home .impact-trust--editorial .impact-trust__grid,
  .page-home .central-asia--compact .central-asia__grid,
  .founder-editorial__grid,
  .site-cta__inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "form" "secondary"; }
  .page-home .impact-trust--editorial .impact-trust__grid,
  .page-home .central-asia--compact .central-asia__grid,
  .site-cta__inner { gap: var(--space-3xl); }
  .founder-editorial__media { order: -1; }
  .founder-editorial__media img { min-height: 0; aspect-ratio: 16 / 11; }
}

@media (max-width: 600px) {
  .page-home .impact-trust--editorial,
  .page-home .central-asia--compact,
  .page-home .founder-editorial { padding-block: var(--space-4xl); }
  .page-home .impact-trust--editorial .impact-trust__intro h2,
  .page-home .central-asia--compact h2 { font-size: clamp(2.375rem, 11vw, 3rem); }
  .page-home .impact-trust--editorial .impact-proof-list li { grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-md); padding-block: var(--space-xl); }
  .page-home .central-asia--compact .central-asia__grid { grid-template-columns: minmax(0, 1fr); }
  .regional-card { min-height: 20rem; padding: var(--space-xl); }
  .founder-editorial__grid { border-radius: var(--radius-lg); }
  .founder-editorial__content { padding: var(--space-xl); }
  .page-home .founder-editorial__content blockquote { font-size: clamp(2.25rem, 10.5vw, 2.75rem); }
  .site-cta { padding: var(--space-4xl) var(--space-lg); }
  .site-cta__inner { gap: var(--space-2xl); padding: var(--space-xl); border-radius: var(--radius-lg); }
  .site-cta__copy h2 { font-size: clamp(2.25rem, 10vw, 2.75rem); }
  .site-cta__form-card { padding: var(--space-lg); border-radius: var(--radius-md); }
  .contact-actions__item { padding: 14px; }
  .contact-actions__item strong { font-size: 13.5px; }
}

@media (max-width: 360px) {
  .contact-actions { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .contact-actions__item,
  .contact-actions__item i,
  .lead-form__submit { transition: none; transform: none; }
}

/* Homepage editorial correction: natural type sizing and equal content weight. */
.page-home .impact-trust--editorial .impact-trust__grid {
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  gap: clamp(3rem, 4.5vw, 4rem);
}
.page-home .impact-trust--editorial .impact-trust__intro {
  min-width: 0;
  overflow: visible;
}
.page-home .impact-trust--editorial .impact-trust__intro h2 {
  width: auto;
  max-width: 35rem;
  overflow: visible;
  font-size: clamp(2.75rem, 4.5vw, 3.9375rem);
  line-height: 1;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
.page-home .impact-trust--editorial .impact-trust__intro h2 span { display: block; }

.page-home .founder-editorial > .container {
  max-width: none;
  padding-inline: clamp(var(--gutter-mobile), 4vw, 5rem);
}
.page-home .founder-editorial .founder-editorial__grid {
  overflow: visible;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(3.5rem, 5vw, 4.5rem);
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.page-home .founder-editorial__media { min-width: 0; overflow: hidden; border-radius: var(--radius-xl); background: var(--color-surface-subtle); }
.page-home .founder-editorial__media img {
  height: clamp(35rem, 48vw, 43rem);
  min-height: 0;
  object-position: 65% center;
}
.page-home .founder-editorial__content { min-width: 0; padding: 0; overflow: visible; }
.page-home .founder-editorial__content h2 {
  order: initial;
  width: 100%;
  min-width: min(32.5rem, 100%);
  max-width: 10ch;
  margin-top: var(--space-xl);
  font-size: clamp(2.875rem, 4.7vw, 4.125rem);
  font-weight: var(--font-weight-medium);
  line-height: 1;
  letter-spacing: -.05em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
  color: var(--ink);
}
.page-home .founder-editorial__content > .founder-editorial__subtitle {
  margin-top: var(--space-xl);
  color: var(--red);
  font-size: clamp(1.375rem, 2vw, 1.75rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.25;
  letter-spacing: -.025em;
}
.page-home .founder-editorial__content > p:not(.eyebrow, .founder-editorial__subtitle) { max-width: 36rem; margin-top: var(--space-lg); }
.page-home .founder-editorial__content footer { margin-top: var(--space-2xl); }

.page-home .home-materials--equal { padding-block: var(--space-5xl); background: var(--color-bg-primary); }
.page-home .home-materials--equal > .container > header {
  display: flex;
  margin-bottom: var(--space-4xl);
  justify-content: space-between;
  gap: var(--space-2xl);
  align-items: end;
}
.page-home .home-materials--equal header .eyebrow { margin-bottom: var(--space-lg); }
.page-home .home-materials--equal header h2 { font-size: clamp(2.75rem, 4.8vw, 4.25rem); line-height: .98; }
.page-home .home-materials--equal header div > p:last-child { margin-top: var(--space-lg); color: var(--ink-2); font-size: 1.125rem; }
.page-home .home-materials--equal header > .link-arrow {
  display: inline-flex;
  min-height: 44px;
  min-width: 0;
  padding: 0;
  align-items: center;
  flex-direction: row;
  gap: var(--space-sm);
  color: var(--ink);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  white-space: nowrap;
}
.page-home .home-materials--equal > .container > .home-materials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xl);
  margin: 0;
}
.page-home .home-materials--equal a.material-card {
  display: flex;
  min-height: 28rem;
  padding: var(--space-2xl);
  flex-direction: column;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  text-decoration: none;
  transition: transform 220ms var(--ease-enter), border-color 220ms ease, box-shadow 220ms ease;
}
.page-home .home-materials--equal a.material-card:first-child {
  grid-row: auto;
  grid-column: auto;
  min-height: 28rem;
  color: var(--ink);
  border-color: var(--line);
  background: #fff;
}
.page-home .home-materials--equal a.material-card:first-child p { color: var(--ink-2); }
.page-home .home-materials--equal .material-card > span { color: var(--red); font-size: var(--type-metadata); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: .07em; }
.page-home .home-materials--equal .material-card h3 { max-width: 16ch; margin: var(--space-xl) 0 var(--space-lg); font-size: clamp(1.75rem, 2.3vw, 2.35rem); line-height: 1.04; letter-spacing: -.04em; }
.page-home .home-materials--equal .material-card p { color: var(--ink-2); line-height: 1.58; }
.page-home .home-materials--equal .material-card footer { display: flex; margin-top: auto; padding-top: var(--space-xl); justify-content: space-between; color: var(--red); font-size: var(--type-small); font-weight: var(--font-weight-semibold); }
.page-home .home-materials--equal .material-card footer i { font-style: normal; transition: transform 220ms var(--ease-enter); }
.page-home .home-materials--equal .material-card:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.page-home .home-materials--equal .material-card:active { transform: scale(.99); }

/* Blog archive and reusable editorial article pages. */
.blog-archive { padding-block: var(--space-5xl); background: var(--color-bg-secondary); }
.blog-archive > .container > header { margin-bottom: var(--space-4xl); }
.blog-archive h2,
.related-articles h2 { max-width: 15ch; margin-top: var(--space-lg); font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1; letter-spacing: -.05em; }
.blog-archive__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); }
.blog-card,
.related-articles__grid > a {
  display: flex;
  min-height: 23rem;
  padding: var(--space-2xl);
  flex-direction: column;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  text-decoration: none;
  transition: transform 220ms var(--ease-enter), border-color 220ms ease, box-shadow 220ms ease;
}
.blog-card > span,
.related-articles__grid > a > span { color: var(--red); font-size: var(--type-metadata); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: .07em; }
.blog-card h3,
.related-articles__grid h3 { max-width: 20ch; margin-top: var(--space-xl); font-size: clamp(1.75rem, 2.6vw, 2.5rem); line-height: 1.05; letter-spacing: -.04em; }
.blog-card p,
.related-articles__grid p { max-width: 38rem; margin-top: var(--space-lg); color: var(--ink-2); line-height: 1.58; }
.blog-card footer,
.related-articles__grid footer { display: flex; margin-top: auto; padding-top: var(--space-xl); justify-content: space-between; color: var(--red); font-size: var(--type-small); font-weight: var(--font-weight-semibold); }
.blog-card footer i,
.related-articles__grid footer i { font-style: normal; transition: transform 220ms var(--ease-enter); }
.blog-card:focus-visible,
.related-articles__grid > a:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.blog-card:active,
.related-articles__grid > a:active { transform: scale(.99); }

.page-article .page-hero { padding-bottom: var(--space-4xl); }
.page-article .page-hero__title { max-width: 18ch; font-size: clamp(3rem, 6vw, 5rem); overflow-wrap: normal; word-break: normal; hyphens: none; }
.page-article .page-hero__lead { max-width: 48rem; }
.article-body { padding-block: var(--space-4xl) var(--space-5xl); }
.article-body__content { width: min(100%, 47.5rem); margin-inline: auto; }
.article-body__content > section + section { margin-top: var(--space-3xl); }
.article-body h2 { margin-bottom: var(--space-xl); font-size: clamp(2rem, 3.3vw, 2.5rem); line-height: 1.08; letter-spacing: -.035em; }
.article-body h3 { margin-top: var(--space-2xl); font-size: clamp(1.5rem, 2.5vw, 1.875rem); line-height: 1.15; }
.article-body p,
.article-body li { color: var(--ink-2); font-size: clamp(1.125rem, 1.5vw, 1.25rem); line-height: 1.7; }
.article-body p + p { margin-top: var(--space-xl); }
.article-body ul { display: grid; gap: var(--space-md); margin-top: var(--space-xl); padding-left: 1.4em; }
.article-body li::marker { color: var(--red); }
.article-body__conclusion { margin-top: var(--space-4xl); padding: var(--space-2xl); border-radius: var(--radius-lg); background: var(--color-surface-subtle); }
.article-body__conclusion h2 { margin-bottom: var(--space-lg); }
.related-articles { padding-block: var(--space-5xl); background: var(--color-bg-secondary); }
.related-articles > .container > header { margin-bottom: var(--space-4xl); }
.related-articles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xl); }
.related-articles__grid > a { min-height: 22rem; padding: var(--space-xl); }
.related-articles__grid h3 { font-size: clamp(1.5rem, 2.1vw, 2rem); }

@media (hover: hover) and (pointer: fine) {
  .page-home .home-materials--equal .material-card:hover,
  .blog-card:hover,
  .related-articles__grid > a:hover { transform: translateY(-2px); border-color: var(--line-strong); box-shadow: 0 16px 40px rgba(29,29,31,.07); }
  .page-home .home-materials--equal .material-card:hover footer i,
  .blog-card:hover footer i,
  .related-articles__grid > a:hover footer i { transform: translateX(4px); }
}

@media (max-width: 1100px) {
  .page-home .home-materials--equal > .container > .home-materials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .related-articles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
  .page-home .family-flagship__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-3xl); }
  .page-home .family-flagship__intro { position: static; width: auto; min-width: 0; }
  .page-home .family-flagship__conclusion { grid-column: 1; }
}

@media (max-width: 900px) {
  .page-home .impact-trust--editorial .impact-trust__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-3xl); }
  .page-home .founder-editorial .founder-editorial__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-3xl); }
  .page-home .founder-editorial__media img { height: auto; aspect-ratio: 16 / 11; }
  .page-home .founder-editorial__content h2 { min-width: 0; max-width: 12ch; }
  .page-home .impact-trust--editorial .impact-trust__intro h2 { max-width: 35rem; }
}

@media (max-width: 700px) {
  .page-home .home-materials--equal,
  .blog-archive,
  .related-articles { padding-block: var(--space-4xl); }
  .page-home .home-materials--equal > .container > header { margin-bottom: var(--space-3xl); align-items: flex-start; flex-direction: column; }
  .page-home .home-materials--equal > .container > .home-materials__grid,
  .blog-archive__grid,
  .related-articles__grid { grid-template-columns: minmax(0, 1fr); }
  .page-home .home-materials--equal a.material-card,
  .blog-card,
  .related-articles__grid > a { min-height: 0; padding: var(--space-xl); }
  .page-home .home-materials--equal a.material-card:first-child { min-height: 0; }
  .page-home .founder-editorial__content h2 { font-size: clamp(2.625rem, 12vw, 3.25rem); }
  .article-body { padding-block: var(--space-3xl) var(--space-4xl); }
  .article-body__content > section + section { margin-top: var(--space-2xl); }
  .article-body__conclusion { margin-top: var(--space-3xl); padding: var(--space-xl); }
  .page-article .page-hero__title { font-size: clamp(2.625rem, 12vw, 3.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .home-materials--equal .material-card,
  .blog-card,
  .related-articles__grid > a,
  .page-home .home-materials--equal .material-card footer i,
  .blog-card footer i,
  .related-articles__grid footer i { transition: none; transform: none; }
}

/* ========================================================================
   Global premium polish — one visual system across every indexable page
   ======================================================================== */

:root {
  /* Public semantic aliases: new components no longer depend on legacy names. */
  --bg-primary: #f5f5f7;
  --bg-secondary: #f5f5f7;
  --bg-dark: #151515;
  --text-primary: #1d1d1f;
  --text-secondary: #5f5f64;
  --accent: #c60000;
  --border: rgba(29, 29, 31, .1);

  --type-display: clamp(3.25rem, 5.2vw, 4.75rem);
  --type-h1: clamp(3.25rem, 5.2vw, 4.75rem);
  --type-h2: clamp(2.5rem, 4vw, 3.625rem);
  --type-h3: clamp(1.75rem, 2.35vw, 2.25rem);
  --type-body-lg: clamp(1.125rem, 1.4vw, 1.25rem);
  --leading-display: 1;
  --leading-heading: 1.06;

  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 30px;
  --radius-xl: 32px;

  --space-7xl: 7.5rem;
  --shadow-card: 0 18px 48px rgba(29, 29, 31, .08);
  --shadow-dropdown: 0 22px 70px rgba(29, 29, 31, .14), 0 2px 8px rgba(29, 29, 31, .05);
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);
}

body { background: var(--bg-primary); color: var(--text-primary); }

body {
  --color-text-secondary: var(--text-secondary);
  --color-text-muted: #68686d;
  --ink-2: var(--text-secondary);
  --ink-3: #68686d;
  font-optical-sizing: auto;
  letter-spacing: -.005em;
}

:where(.page-home, .page-inner) :where(h1, h2, h3, .display-title) {
  overflow: visible;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

:where(.page-home, .page-inner) :where(h1, .display-title) {
  line-height: var(--leading-display);
  letter-spacing: clamp(-.045em, -.03em - .2vw, -.025em);
}

:where(.page-home, .page-inner) :where(h2, h3) {
  letter-spacing: var(--tracking-heading);
}

:where(.page-home, .page-inner) main p { text-wrap: pretty; }

.page-home main h2,
.page-inner main :where(.display-title, section > .container > h2, section > .container > div > h2) {
  font-size: var(--type-h2);
  line-height: var(--leading-heading);
}

/* Legacy page selectors often carry two classes. Match that specificity once
   at the system boundary so local sections cannot silently grow past H2. */
body.page-home main [class] h2,
body.page-inner main [class] h2 {
  font-size: var(--type-h2);
  line-height: var(--leading-heading);
}

body.page-home main [class] h3,
body.page-inner main [class] h3 {
  font-size: var(--type-h3);
  line-height: 1.12;
}

body.page-home .impact-trust--editorial .impact-trust__intro h2 {
  font-size: var(--type-h2);
}

.page-home main h3 { font-size: var(--type-h3); }
.page-article .page-hero__title { font-size: var(--type-h1); line-height: var(--leading-display); }
body.page-article main .article-body h2 { font-size: clamp(2rem, 3vw, 2.5rem); }
.article-body h3 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); }

.eyebrow {
  font-size: clamp(.6875rem, .8vw, .8125rem);
  letter-spacing: .09em;
  line-height: 1.35;
  text-transform: uppercase;
}

/* A single, stable chevron. Only its rotation changes between states. */
.site-nav__trigger {
  display: inline-flex;
  min-height: 44px;
  padding: 0;
  align-items: center;
  gap: 7px;
  line-height: 1;
}

.site-nav__chevron {
  display: block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border: 0;
  transform: none;
  transform-origin: 50% 50%;
  transition: transform 200ms var(--ease-out);
}

.site-nav__trigger[aria-expanded='true'] .site-nav__chevron { transform: rotate(180deg); }

.site-nav__dropdown {
  padding: 10px;
  border-color: var(--border);
  border-radius: 24px;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--shadow-dropdown);
  backdrop-filter: blur(22px) saturate(1.55);
  -webkit-backdrop-filter: blur(22px) saturate(1.55);
  transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out), visibility 0s linear 200ms;
}

.site-nav__dropdown a {
  border-radius: 16px;
  transition: color 180ms ease, background-color 180ms ease;
}

.site-nav__dropdown a:hover,
.site-nav__dropdown a:focus-visible { background: rgba(29, 29, 31, .055); }

.mobile-menu__toggle {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
}

.mobile-menu__chevron {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  transition: transform 200ms var(--ease-out);
}

.mobile-menu__toggle > span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  transform: none;
  transition: none;
}

.mobile-menu__toggle[aria-expanded='true'] > span { transform: none; }
.mobile-menu__toggle[aria-expanded='true'] .mobile-menu__chevron { transform: rotate(180deg); }

/* Controls and pressables share one response language. */
.btn,
.icon-button,
.burger { transition-duration: 180ms; transition-timing-function: var(--ease-out); }
.btn:active,
.icon-button:active,
.burger:active { transform: scale(.985); }

.link-arrow > :last-child,
.site-cta__action i,
.material-card footer i,
.blog-card footer i,
.related-articles footer i { transition: transform 220ms var(--ease-out); }

@media (hover: hover) and (pointer: fine) {
  .link-arrow:hover > :last-child { transform: translateX(4px); }
}

/* Canonical surfaces: remove the remaining exaggerated asymmetric corners. */
:where(.product-hero__media, .career-hero__media, .home-founder__image, .founder__frame) {
  border-radius: var(--radius-xl);
}

:where(.card, .contact-block, .contact-option, .tool-window, .employer-value) {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}

.card { background: var(--bg-secondary); }

body.page-home .home-materials--equal a.material-card > span { color: var(--accent); }
body.page-home .solution-card:not(.solution-card--2) :where(p, footer) { color: var(--text-secondary); }
body.page-home .method-switcher__item > button > span { color: #68686d; }

/* The family-system comparison reads as three ideas, not a spreadsheet. */
.domain-grid {
  gap: 24px;
  border: 0;
}

.domain-grid article,
.domain-grid article + article {
  min-height: 320px;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .045);
}

.domain-grid--light article,
.domain-grid--light article + article {
  border-color: var(--border);
  background: var(--bg-secondary);
}

.domain-grid h3 { margin-top: 48px; }

:where(.material-card, .blog-card, .related-articles__grid > a, .direction-card-static, .program-row, .site-cta__action) {
  transition: transform 240ms var(--ease-out), border-color 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
}

@media (hover: hover) and (pointer: fine) {
  :where(.material-card, .blog-card, .related-articles__grid > a, .direction-card-static, .program-row, .site-cta__action):hover {
    transform: translateY(-2px);
    border-color: rgba(198, 0, 0, .18);
    box-shadow: var(--shadow-card);
  }
}

/* Editorial rhythm: no section needs 170–250px of unoccupied padding. */
@media (min-width: 901px) {
  .page-home :where(.home-solutions, .home-work, .work-formats, .impact-method, .home-principles) {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .page-home .family-flagship { padding-top: 120px; padding-bottom: 120px; }

  .page-inner :where(
    .format-guide,
    .business-directions,
    .business-offer,
    .business-family,
    .business-programs,
    .business-benefits,
    .business-journey,
    .career-audiences,
    .career-program,
    .career-mentors,
    .career-path,
    .product-program,
    .book-topics
  ) { padding-top: 112px; padding-bottom: 112px; }

  .page-materials .page-hero,
  .page-contacts .page-hero,
  .page-article .page-hero {
    min-height: 0;
    padding-top: calc(var(--header-h) + 80px);
    padding-bottom: 88px;
  }
}

/* Product/editorial grids remain readable on tablet instead of looking tabular. */
@media (max-width: 1050px) {
  .page-inner :where(.product-hero__media, .career-hero__media) { border-radius: var(--radius-lg); }
}

@media (max-width: 760px) {
  :root {
    --type-display: clamp(2.5rem, 11vw, 3.25rem);
    --type-h1: clamp(2.5rem, 11vw, 3.25rem);
    --type-h2: clamp(2rem, 8.5vw, 2.5rem);
    --type-h3: clamp(1.5rem, 7vw, 1.875rem);
    --space-section: clamp(3.5rem, 15vw, 4.5rem);
  }

  .page-inner main :where(.display-title, section > .container > h2, section > .container > div > h2) {
    font-size: var(--type-h2);
  }

  .page-article .page-hero__title { font-size: var(--type-h1); }
  body.page-article .article-body h2 { font-size: clamp(1.875rem, 8vw, 2.25rem); }
  .page-materials .page-hero,
  .page-contacts .page-hero,
  .page-article .page-hero { min-height: 0; padding-bottom: 64px; }
  .site-cta { padding-block: 64px; }
  .site-cta__inner { padding: 24px; }
  :where(.card, .contact-block, .contact-option, .tool-window, .employer-value) { border-radius: var(--radius-md); }
  .domain-grid { gap: 16px; margin-top: 48px; }
  .domain-grid article,
  .domain-grid article + article { min-height: 0; padding: 24px !important; border-width: 1px !important; border-style: solid !important; }
  .domain-grid:not(.domain-grid--light) article { border-color: rgba(255, 255, 255, .13) !important; }
  .domain-grid--light article { border-color: var(--border) !important; }

  .breadcrumbs a,
  .site-footer__contacts a,
  .site-footer__links a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }

  .site-footer__links { gap: 0; }
}

/* Motion stays functional and disappears completely for reduced-motion users. */
.js [data-reveal] {
  transition-duration: var(--motion-slow);
  transition-timing-function: var(--ease-out);
}
.js [data-reveal='rise'] { transform: translateY(12px); }
.js [data-image-reveal] img { transform: scale(1.015); transition: transform var(--motion-scene) var(--ease-out); }

@media (prefers-reduced-transparency: reduce) {
  .site-header,
  .site-header--over-media,
  .site-header--over-media.is-scrolled,
  .site-header--over-media.is-open,
  .mobile-menu,
  .site-nav__dropdown,
  .modal__backdrop {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .site-header,
  .mobile-menu,
  .site-nav__dropdown { background: #fff; }
  .modal__backdrop { background: rgba(29, 29, 31, .64); }
}

@media (prefers-contrast: more) {
  :root {
    --color-text-secondary: #444448;
    --color-text-muted: #525257;
    --color-border-subtle: rgba(0, 0, 0, .28);
    --color-border-strong: rgba(0, 0, 0, .48);
  }

  :where(a, button, input, textarea, summary, [tabindex]):focus-visible {
    outline-width: 3px;
    outline-offset: 4px;
  }

  .site-header,
  .mobile-menu,
  .site-nav__dropdown { background: #fff; border-color: currentColor; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
  .js [data-reveal],
  .js [data-reveal='rise'],
  .js [data-image-reveal],
  .js [data-image-reveal] img {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
  }
}

/* Final cascade guardrails shared by every page template. */
.site-header__logo,
.home-resources .link-arrow,
.founder-editorial__content > .link-arrow,
.site-footer__line a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

/* Footer links keep one predictable state model across every page. */
.site-footer :where(a:link, a:visited) {
  color: var(--ink-2);
  transition: color var(--motion-fast) ease;
}

.site-footer :where(a:hover, a:focus-visible) {
  color: var(--red);
}

/* Flat elevation model: no decorative shadows in default or interactive states. */
*,
*::before,
*::after {
  box-shadow: none !important;
  text-shadow: none !important;
}

/*
 * Restrained content interactions.
 * Large rows and editorial cards stay spatially stable: hover may clarify
 * the link through type and arrow color, but never turns content into a
 * floating tile or shifts the surrounding composition.
 */
@media (hover: hover) and (pointer: fine) {
  .resource-list > a:hover {
    padding-inline: 0 !important;
    background: transparent !important;
  }

  :where(
    .career3-navigator__list a,
    .contacts-direction,
    .commandments-context__links a,
    .business-direction,
    .blog-index__item
  ):hover {
    background: transparent !important;
  }

  .program-row:hover {
    border-color: var(--line) !important;
    background: #fff !important;
  }

  .resource-list > a:hover h3,
  .career3-navigator__list a:hover strong,
  .contacts-direction:hover strong,
  .commandments-context__links a:hover h3,
  .blog-index__item:hover .card__title {
    color: var(--red) !important;
  }

  :where(
    .direction-card,
    .direction-card-static,
    .material-card,
    .article-card,
    .blog-card,
    .blog-index__item,
    .related-articles__grid > a,
    .program-row,
    .site-cta__action,
    .contact-option,
    .train-card
  ):hover {
    transform: none !important;
  }

  :where(
    .product-hero__media,
    .career-hero__media,
    .blog-feature__media,
    .solution-explorer__stage figure
  ):hover img {
    transform: none !important;
  }
}

@media (min-width: 901px) {
  .page-home .founder-editorial__media,
  .page-home .founder-editorial__media picture {
    width: 100%;
    height: clamp(34rem, 44vw, 40rem);
    min-height: 0;
  }

  .page-home .founder-editorial__media {
    align-self: center;
  }

  .page-home .founder-editorial__media picture {
    display: block;
  }

  .page-home .founder-editorial__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .page-home .founder-editorial__content h2 {
    min-width: 0;
    max-width: 15ch;
    font-size: clamp(38px, 2.8vw, 46px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em;
  }

  .page-home .founder-editorial__content blockquote {
    max-width: 22ch;
    font-size: clamp(1.625rem, 2vw, 2rem) !important;
    line-height: 1.22 !important;
    letter-spacing: -.03em;
  }
}

@media (max-width: 900px) {
  .page-home .founder-editorial__content blockquote {
    max-width: 20ch;
    font-size: clamp(1.875rem, 4.4vw, 2.25rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -.035em;
  }
}

@media (max-width: 700px) {
  .page-home .founder-editorial__content h2 {
    max-width: 14ch;
    font-size: clamp(34px, 9vw, 42px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.04em;
  }
}

@media (min-width: 761px) {
  .direction-video-hero .hero__title {
    max-width: 950px;
    font-size: clamp(54px, 5.8vw, 78px);
    line-height: .98;
  }
}

@media (max-width: 760px) {
  .direction-video-hero .hero__title {
    font-size: clamp(38px, 10.2vw, 43px) !important;
    line-height: 1 !important;
    letter-spacing: -.042em !important;
  }

  .direction-video-hero .hero__lead {
    max-width: 34rem;
    font-size: 16px;
    line-height: 1.5;
  }

  body.page-inner main > section:not(.hero):not(.tom-hero):not(.page-hero):not(.site-cta) {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}

/* ========================================================= Homepage hero
 * A single cinematic first screen. The graphic light is deliberately static:
 * the background video already provides the scene's motion.
 */
.page-home .home-hero {
  min-height: 100svh;
  border-radius: 0;
  --r-hero: 0px;
}

.page-home .home-hero__light {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.page-home .home-hero__light::before,
.page-home .home-hero__light::after {
  position: absolute;
  content: '';
  border-radius: 50%;
  background: rgba(198, 0, 0, .08);
  filter: blur(72px);
}

.page-home .home-hero__light::before {
  top: -35%;
  left: -26%;
  width: 58vw;
  height: 58vw;
}

.page-home .home-hero__light::after {
  right: -34%;
  bottom: -48%;
  width: 66vw;
  height: 66vw;
}

.page-home .home-hero__light span {
  position: absolute;
  display: block;
  width: min(90vw, 1300px);
  aspect-ratio: 1;
  border: 1.5px solid rgba(198, 0, 0, .7);
  border-radius: 50%;
  filter: drop-shadow(0 0 5px rgba(198, 0, 0, .88)) drop-shadow(0 0 16px rgba(198, 0, 0, .4));
  opacity: .72;
}

.page-home .home-hero__light span:first-child {
  top: -86%;
  left: -58%;
}

.page-home .home-hero__light span:last-child {
  right: -55%;
  bottom: -90%;
  width: min(98vw, 1420px);
}

.page-home .home-hero__grid {
  z-index: 2;
  width: min(100% - (var(--gutter) * 2), 1240px);
  max-width: 1240px;
  padding: calc(var(--header-h) + clamp(44px, 7vh, 78px)) 0 clamp(44px, 6vh, 68px);
  align-items: center;
  justify-content: center;
  text-align: center;
}

.page-home .home-hero .hero__content {
  width: min(100%, 1100px);
  max-width: 1100px;
  margin-inline: auto;
}

.page-home .home-hero .hero__eyebrow {
  display: inline-flex;
  min-height: 38px;
  margin: 0 auto;
  padding: 8px 18px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: var(--r-pill);
  background: rgba(8, 12, 18, .2);
  color: rgba(255, 255, 255, .84);
  font-size: 13px;
  font-weight: 450;
  line-height: 1.35;
  letter-spacing: -.005em;
  text-transform: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.page-home .home-hero__title {
  max-width: 1080px;
  margin: clamp(34px, 4.5vh, 50px) auto 0;
  font-size: clamp(52px, 5vw, 76px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.047em;
  text-align: center;
  text-wrap: balance;
  color: #fff;
}

.page-home .home-hero__title > span {
  overflow: visible;
  white-space: normal;
}

.page-home .home-hero .hero__lead {
  max-width: 690px;
  margin: clamp(24px, 3.2vh, 34px) auto 0;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.5;
  text-align: center;
  text-wrap: balance;
}

.page-home .home-hero .hero__actions {
  width: auto;
  margin-top: clamp(30px, 4vh, 42px);
  padding: 0;
  justify-content: center;
  gap: 14px;
}

.page-home .home-hero .hero__actions .btn {
  width: auto;
  min-width: 238px;
  min-height: 58px;
  padding-inline: 30px;
  border-radius: var(--r-pill);
  font-size: 16px;
  font-weight: 500;
}

.page-home .home-hero .btn--hero-secondary {
  border: 1px solid rgba(255, 255, 255, .48);
  background: rgba(8, 12, 18, .16);
  color: #fff;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.page-home .home-hero .hero__playpause {
  position: absolute;
  right: clamp(22px, 3vw, 48px);
  bottom: clamp(24px, 4vh, 44px);
  width: 48px;
  height: 48px;
  margin: 0;
  border-color: rgba(255, 255, 255, .38);
  background: rgba(8, 12, 18, .24);
}

.page-home .home-hero .hero__scrim {
  background:
    radial-gradient(ellipse at 50% 48%, rgba(5, 8, 13, .22) 0%, rgba(5, 8, 13, .48) 62%, rgba(3, 6, 10, .75) 100%),
    linear-gradient(180deg, rgba(3, 6, 10, .5) 0%, rgba(3, 6, 10, .16) 30%, rgba(3, 6, 10, .58) 100%);
}

.page-home .site-header--over-media:not(.is-scrolled):not(.is-open) {
  border-bottom-color: rgba(255, 255, 255, .09);
  background: linear-gradient(180deg, rgba(3, 6, 10, .5), rgba(3, 6, 10, .13));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.page-home .site-header--over-media:not(.is-scrolled):not(.is-open) .site-nav__link[aria-current='page'] {
  border-bottom-color: var(--red);
}

@media (min-width: 1051px) {
  .page-home .site-header__logo-svg { height: 29px; }
  .page-home .site-nav__list { gap: clamp(18px, 1.8vw, 29px); font-size: 13.5px; }
  .page-home .site-header__cta { min-height: 50px; padding-inline: 25px; border-radius: var(--r-pill); }
}

@media (hover: hover) and (pointer: fine) {
  .page-home .home-hero .btn--hero-secondary:hover {
    border-color: rgba(255, 255, 255, .86);
    background: rgba(255, 255, 255, .1);
    color: #fff;
  }

  .page-home .home-hero .hero__playpause:hover {
    border-color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .1);
  }
}

.page-home .home-hero .hero__actions .btn:active { transform: scale(.985); }

.page-home .home-hero :where(.btn, .hero__playpause):focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* Tablet: keep the centered idea, but reduce the measure before reducing type. */
@media (min-width: 761px) and (max-width: 1050px) {
  .page-home .home-hero__grid {
    width: min(100% - 64px, 860px);
    padding-top: calc(var(--header-h) + 56px);
    padding-bottom: 52px;
  }

  .page-home .home-hero__title {
    max-width: 800px;
    font-size: clamp(50px, 6.8vw, 64px);
  }

  .page-home .home-hero .hero__lead { max-width: 620px; }
  .page-home .home-hero__light span:first-child { top: -54%; left: -68%; }
  .page-home .home-hero__light span:last-child { right: -72%; bottom: -50%; }
}

/* Mobile is recomposed as a compact centered stack, not scaled desktop. */
@media (max-width: 760px) {
  .page-home .home-hero { min-height: 100svh; }

  .page-home .home-hero__grid {
    width: 100%;
    padding: calc(var(--header-h) + 46px) 20px 30px;
    align-items: center;
  }

  .page-home .home-hero .hero__content { width: 100%; }

  .page-home .home-hero .hero__eyebrow {
    min-height: 34px;
    max-width: 100%;
    padding: 7px 13px;
    font-size: 11px;
    line-height: 1.35;
  }

  .page-home .home-hero__title {
    max-width: 360px;
    margin-top: 26px;
    font-size: clamp(37px, 10.7vw, 46px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.043em !important;
  }

  .page-home .home-hero .hero__lead {
    max-width: 34ch;
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.48;
  }

  .page-home .home-hero .hero__actions {
    width: min(100%, 350px);
    margin: 26px auto 0;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .page-home .home-hero .hero__actions .btn {
    width: 100%;
    min-width: 0;
    min-height: 54px;
  }

  .page-home .home-hero .hero__playpause {
    top: calc(var(--header-h) + 16px);
    right: 16px;
    bottom: auto;
    width: 42px;
    height: 42px;
  }

  .page-home .home-hero .hero__scrim {
    background:
      radial-gradient(ellipse at 50% 52%, rgba(4, 7, 12, .32) 0%, rgba(4, 7, 12, .62) 68%, rgba(3, 5, 9, .82) 100%),
      linear-gradient(180deg, rgba(3, 6, 10, .55) 0%, rgba(3, 6, 10, .22) 28%, rgba(3, 6, 10, .72) 100%);
  }

  .page-home .home-hero__light span { opacity: .48; }
  .page-home .home-hero__light span:first-child { top: -18%; left: -112%; width: 170vw; }
  .page-home .home-hero__light span:last-child { right: -114%; bottom: -22%; width: 170vw; }
  .page-home .home-hero__light::before,
  .page-home .home-hero__light::after { opacity: .5; }
}

@media (max-width: 760px) and (max-height: 720px) {
  .page-home .home-hero__grid { padding-top: calc(var(--header-h) + 30px); padding-bottom: 20px; }
  .page-home .home-hero__title { margin-top: 18px; font-size: clamp(32px, 8.7vw, 38px) !important; }
  .page-home .home-hero .hero__lead { margin-top: 16px; font-size: 14.5px; }
  .page-home .home-hero .hero__actions { margin-top: 18px; }
  .page-home .home-hero .hero__actions .btn { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .home-hero__title[data-reveal='lines'] > span,
  .page-home .home-hero .hero__actions .btn { transition: none !important; transform: none !important; }
}

/* Homepage materials: four equal product tiles with a native responsive rail. */
.page-home .materials-showcase {
  padding-block: clamp(5.5rem, 8vw, 8rem);
  overflow: hidden;
  background: var(--color-bg-primary);
}
.page-home .materials-showcase > .container { max-width: 1480px; }
.materials-showcase__header {
  display: flex;
  margin-bottom: clamp(3rem, 5vw, 4.75rem);
  justify-content: space-between;
  gap: var(--space-3xl);
  align-items: end;
}
.materials-showcase__header .eyebrow {
  margin-bottom: 1.5rem;
  font-size: .8125rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: .105em;
  text-transform: uppercase;
}
body.page-home main .materials-showcase__header h2 {
  max-width: 13ch;
  font-size: clamp(3.25rem, 5.4vw, 5rem);
  font-weight: var(--font-weight-medium);
  line-height: .94;
  letter-spacing: -.055em;
}
.materials-showcase__header > .link-arrow {
  flex: 0 0 auto;
  margin-bottom: .375rem;
  padding: 0;
  color: var(--ink);
  background: transparent;
  border: 0;
  font-size: 1rem;
  font-weight: var(--font-weight-semibold);
  white-space: nowrap;
}
.materials-showcase__header > .link-arrow span { color: var(--red); }
.materials-showcase__rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.875rem, 1.4vw, 1.25rem);
}
.material-tile {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 36rem;
  padding: clamp(1.5rem, 2vw, 1.75rem);
  overflow: hidden;
  grid-template-rows: auto auto auto minmax(11rem, 1fr);
  color: var(--ink);
  border: 1px solid rgba(29, 29, 31, .075);
  border-radius: var(--radius-xl);
  background: #fff;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  transition: transform 240ms var(--ease-out), border-color 240ms ease, background-color 240ms ease;
}
.material-tile__type {
  display: flex;
  min-height: 2.75rem;
  gap: .75rem;
  align-items: center;
  color: #5f5f63;
  font-size: .875rem;
  font-weight: var(--font-weight-medium);
}
.material-tile__icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  background: var(--color-bg-primary);
}
.material-tile__icon svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: #5f5f63;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.page-home main .material-tile h3 {
  max-width: 16ch;
  margin-top: 1.25rem;
  font-size: clamp(1.45rem, 1.75vw, 1.75rem);
  font-weight: var(--font-weight-semibold);
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
  transition: color 200ms ease;
}
body.page-home main .material-tile--scbm h3 { color: var(--red); font-size: clamp(1.75rem, 2.2vw, 2.25rem); }
.material-tile > p {
  max-width: 30ch;
  margin-top: .875rem;
  color: var(--ink-2);
  font-size: .925rem;
  line-height: 1.5;
  text-wrap: pretty;
}
.material-tile__visual {
  position: relative;
  display: grid;
  min-height: 12rem;
  align-self: stretch;
  place-items: end center;
  pointer-events: none;
}
.material-tile__action {
  position: absolute;
  right: 1.375rem;
  bottom: 1.375rem;
  z-index: 3;
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  color: var(--red);
  border: 1px solid rgba(29, 29, 31, .09);
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  font-size: 1.375rem;
  line-height: 1;
  transition: transform 200ms var(--ease-out), border-color 200ms ease, background-color 200ms ease;
}
.material-object { transition: transform 300ms var(--ease-out); }
.material-object--commandments,
.material-object--profession {
  position: relative;
  display: flex;
  width: 8.75rem;
  height: 12rem;
  margin-bottom: .375rem;
  padding: 1.25rem 1rem;
  flex-direction: column;
  justify-content: center;
  color: #55565a;
  border: 1px solid rgba(29, 29, 31, .1);
  background: #fff;
  transform: perspective(600px) rotateY(-10deg) rotateZ(-3deg);
}
.material-object--commandments::before,
.material-object--profession::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: .5rem;
  background: var(--red);
  content: '';
}
.material-object--commandments::after,
.material-object--profession::after {
  position: absolute;
  z-index: -1;
  inset: .35rem -.4rem -.35rem .4rem;
  border: 1px solid rgba(29, 29, 31, .08);
  background: #eee;
  content: '';
}
.material-object--commandments strong { font-size: 2.5rem; font-weight: var(--font-weight-medium); line-height: 1; text-align: center; }
.material-object--commandments span { margin-top: .625rem; font-size: .625rem; line-height: 1.35; text-align: center; }
.material-object--commandments i {
  width: 1.125rem;
  height: 1.125rem;
  margin: 1.25rem auto 0;
  border: 4px solid var(--red);
  transform: rotate(45deg);
}
.material-object--profession {
  width: 9.25rem;
  color: #fff;
  border-color: transparent;
  background: #2b2b2d;
  transform: perspective(600px) rotateY(9deg) rotateZ(2deg);
}
.material-object--profession::after { background: #202023; border-color: rgba(255,255,255,.08); }
.material-object--profession small { font-size: .5rem; letter-spacing: .04em; }
.material-object--profession strong { margin-top: 2rem; font-size: 1rem; font-weight: var(--font-weight-medium); line-height: 1.08; }
.material-object--profession i { position: absolute; right: 1rem; bottom: 1rem; width: 1.25rem; height: 1.25rem; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; }
.material-object--scbm {
  position: relative;
  display: grid;
  width: min(92%, 15rem);
  min-height: 9.5rem;
  margin: 0 0 1.5rem;
  padding: 1.125rem;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: 2.15rem;
  gap: .25rem;
  border: 1px solid rgba(29,29,31,.09);
  border-radius: 1rem;
  background: rgba(255,255,255,.86);
  transform: perspective(700px) rotateX(55deg) rotateZ(-8deg);
}
.material-object--scbm::before {
  position: absolute;
  z-index: -1;
  inset: .75rem -.75rem -.75rem .75rem;
  border: 1px solid rgba(29,29,31,.06);
  border-radius: 1rem;
  background: #f5f5f7;
  content: '';
}
.material-object--scbm i { border-radius: .2rem; background: #f5f5f7; }
.material-object--scbm i:nth-child(2),
.material-object--scbm i:nth-child(7),
.material-object--scbm i:nth-child(8),
.material-object--scbm i:nth-child(13) { background: var(--red); }
.material-object--scbm i:nth-child(5),
.material-object--scbm i:nth-child(11) { background: #c7c7cc; }
.material-object--kaizen {
  position: relative;
  width: min(105%, 17rem);
  height: 11.5rem;
  margin-bottom: .25rem;
  border-radius: 50%;
  background: repeating-radial-gradient(ellipse at 50% 72%, transparent 0 1rem, rgba(29,29,31,.055) 1.05rem 1.12rem, transparent 1.17rem 1.75rem);
}
.material-object--kaizen i {
  position: absolute;
  left: 50%;
  bottom: 1.5rem;
  display: block;
  width: 7.5rem;
  height: 2.15rem;
  border-radius: 50%;
  background: #d2d2d7;
  transform: translateX(-50%);
}
.material-object--kaizen i:nth-child(2) { bottom: 3rem; width: 6.25rem; background: #e3e3e8; }
.material-object--kaizen i:nth-child(3) { bottom: 4.35rem; width: 4.75rem; background: #e8e8ed; }
.material-object--kaizen i:nth-child(4) { bottom: 5.55rem; width: 3.5rem; height: 1.8rem; background: var(--red); }
.material-tile:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }

@media (hover: hover) and (pointer: fine) {
  .material-tile:hover { transform: translateY(-3px); border-color: rgba(198, 0, 0, .18); background: #fff; }
  .material-tile:hover .material-tile__action { transform: translateX(3px); border-color: rgba(198, 0, 0, .24); background: #fff; }
  .material-tile:hover .material-object { transform: translateY(-3px); }
  .material-tile:hover .material-object--commandments { transform: perspective(600px) translateY(-3px) rotateY(-10deg) rotateZ(-3deg); }
  .material-tile:hover .material-object--profession { transform: perspective(600px) translateY(-3px) rotateY(9deg) rotateZ(2deg); }
  .material-tile:hover .material-object--scbm { transform: perspective(700px) translateY(-3px) rotateX(55deg) rotateZ(-8deg); }
}

@media (max-width: 1279px) {
  .materials-showcase__rail {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: clamp(19rem, 38vw, 23rem);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .materials-showcase__rail::-webkit-scrollbar { display: none; }
}

@media (max-width: 700px) {
  .page-home .materials-showcase { padding-block: var(--space-4xl); }
  .materials-showcase__header {
    margin-bottom: var(--space-3xl);
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-xl);
  }
  .materials-showcase__header .eyebrow { margin-bottom: 1rem; }
  body.page-home main .materials-showcase__header h2 {
    font-size: clamp(2.4rem, 11.2vw, 2.85rem);
    line-height: .96;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .materials-showcase__header > .link-arrow { margin-bottom: 0; }
  .materials-showcase__rail {
    margin-right: calc(var(--gutter) * -1);
    padding-right: var(--gutter);
    grid-auto-columns: min(84vw, 21rem);
    gap: .875rem;
  }
  .material-tile {
    min-height: 33.5rem;
    padding: 1.5rem;
    grid-template-rows: auto auto auto minmax(10rem, 1fr);
    border-radius: var(--radius-lg);
  }
  body.page-home main .material-tile h3 { font-size: clamp(1.5rem, 7vw, 1.8rem); }
  .material-tile > p { font-size: .9rem; }
  .material-tile__action { right: 1.25rem; bottom: 1.25rem; width: 3rem; height: 3rem; }
}

@media (max-width: 380px) {
  .materials-showcase__rail { grid-auto-columns: 85vw; }
  .material-tile { min-height: 34rem; padding: 1.35rem; }
  body.page-home main .material-tile h3 { font-size: 1.45rem; }
}

@media (prefers-reduced-motion: reduce) {
  .material-tile,
  .material-tile h3,
  .material-tile__action,
  .material-object { transition: none !important; }
  .material-tile:hover,
  .material-tile:hover .material-tile__action,
  .material-tile:hover .material-object { transform: none !important; }
}

/* Founder feature refinement: media-first composition with an integrated action capsule. */
.page-home .founder-panel {
  --founder-inset: clamp(4rem, 6.25vw, 5.5rem);
  min-height: clamp(46rem, 58vw, 50rem);
  border: 1px solid rgba(255, 255, 255, .08);
}
.page-home .founder-panel::after {
  background:
    linear-gradient(0deg, rgba(3, 7, 12, .14) 0%, rgba(3, 7, 12, 0) 38%),
    linear-gradient(90deg, rgba(3, 7, 12, .97) 0%, rgba(3, 7, 12, .92) 28%, rgba(3, 7, 12, .7) 45%, rgba(3, 7, 12, .28) 61%, rgba(3, 7, 12, .05) 77%, rgba(3, 7, 12, 0) 100%);
}
.page-home .founder-panel__content {
  width: min(55%, 40rem);
  padding: var(--founder-inset);
  padding-bottom: 8.25rem;
}
body.page-home main .founder-panel__content h2 { max-width: 11.5ch; }
.page-home .founder-panel__lead { max-width: 32rem; }
.page-home .home-founder .founder-panel blockquote { max-width: 27rem; }
.page-home .founder-panel__cta {
  position: absolute;
  left: var(--founder-inset);
  bottom: 2.25rem;
  z-index: 3;
  order: 6;
  display: inline-flex;
  min-height: 3.75rem;
  max-width: calc(100% - (var(--founder-inset) * 2));
  padding: .4375rem .4375rem .4375rem 1.375rem;
  justify-content: space-between;
  align-items: center;
  gap: 1.125rem;
  color: #202124;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: var(--radius-pill);
  background: #fff;
  font-size: .9375rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.2;
  transition: transform 220ms var(--ease-out), background-color 220ms ease, border-color 220ms ease;
}
.page-home .founder-panel__cta:visited { color: #202124; }
.page-home .founder-panel__cta i {
  display: grid;
  width: 2.875rem;
  height: 2.875rem;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--red);
  font-size: 1.25rem;
  font-style: normal;
  line-height: 1;
  transition: transform 220ms var(--ease-out), background-color 220ms ease;
}
.page-home .founder-panel__cta:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
  .page-home .founder-panel__cta:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, .5);
    background: #fff;
  }
  .page-home .founder-panel__cta:hover i { transform: translateX(3px); background: var(--red-deep); }
}

@media (max-width: 1024px) {
  .page-home .founder-panel { --founder-inset: clamp(3rem, 5vw, 4rem); min-height: 46rem; }
  .page-home .founder-panel__content { width: min(63%, 38rem); padding: var(--founder-inset); padding-bottom: 8rem; }
  .page-home .founder-panel__cta { bottom: 2rem; }
}

@media (max-width: 700px) {
  .page-home .founder-panel {
    --founder-inset: clamp(1.375rem, 7vw, 2rem);
    min-height: 60rem;
  }
  .page-home .founder-panel::after {
    background: linear-gradient(180deg, rgba(3, 7, 12, .99) 0%, rgba(3, 7, 12, .96) 46%, rgba(3, 7, 12, .73) 62%, rgba(3, 7, 12, .12) 84%, rgba(3, 7, 12, 0) 100%);
  }
  .page-home .founder-panel__content {
    width: 100%;
    padding: 2rem var(--founder-inset) 20rem;
  }
  .page-home .founder-panel__cta {
    position: static;
    width: min(100%, 21rem);
    max-width: 100%;
    min-height: 3.625rem;
    margin-top: 1rem;
    padding: .375rem .375rem .375rem 1.125rem;
    align-self: flex-start;
  }
  .page-home .founder-panel__cta i { width: 2.75rem; height: 2.75rem; }
}

@media (max-width: 390px) {
  .page-home .founder-panel { min-height: 63rem; }
  .page-home .founder-panel__content { padding-bottom: 19.5rem; }
  .page-home .founder-panel__cta { font-size: .875rem; }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .founder-panel__cta,
  .page-home .founder-panel__cta i { transition: none; transform: none !important; }
}
