/* ==========================================================================
   piratprod — cyber-brutalism landing
   Палитра: --black, --cream, --red. Ноль скруглений. Толстые рамки.
   ========================================================================== */

:root {
  --black: #0a0a0a;
  --cream: #f2ede3;
  --cream-dim: #e6dfd0;
  --red: #e8291c;
  --red-dark: #b3160c;
  --glow-orange: #ff7a3d;
  --border-w: 3px;

  --font-brand: 'Instrument Serif', Georgia, serif;
  --font-display: 'Unbounded', 'Archivo', sans-serif;
  --font-body: 'Archivo', sans-serif;
  --font-mono: 'Space Mono', monospace;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--cream);
  color: var(--black);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.4;
  overflow-x: hidden;
}

img, a { -webkit-tap-highlight-color: transparent; }

a { color: inherit; text-decoration: none; }

h1, h2, h3, p, ul { margin: 0; }

button { font-family: inherit; cursor: pointer; }

/* ---------------- полоса прогресса прокрутки ---------------- */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: var(--red);
  z-index: 1001;
  pointer-events: none;
  transition: width 0.1s linear;
}

/* ---------------- микро-анимации: карточки появляются по очереди при скролле ---------------- */
/* кейсы — только плавное проявление (в сетке с общими рамками, без сдвига) */
.case-card {
  opacity: 0;
  transition: opacity 0.55s ease, background 0.15s ease, color 0.15s ease;
}
.section.in-view .case-card { opacity: 1; }
.section.in-view .case-card:nth-child(2) { transition-delay: 0.08s; }
.section.in-view .case-card:nth-child(3) { transition-delay: 0.16s; }
.section.in-view .case-card:nth-child(4) { transition-delay: 0.24s; }

/* основатели и услуги — проявление + лёгкий подъём */
.founder-card,
.format__item {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.section.in-view .founder-card,
.section.in-view .format__item { opacity: 1; transform: translateY(0); }
.section.in-view .founder-card:nth-child(2),
.section.in-view .format__item:nth-child(2) { transition-delay: 0.12s; }

/* ---------------- зерно/шум поверх всего сайта ---------------- */
.grain {
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
  opacity: 0.1;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-repeat: repeat;
}

/* ---------------- секции ---------------- */
.section {
  position: relative;
  padding: 96px 6vw 80px;
  border-bottom: var(--border-w) solid var(--black);
  overflow: hidden;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.section.in-view {
  opacity: 1;
  transform: translateY(0);
}

.section[data-bg="black"] { background: var(--black); color: var(--cream); }
.section[data-bg="cream"] { background: var(--cream); color: var(--black); }
.section[data-bg="red"]   { background: var(--red); color: var(--black); border-bottom-color: var(--black); }

/* halftone-текстура точечно поверх секций */
.section[data-bg="red"]::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(var(--black) 1.4px, transparent 1.4px);
  background-size: 14px 14px;
  opacity: 0.08;
}

.section[data-bg="black"]::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(var(--glow-orange) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.06;
}

/* ---------------- технические подписи по углам ---------------- */
.corner-tag {
  position: absolute;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  z-index: 3;
  opacity: 0.75;
}
.corner-tag--tl { top: 22px; left: 6vw; }
.corner-tag--tr { top: 22px; right: 6vw; }
.corner-tag--bl { bottom: 22px; left: 6vw; }
.corner-tag--br { bottom: 22px; right: 6vw; }
.corner-tag--on-red { color: var(--black); opacity: 0.6; }

/* ---------------- переключатель фоновой музыки ---------------- */
.music-toggle {
  position: fixed;
  bottom: 64px;
  right: 22px;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cream);
  background: var(--black);
  border: 1px solid rgba(242, 237, 227, 0.4);
  padding: 10px 14px;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.music-toggle:hover { border-color: var(--glow-orange); color: var(--glow-orange); }

.music-toggle__icon {
  display: inline-block;
  transition: transform 0.4s ease;
}
.music-toggle.is-playing .music-toggle__icon {
  color: var(--glow-orange);
  animation: musicPulse 1.1s ease-in-out infinite;
}

@keyframes musicPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.35); }
}

@media (max-width: 720px) {
  .music-toggle { bottom: 50px; right: 14px; padding: 8px 10px; font-size: 9px; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .music-toggle.is-playing .music-toggle__icon { animation: none; }
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 56px;
  padding-top: 120px;
  /* overflow оставляем видимым: иначе левый завиток курсивной «p» (особенно у запасного шрифта)
     срезается краем блока. Горизонтальную прокрутку и так держит body { overflow-x: hidden }. */
  overflow: visible;
}

/* #hero (ID) — специально более специфичный селектор, чтобы перебить .section[data-bg="black"] { background: ... } */
#hero {
  background-color: var(--black);
  /* увеличенный холст градиента + позиция от курсора (--bg-px/--bg-py, задаются в JS) — медленный parallax-слой фона */
  background-size: 130% 130%;
  background-position: calc(50% + var(--bg-px, 0px)) calc(50% + var(--bg-py, 0px));
  will-change: background-position;
  /* дуга: цвет доходит сразу до низа экрана (без чёрного участка внизу), верхний переход в чёрное — мягкий и широкий;
     одинаковые пропорции на всех экранах, от мобильных до десктопа */
  background-image:
    radial-gradient(ellipse 108% 90% at 50% 108%,
      var(--glow-orange) 0%,
      var(--red-dark) 28%,
      rgba(110, 28, 17, 0.5) 46%,
      rgba(55, 19, 13, 0.28) 62%,
      rgba(22, 11, 9, 0.1) 80%,
      rgba(10, 10, 10, 0) 98%),
    radial-gradient(ellipse 170% 125% at 50% 110%,
      rgba(255, 122, 61, 0.2) 0%,
      rgba(179, 22, 12, 0.11) 45%,
      rgba(10, 10, 10, 0) 88%);
}

/* зерно/шум поверх градиента — чтобы не читался как гладкий диджитал-градиент; заменяет общий halftone ::before для этой секции */
#hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-size: auto;
  opacity: 0.9;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncR type='linear' slope='2.4' intercept='-0.7'/><feFuncG type='linear' slope='2.4' intercept='-0.7'/><feFuncB type='linear' slope='2.4' intercept='-0.7'/></feComponentTransfer></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-repeat: repeat;
  /* зерно едет вместе с фоном — тот же медленный parallax-слой */
  translate: var(--bg-px, 0px) var(--bg-py, 0px);
  will-change: transform;
  backface-visibility: hidden;
}

.hero__brand-wrap,
.hero__tagline,
.hero__cta {
  position: relative;
  z-index: 2;
  /* быстрый parallax-слой текста (--text-px/--text-py, задаются в JS по движению курсора) */
  translate: var(--text-px, 0px) var(--text-py, 0px);
  /* блок двигается как единое целое; will-change промоутит его в свой compositor-слой,
     иначе браузер каждый кадр пересчитывает хинтинг шрифта на новом субпикселе — это и
     выглядит как дрожание отдельных букв, хотя транформ применяется к блоку целиком */
  will-change: transform;
  backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  #hero,
  #hero::before,
  .hero__brand-wrap,
  .hero__tagline,
  .hero__cta {
    translate: none !important;
    background-position: 50% 50% !important;
  }
}

/* заход hero при загрузке страницы: слова "разъезжаются" на свои стороны, текст и кнопки мягко всплывают следом */
@keyframes heroWordLeft {
  from { opacity: 0; transform: translateX(-28px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes heroWordRight {
  from { opacity: 0; transform: translateX(28px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero__brand-word--1 { animation: heroWordLeft 0.8s ease 0s both; }
.hero__brand-word--2 { animation: heroWordRight 0.8s ease 0.1s both; }
.hero__brand-sub { animation: heroFadeUp 0.7s ease 0.3s both; }
.hero__tagline { animation: heroFadeUp 0.7s ease 0.42s both; }
.hero__cta .btn:nth-child(1) { animation: heroFadeUp 0.7s ease 0.54s both; }
.hero__cta .btn:nth-child(2) { animation: heroFadeUp 0.7s ease 0.62s both; }

.hero__brand {
  font-family: var(--font-brand);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(100px, 16vw, 320px);
  line-height: 1;
  color: var(--cream);
  margin: 0;
  letter-spacing: 0.01em;
}

.hero__brand-sub {
  font-family: var(--font-mono);
  font-size: 15px;
  color: var(--red);
  margin-top: clamp(18px, 2.4vw, 36px);
  letter-spacing: 0.05em;
}

.hero__tagline {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(18px, 2.4vw, 28px);
  color: var(--cream);
  max-width: 720px;
  line-height: 1.3;
}

.hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: -28px;
}

/* тёмная (не красная) кнопка резко контрастирует с оранжево-красным градиентом, без обводок */
.hero__cta .btn--solid-dark {
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.45);
}

/* ==========================================================================
   КНОПКИ
   ========================================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 16px 24px;
  border: var(--border-w) solid currentColor;
  border-radius: 0;
  background: transparent;
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.btn__arrow { transition: transform 0.2s ease; }

.btn:hover { transform: translate(-3px, -3px); }
.btn:hover .btn__arrow { transform: translate(3px, -3px); }
.btn:active { transform: translate(0, 0); }

.btn--outline-light { color: var(--cream); }
.btn--outline-light:hover { background: var(--cream); color: var(--black); }

.btn--solid-red {
  color: var(--cream);
  background: var(--red);
  border-color: var(--red);
}
.btn--solid-red:hover { background: var(--red-dark); border-color: var(--red-dark); }

.btn--outline-dark { color: var(--black); }
.btn--outline-dark:hover { background: var(--black); color: var(--cream); }

.btn--solid-dark {
  color: var(--cream);
  background: var(--black);
  border-color: var(--black);
}
.btn--solid-dark:hover { background: var(--glow-orange); border-color: var(--glow-orange); color: var(--black); }

/* ==========================================================================
   ЗАГОЛОВКИ СЕКЦИЙ
   ========================================================================== */
.section-title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(32px, 6vw, 72px);
  line-height: 1;
  text-transform: lowercase;
  margin-bottom: 48px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 18px;
}

.section-title__num {
  font-family: var(--font-brand);
  font-style: italic;
  font-weight: 400;
  font-size: 0.55em;
  color: var(--red);
  flex-basis: 100%; /* эйбрау («work», «services» и т.д.) всегда на своей строке — над заголовком */
}

.section-title--light { color: var(--cream); }
.section-title--light .section-title__num { color: var(--glow-orange); }

.section-title--compact {
  font-size: clamp(22px, 3.2vw, 34px);
  margin-bottom: 8px;
  max-width: 720px;
}

/* ==========================================================================
   ФИЛОСОФИЯ / 80-20
   ========================================================================== */
.philosophy__inner { max-width: 1100px; margin: 0 auto; }

.philosophy__text {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  font-size: 17px;
  line-height: 1.6;
  max-width: 900px;
  margin-bottom: 56px;
}

.philosophy__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  padding: 0;
  border-top: var(--border-w) solid var(--black);
}

.philosophy__stats li {
  flex: 1 1 200px;
  padding: 24px 20px 0 0;
  border-right: 1px solid var(--black);
}
.philosophy__stats li:last-child { border-right: none; }

.philosophy__stat-num {
  display: block;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(36px, 5vw, 56px);
  color: var(--red);
  line-height: 1;
}

.philosophy__stat-label {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: block;
  margin-top: 10px;
}

/* ==========================================================================
   CTA-ПОЛОСА
   ========================================================================== */
.cta-strip { padding-top: 72px; padding-bottom: 72px; }

.cta-strip__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
}

.cta-strip__text {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 5vw, 52px);
  line-height: 1.05;
  text-transform: lowercase;
}

.cta-strip__buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* ==========================================================================
   YOUTUBE ЛЕНТА
   ========================================================================== */
.youtube-block { padding-top: 56px; padding-bottom: 28px; }

.youtube-block__sub {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--cream-dim);
  max-width: 480px;
  line-height: 1.35;
  margin-bottom: 16px;
}

.yt-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  scrollbar-width: none;
  padding: 2px 0;
}
.yt-viewport::-webkit-scrollbar { display: none; }
.yt-viewport.dragging { cursor: grabbing; }

.yt-track {
  display: flex;
  gap: 12px;
  width: max-content;
}

.yt-card {
  flex: 0 0 auto;
  width: min(52vw, 200px);
  display: block;
  background: #111;
  transition: transform 0.15s ease;
}

.yt-card:hover { transform: translateY(-6px); }

/* дубликаты нужны только для бесшовной автопрокрутки на мобильной ширине; на десктопе — просто список из 3 роликов */
@media (min-width: 721px) {
  .yt-card[aria-hidden="true"] { display: none; }
}

.yt-card__thumb {
  aspect-ratio: 16 / 9;
  position: relative;
  background-size: cover;
  background-position: center;
}

.yt-card__title {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 12px;
  color: var(--cream);
  padding: 8px 8px 10px;
  line-height: 1.3;
}

/* ==========================================================================
   КЕЙСЫ
   ========================================================================== */
.cases__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0;
  border-top: var(--border-w) solid var(--black);
  border-left: var(--border-w) solid var(--black);
}

.case-card {
  border-right: var(--border-w) solid var(--black);
  border-bottom: var(--border-w) solid var(--black);
  padding: 28px 24px 32px;
  background: var(--cream);
  transition: background 0.15s ease, color 0.15s ease;
}

.case-card:hover { background: var(--black); color: var(--cream); }
.case-card:hover .case-card__tag { color: var(--glow-orange); }

/* ЗАМЕНИТЬ: изображение кейса */
.case-card__img {
  aspect-ratio: 16 / 10;
  margin-bottom: 20px;
  border: 2px solid var(--black);
}
.case-card:hover .case-card__img { border-color: var(--cream); }

.case-card__img--1 { background: repeating-linear-gradient(45deg, #000 0 6px, var(--red) 6px 12px); }
.case-card__img--yudaev {
  aspect-ratio: 1052 / 875; /* нативные пропорции скриншота — показываем целиком, без обрезки */
  background-image: url('assets/case-yudaev.jpg');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--cream);
}
.case-card__img--2 { background: repeating-linear-gradient(135deg, #000 0 6px, #999 6px 12px); }
.case-card__img--loyee {
  aspect-ratio: 1052 / 875; /* нативные пропорции скриншота — показываем целиком, без обрезки */
  background-image: url('assets/case-loyee.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--cream);
}
.case-card__img--3 { background: radial-gradient(circle at 40% 40%, var(--glow-orange) 0%, var(--red-dark) 35%, #000 72%); }
.case-card__img--progkids {
  aspect-ratio: 1052 / 875; /* нативные пропорции скриншота — показываем целиком, без обрезки */
  background-image: url('assets/case-progkids.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--cream);
}
.case-card__img--4 { background: repeating-linear-gradient(90deg, #000 0 4px, var(--cream-dim) 4px 16px); }
.case-card__img--cofounder {
  aspect-ratio: 1052 / 875; /* нативные пропорции скриншота — показываем целиком, без обрезки */
  background-image: url('assets/case-cofounder.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--cream);
}

.case-card__tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}

.case-card__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 20px;
  line-height: 1.22;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
  text-transform: lowercase;
}

/* сохраняет регистр как написано в разметке — для заголовков, где первая буква должна быть заглавной */
.case-card__title--as-is { text-transform: none; }

/* маленькая уточняющая подпись, относящаяся к заголовку — держим её вплотную к нему */
.case-card__subnote {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.02em;
  opacity: 0.6;
  margin-top: -6px;
  margin-bottom: 14px;
}

.case-card__desc {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
  opacity: 0.85;
}

.case-card__highlight {
  color: var(--red);
  font-weight: 700;
  white-space: nowrap;
}

.case-card__result {
  display: inline-block;
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 13px;
  color: var(--red);
  border: 1px solid currentColor;
  padding: 4px 10px;
}

/* ==========================================================================
   ФОРМАТ РАБОТЫ
   ========================================================================== */
.format__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px 32px;
}

.format__item {
  border-left: var(--border-w) solid var(--glow-orange);
  padding-left: 20px;
}

.format__index {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--glow-orange);
  display: block;
  margin-bottom: 8px;
}

.format__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--cream);
  margin-bottom: 0;
  text-transform: lowercase;
}

/* услуги: компактнее — меньше вертикальных отступов, кнопка под сеткой */
#services { padding-top: 84px; padding-bottom: 68px; }
#services .section-title { margin-bottom: 32px; }
.format__cta { margin-top: 36px; }

/* кнопка под услугами — чуть компактнее обычной */
.format__cta-btn { padding: 13px 20px; font-size: 12px; }

.format__desc {
  font-size: 14px;
  line-height: 1.55;
  color: var(--cream-dim);
}

.format__desc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--cream-dim);
}
.format__desc-list li { margin-bottom: 2px; }
.format__desc-list li:last-child { margin-top: 6px; }

/* ==========================================================================
   ФИНАЛЬНЫЙ CTA
   ========================================================================== */
.cta-final { text-align: center; padding-bottom: 100px; }

.cta-final__inner {
  max-width: 800px;
  margin: 0 auto;
}

.cta-final__text {
  font-family: var(--font-brand);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(48px, 9vw, 110px);
  margin-bottom: 40px;
}

.cta-final__buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}

.cta-final__footnote {
  font-family: var(--font-mono);
  font-size: 12px;
  opacity: 0.6;
}

/* ==========================================================================
   ОСНОВАТЕЛИ
   ========================================================================== */
.founders__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px 48px;
  margin-bottom: 56px;
}

/* карточка горизонтальная: фото + текст рядом — заполняет ширину, не пустует */
.founder-card {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.founder-card__photo {
  flex: 0 0 clamp(150px, 15vw, 210px);
  aspect-ratio: 4 / 5;
  border: var(--border-w) solid var(--black);
  background-size: cover;
  background-position: center 20%;
  background-color: var(--cream-dim);
  transition: transform 0.4s ease, filter 0.4s ease;
}
/* ховер: фото чуть оживает */
.founder-card:hover .founder-card__photo {
  transform: scale(1.02);
  filter: contrast(1.06) saturate(1.08);
}
/* ЗАМЕНИТЬ: фото основателей */
.founder-card__photo--kirill { background-image: url('assets/founder-kirill.jpg'); }
.founder-card__photo--egor { background-image: url('assets/founder-egor.jpg'); }

.founder-card__info {
  flex: 1 1 auto;
  min-width: 0;
}

.founder-card__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin-bottom: 6px;
}

.founder-card__role {
  display: block;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.55;
  margin-bottom: 16px;
}

.founder-card__bio {
  font-size: 15px;
  line-height: 1.55;
  opacity: 0.82;
}

.founder-card__hl {
  color: var(--red);
  font-weight: 700;
  white-space: nowrap;
}

.founders__footer {
  border-top: var(--border-w) solid var(--black);
  padding-top: 36px;
}

.founders__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
}

/* ==========================================================================
   АДАПТИВ
   ========================================================================== */
@media (max-width: 720px) {
  .section { padding: 72px 5vw 56px; }
  .hero { padding-top: 72px; gap: 44px; }
  .hero__brand { font-size: clamp(44px, 18vw, 72px); }
  .hero__brand-sub { margin-top: 20px; }
  .hero__tagline { font-size: 16px; line-height: 1.5; }
  .hero__cta { gap: 10px; }
  .hero .btn { padding: 12px 18px; font-size: 11px; }
  .philosophy__text { grid-template-columns: 1fr; }
  .corner-tag { font-size: 9px; }
  .cta-strip__inner { flex-direction: column; align-items: flex-start; }

  /* основатели: на мобильной — по одному в строке, фото маленькое слева + текст справа */
  .founders__grid { grid-template-columns: 1fr; gap: 26px; margin-bottom: 40px; }
  .founder-card { gap: 16px; }
  .founder-card__photo { flex-basis: clamp(96px, 30vw, 128px); }
  .founder-card__name { font-size: 18px; }
  .founder-card__role { font-size: 10px; margin-bottom: 10px; }
  .founder-card__bio { font-size: 13px; line-height: 1.5; }
}

/* уважаем настройку "меньше движения" — отключаем все декоративные анимации/переходы */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-delay: 0s !important;
    transition-duration: 0.001ms !important;
  }
  .section,
  .hero__brand-word,
  .hero__brand-sub,
  .hero__tagline,
  .hero__cta .btn,
  .case-card,
  .founder-card,
  .format__item {
    opacity: 1 !important;
    transform: none !important;
  }
  .scroll-progress { display: none; }
}
