/* =====================================================================
   YouCreator — токены дизайн-системы
   Эталон: profile.php (styles/profile-redesign.css, блок .profile-page).

   Имена совпадают с styles/tokens.css сайта: файл можно подключить
   вместо него, старые правила продолжат работать. Новые имена
   (--sunken, --line, --lift, --radius-inner …) пришли из --pf-* профиля.

   Подключение:
     <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400..700&display=swap">
     <link rel="stylesheet" href="/styles/tokens.css">
   ===================================================================== */

:root {
  /* ---------- Цвета: четыре роли ----------
     Фон — молочный. Основной 1 — бордовый. Основной 2 — дымчато-голубой.
     Вспомогательный — графит (наш «чёрный»). Других оттенков нет:
     состояния различаются насыщенностью этих четырёх. */

  /* Фон и поверхности */
  --milk: #efeeec;            /* фон страницы, шапка, плашки показателей */
  --white: #ffffff;           /* карточки, модалки, тосты */
  --sunken: #e9e7e3;          /* «утопленное»: поля, вложенные плашки, дорожки прогресса */

  /* Основной 1 — бордовый */
  --burgundy: #6e2639;        /* главная кнопка, плитка ранга, активный таб, линия графика */
  --burgundy-dark: #571c2d;   /* наведение и нажатие на бордовом */
  --burgundy-10: rgba(110, 38, 57, .10); /* фон иконок, чипсов, наведение */
  --burgundy-06: rgba(110, 38, 57, .06); /* самый лёгкий бордовый фон */

  /* Основной 2 — дымчато-голубой */
  --smoke-panel: color-mix(in srgb, #7b93a3 92%, #efeeec);
  --smoke-heading: color-mix(in srgb, #7b93a3 90%, #343745);
  --smoke-ink: color-mix(in srgb, #7b93a3 55%, #343745);
  --smoke: #7b93a3;           /* утверждён 15.10.2026 (было #8fa3b0): вторая серия графиков, рамка поля в фокусе, плейсхолдеры, «предупреждение» */
  --smoke-38: rgba(123, 147, 163, .38); /* столбики графиков, заливки */
  --smoke-24: rgba(123, 147, 163, .24); /* чипс «на доработке», мягкие плашки */
  --smoke-ring: rgba(123, 147, 163, .3); /* кольцо фокуса у полей */

  /* Вспомогательный — графит */
  --graphite: #343745;        /* основной текст, контурная кнопка, статус «успех» */
  --graphite-deep: #292c37;   /* заголовки, числа, тёмная подсказка графика */
  --graphite-14: rgba(52, 55, 69, .14);  /* чипс «завершил» */

  /* Текст и линии */
  --secondary: #66666c;       /* второстепенный текст; 4.9:1 на --milk (AA) */
  --border: #d6d5d1;          /* рамки, линия под табами и шапкой */
  --line: rgba(41, 44, 55, .09); /* волосяные разделители внутри карточек */

  /* Смысловые алиасы — использовать их, а не hex */
  --text: var(--graphite);
  --text-strong: var(--graphite-deep);
  --text-muted: var(--secondary);
  --text-on-accent: var(--white);
  --text-on-accent-muted: rgba(255, 255, 255, .75);
  --text-on-accent-faint: rgba(255, 255, 255, .65);
  --success: var(--graphite);
  --error: var(--burgundy);
  --warning: var(--smoke);
  --overlay: rgba(28, 29, 36, .55);

  /* ---------- Шрифт ---------- */
  --font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-medium-plus: 550;      /* названия строк, сводки — работает только с вариативным Manrope */
  --fw-semibold: 600;
  --fw-semibold-plus: 650;    /* заголовки блоков */

  /* Шкала продукта (профиль) */
  --fs-display: clamp(28px, 3.4vw, 42px);  /* имя в шапке, заголовок страницы */
  --fs-figure: clamp(30px, 3.2vw, 42px);   /* значение в плитке */
  --fs-h2: clamp(19px, 2vw, 23px);         /* заголовок блока */
  --fs-h3: 16px;                           /* заголовок карточки, графика */
  --fs-body: 16px;                         /* базовый текст */
  --fs-row: 15px;                          /* строки, лид, табы */
  --fs-ui: 14px;                           /* кнопки, приветствие, подпись */
  --fs-small: 13px;                        /* подсказки, второстепенное */
  --fs-eyebrow: 12px;                      /* надстрочник КАПСОМ */
  --fs-micro: 11px;                        /* бейджи, оси графиков */

  /* Шкала сайта (лендинг) — крупнее продукта */
  --fs-site-hero: clamp(44px, 5.4vw, 80px);
  --fs-site-h2: clamp(32px, 3.6vw, 54px);
  --fs-site-lead: clamp(17px, 1.4vw, 20px);
  --fs-site-figure: clamp(56px, 6.4vw, 104px);

  /* Public editorial roles, synced with the design-system tokens (26.10). */
  --fs-editorial-title: clamp(32px, 5.8svh, 60px);
  --fs-editorial-title-mobile: clamp(28px, 7.6vw, 36px);
  --lh-editorial-title: 1.06;
  --tracking-editorial: -.045em;
  --fs-editorial-tower: clamp(22px, 3.4svh, 30px);
  --fs-editorial-body: clamp(16px, 2.3svh, 20px);

  --lh-display: 1.06;
  --lh-heading: 1.2;
  --lh-body: 1.6;
  --lh-lead: 1.55;
  --lh-small: 1.45;

  --tracking-display: -0.03em;
  --tracking-h2: -0.02em;
  --tracking-h3: -0.01em;
  --tracking-eyebrow: .15em;
  --tracking-badge: .08em;

  /* ---------- Отступы (нумерация как на сайте) ---------- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;   /* поля карточек */
  --space-6: 32px;
  --space-7: 48px;   /* между блоками */
  --space-8: 64px;

  /* ---------- Сетка ---------- */
  --measure: 860px;                       /* колонка продукта (профиль, кабинет) */
  --container: 1240px;                    /* колонка сайта (лендинг, каталог) */
  --gutter: clamp(20px, 4vw, 56px);       /* боковые поля */
  --section-space: clamp(88px, 10vw, 128px); /* отступ между полосами лендинга */
  --tile-gap: 10px;                       /* зазор между плитками статуса */
  --hit: 44px;                            /* минимальная область нажатия */

  /* ---------- Скругления: шкала профиля, утверждена 15.10.2026 ---------- */
  --radius-sm: 8px;        /* кнопки, поля, select, сегменты дока */
  --radius-md: 14px;       /* средние плашки: карточка квеста, кнопки-плашки куратора */
  --radius-inner: 16px;    /* вложенное: алерты, утопленные плашки, тосты, KPI-полоса */
  --radius-lg: 22px;       /* карточки, панели, плитки, модалки */
  --radius-pill: 999px;    /* бейджи, чипсы, прогресс, док на телефоне */
  --radius-round: 50%;     /* аватары, иконки в кружке */

  /* ---------- Глубина ---------- */
  --lift: 0 1px 2px rgba(41, 44, 55, .04), 0 14px 34px -22px rgba(41, 44, 55, .5); /* единственная тень карточек */
  --shadow-pop: 0 24px 60px -28px rgba(41, 44, 55, .55);   /* тосты, выпадающие списки */
  --shadow-modal: 0 32px 90px -28px rgba(41, 44, 55, .62); /* модалки */
  --shadow-dock: 0 8px 28px -6px rgba(28, 29, 36, .22);    /* плавающий док табов */
  --shadow-photo: 0 4px 8px rgba(30, 31, 40, .06), 0 28px 56px -18px rgba(30, 31, 40, .26); /* фото на лендинге */
  --blur-overlay: 4px;
  --blur-header: 10px;

  /* ---------- Фокус ---------- */
  --focus: 2px solid var(--burgundy);
  --focus-offset: 3px;

  /* ---------- Движение ----------
     Длительность описывает задачу, кривая — физику. Всё плавное, без перелёта. */
  --ease-fn: cubic-bezier(.2, .7, .2, 1);       /* основное плавное торможение */
  --motion-spring: cubic-bezier(.32, .72, 0, 1); /* мягкая пружина без перелёта: бегунки, маркеры, стрелки */
  --ease: 250ms cubic-bezier(.2, .7, .2, 1);    /* старое полное значение — для `transition: color var(--ease)` */

  --motion-press: 110ms;    /* нажатие */
  --motion-feedback: 240ms; /* отклик: цвет, рамка, фон */
  --motion-move: 420ms;     /* перемещение: бегунок, табы, модалка */
  --motion-route: 620ms;    /* путь по маршруту, появление Юки */

  --motion-exit: 180ms;     /* уход элемента: быстрее, чем появление */
  --ease-exit: cubic-bezier(.4, 0, .9, .6); /* разгон на уходе */
  --stagger: 40ms;          /* шаг между элементами списка */
  --sequence: 120ms;        /* пауза между шагами сценария */

  --dur-fast: 220ms;        /* совместимость со старым CSS */
  --dur-base: 300ms;
  --dur-slow: 420ms;

  /* ---------- Слои ---------- */
  --z-header: 100;
  --z-dock: 1000;
  --z-modal: 1100;
  --z-toast: 1200;
}

/* Точки перехода (в media-запросах переменные не работают — числа):
   900px — планшет: плитки статуса перестраиваются
   768px — компактный экран: шапка профиля в колонку, графики в одну колонку
   640px — телефон: табы становятся плавающим доком, модалка — листом снизу
   480px — узкий телефон: кнопки во всю ширину, всё в одну колонку */

@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-press: 1ms;
    --motion-feedback: 1ms;
    --motion-move: 1ms;
    --motion-route: 1ms;
    --motion-exit: 1ms;
    --stagger: 0ms;
    --sequence: 0ms;
    --dur-fast: 1ms;
    --dur-base: 1ms;
    --dur-slow: 1ms;
    --ease: 1ms linear;
  }
}



/* Выбранный плакатный макет. Голубые заголовки и контактная панель —
   правка владельца; огромный масштаб hero — осознанное исключение. */
:root { --poster-display: clamp(64px, 19.1vw, 268px); --poster-index: clamp(72px, 8.8vw, 124px); --poster-rule: var(--smoke-24); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--milk); color: var(--graphite); font-family: var(--font-sans); font-size: var(--fs-body); line-height: var(--lh-body); font-weight: var(--fw-regular); -webkit-font-smoothing: antialiased; font-variant-numeric: tabular-nums; }
body.menu-open { overflow: hidden; }
::selection { color: var(--white); background: var(--burgundy); }
h1,h2,h3,p,figure,ol { margin: 0; }
ol { padding: 0; list-style: none; }
a { color: inherit; }
button { font: inherit; }
button,a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
h1,h2,h3 { font-weight: var(--fw-semibold); letter-spacing: var(--tracking-h2); text-wrap: balance; }
p { text-wrap: pretty; }
[hidden] { display: none !important; }
:focus-visible { outline: var(--focus); outline-offset: var(--focus-offset); }
.container { width: min(calc(100% - var(--gutter) * 2), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; top: var(--space-3); left: var(--space-4); z-index: 200; padding: var(--space-3) var(--space-5); color: var(--white); background: var(--burgundy); border-radius: var(--radius-sm); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.header { position: sticky; top: 0; z-index: var(--z-header); background: color-mix(in srgb, var(--milk) 96%, transparent); backdrop-filter: blur(var(--blur-header)); }
.header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); border-bottom: 1px solid transparent; }
.header.is-scrolled .header-inner { border-color: var(--border); }
.logo-link { display: flex; align-items: center; min-height: var(--hit); flex-shrink: 0; }
.logo-link img { width: 134px; height: auto; }
.desktop-nav { display: flex; gap: var(--space-5); }
.desktop-nav a,.lang-switch button { font-size: var(--fs-small); font-weight: var(--fw-medium); }
.desktop-nav a { display: flex; align-items: center; min-height: var(--hit); text-decoration: none; position: relative; }
.desktop-nav a::after { content: ''; position: absolute; bottom: 6px; inset-inline: 0; height: 1px; background: var(--burgundy); transform: scaleX(0); transform-origin: left; transition: transform var(--motion-move) var(--motion-spring); }
.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after { transform: scaleX(1); }
.header-actions,.lang-switch { display: flex; align-items: center; }
.lang-switch span { color: var(--border); }
.lang-switch button { border: 0; background: transparent; color: var(--secondary); min-width: var(--hit); min-height: var(--hit); padding: 0; }
.lang-switch button[aria-pressed='true'] { color: var(--burgundy); font-weight: var(--fw-semibold); }
.menu-button { display: none; min-height: var(--hit); border: 0; background: transparent; color: var(--graphite); padding: var(--space-2); }
.mobile-nav { position: absolute; top: 100%; inset-inline: 0; max-height: calc(100dvh - 64px); overflow: auto; padding: var(--space-4) var(--gutter) var(--space-6); background: var(--milk); border-bottom: 1px solid var(--border); }
.mobile-nav a { display: block; padding-block: var(--space-4); border-bottom: 1px solid var(--border); text-decoration: none; font-size: var(--fs-site-h2); }
.hero { padding-top: var(--space-4); padding-bottom: var(--space-5); }
.hero-heading { position: relative; }
.hero-title { color: var(--graphite-deep); font-size: var(--poster-display); line-height: .74; letter-spacing: -.065em; font-weight: 700; text-wrap: nowrap; }
.title-mask { display: block; overflow: clip; padding-bottom: .12em; margin-bottom: -.12em; }
.title-mask > span { display: block; transform-origin: bottom left; }
.hero-aside { position: absolute; right: 0; top: var(--space-5); max-width: 25%; font-size: clamp(16px, 1.6vw, 23px); line-height: 1.4; letter-spacing: -.035em; }
.hero-aside span { display: block; }
.hero-bottom { display: grid; grid-template-columns: 28% minmax(0, 1fr); gap: var(--space-5); margin-top: var(--space-5); }
.hero-copy { display: flex; align-items: flex-start; flex-direction: column; padding-top: var(--space-6); gap: var(--space-4); }
.hero-copy > p { max-width: none; font-size: clamp(23px, 2.2vw, 32px); letter-spacing: -.045em; line-height: 1.26; margin-bottom: var(--space-3); }
.hero-photos { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: var(--space-3); }
.hero-photo { min-width: 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--white); padding: var(--space-2); box-shadow: var(--shadow-photo); }
.hero-photo img { width: 100%; height: 100%; aspect-ratio: 1.8; object-fit: cover; border-radius: var(--radius-inner); }
.hero-photo-secondary img { object-position: 45% 50%; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: var(--space-5); min-height: 52px; border: 1px solid transparent; padding: var(--space-3) var(--space-5); border-radius: var(--radius-sm); font-size: var(--fs-ui); font-weight: var(--fw-medium-plus); text-align: center; line-height: 1.35; text-decoration: none; transition: color var(--motion-feedback) var(--ease-fn),background-color var(--motion-feedback) var(--ease-fn),transform var(--motion-press) var(--ease-fn); }
.button:active { transform: scale(.975); }
.button-primary { background: var(--burgundy); color: var(--white); }
.button-primary:hover { background: var(--burgundy-dark); }
.arrow { display: inline-block; flex-shrink: 0; transition: transform var(--motion-move) var(--motion-spring); }
.button:hover .arrow,.tool:hover .arrow { transform: translateX(var(--space-1)); }
.text-link { min-height: var(--hit); display: inline-flex; align-items: center; font-size: var(--fs-ui); text-underline-offset: 5px; text-decoration-thickness: 1px; }
.text-link:hover { color: var(--burgundy); }
.hero-footnote { margin-top: var(--space-5); display: flex; justify-content: space-between; align-items: center; font-size: var(--fs-small); color: var(--secondary); }
.scroll-cue { min-height: var(--hit); display: inline-flex; align-items: center; gap: var(--space-5); text-decoration: none; }
.section { padding-block: var(--space-8); }
.section-white { background: var(--white); }
.editorial-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 3fr); gap: var(--space-6); }
.section-side { max-width: 23ch; }
.eyebrow { text-transform: uppercase; font-size: var(--fs-micro); letter-spacing: var(--tracking-eyebrow); font-weight: var(--fw-medium); }
.section-side .eyebrow { margin-bottom: var(--space-4); color: var(--secondary); }
.section-side h2 { font-size: clamp(25px, 2.5vw, 36px); line-height: 1.13; letter-spacing: -.045em; color: var(--smoke-heading); }
.section-side > p:last-child { margin-top: var(--space-4); font-size: var(--fs-row); line-height: 1.45; color: var(--secondary); }
.results-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.result { padding-inline: var(--space-5); border-left: 1px solid var(--poster-rule); }
.result-number { display: block; font-size: var(--poster-index); line-height: 1; font-weight: var(--fw-semibold); letter-spacing: -.065em; color: var(--smoke-heading); margin-bottom: var(--space-4); }
.result h3 { font-size: 21px; line-height: 1.18; letter-spacing: -.035em; margin-bottom: var(--space-3); color: var(--smoke-heading); }
.result-accent .result-number,.result-accent h3 { color: var(--burgundy); }
.result p { font-size: var(--fs-row); color: var(--secondary); line-height: 1.5; }
.process-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.process-grid li { border-left: 1px solid var(--poster-rule); padding-inline: var(--space-4); }
.step-number { display: block; font-size: var(--fs-display); line-height: 1; color: var(--smoke-heading); letter-spacing: -.045em; margin-bottom: var(--space-4); }
.process-grid h3 { font-size: var(--fs-row); line-height: 1.25; margin-bottom: var(--space-3); }
.process-grid p { font-size: var(--fs-small); line-height: 1.5; color: var(--secondary); }
.tools-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-5); }
.tool { text-decoration: none; }
.tool figure { aspect-ratio: 1.65; overflow: hidden; border-radius: var(--radius-inner); background: var(--milk); margin-bottom: var(--space-4); }
.tool img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--motion-route) var(--ease-fn); }
.tool:nth-child(2) img { object-position: 50% 27%; }
.tool:hover img { transform: scale(1.025); }
.tool-heading { display: flex; align-items: baseline; gap: var(--space-2); justify-content: space-between; margin-bottom: var(--space-2); }
.tool-heading h3 { font-size: 20px; color: var(--smoke-heading); letter-spacing: -.035em; }
.tool-heading .arrow { color: var(--smoke-heading); }
.tool > p { font-size: var(--fs-row); line-height: 1.5; color: var(--secondary); }
.audience-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.audience-grid article { padding-inline: var(--space-4); border-left: 1px solid var(--poster-rule); }
.audience-grid h3 { font-size: var(--fs-h3); line-height: 1.3; margin-bottom: var(--space-4); }
.audience-grid p { font-size: var(--fs-small); line-height: 1.5; color: var(--secondary); }
.pilot-body { display: grid; grid-template-columns: 1.1fr .7fr 1fr; align-items: center; gap: var(--space-5); }
.pilot-days { display: flex; align-items: center; gap: var(--space-3); }
.pilot-seven { font-size: clamp(130px,14vw,200px); color: var(--burgundy); letter-spacing: -.07em; line-height: .8; font-weight: var(--fw-semibold); }
.pilot-days h3 { font-size: var(--fs-display); color: var(--burgundy); line-height: 1; margin-bottom: var(--space-4); }
.pilot-days p { font-size: var(--fs-row); color: var(--secondary); line-height: 1.5; white-space: pre-line; }
.pilot-terms { border-left: 1px solid var(--poster-rule); padding-left: var(--space-5); }
.pilot-terms p { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: baseline; font-size: var(--fs-small); }
.pilot-terms strong { font-size: clamp(36px,4.5vw,64px); color: var(--smoke-heading); line-height: 1.2; font-weight: var(--fw-semibold); letter-spacing: -.05em; }
.pilot-action .button { width: 100%; }
.pilot-action p { margin-top: var(--space-3); font-size: var(--fs-small); color: var(--secondary); }
.contact-section { padding-block: var(--space-6) var(--space-4); }
.contact-panel { display: grid; grid-template-columns: 1fr 1.5fr .7fr; gap: var(--space-6); background: var(--smoke); border-radius: var(--radius-lg); padding: var(--space-7); color: var(--graphite-deep); }
.contact-intro h2 { font-size: clamp(28px,3vw,42px); line-height: 1.06; margin-block: var(--space-4); letter-spacing: -.045em; }
.contact-intro > p:last-of-type { max-width: 25ch; font-size: var(--fs-row); line-height: 1.5; }
.contact-direct { display: inline-flex; min-height: var(--hit); align-items: center; margin-top: var(--space-4); text-underline-offset: 5px; font-size: var(--fs-ui); }
.button-contact { color: var(--white); background: var(--burgundy); }
.button-contact:hover { background: var(--burgundy-dark); }
.contact-brand { border-left: 1px solid var(--graphite-14); padding-left: var(--space-5); }
.contact-brand img { height: auto; width: 134px; margin-bottom: var(--space-5); }
.contact-brand p,.contact-brand a { font-size: var(--fs-small); line-height: 1.55; }
.contact-brand a { display: inline-flex; align-items: center; min-height: var(--hit); margin-top: var(--space-4); text-decoration: none; }
.footer { padding-block: var(--space-4) var(--space-5); display: flex; justify-content: space-between; align-items: center; color: var(--secondary); font-size: var(--fs-micro); }
.footer > div { display: flex; flex-wrap: wrap; gap: 0 var(--space-5); }
.footer button { border: 0; background: transparent; color: inherit; padding: 0; min-height: var(--hit); font-size: inherit; }
.footer button[aria-pressed='true'] { color: var(--burgundy); text-decoration: underline; text-underline-offset: 4px; }
.motion-off { scroll-behavior: auto; }
.motion-off *,.motion-off *::before,.motion-off *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
.motion-off .button:active,.motion-off .tool:hover img { transform: none; }
.footer a { display: inline-flex; align-items: center; min-height: var(--hit); text-decoration: none; }
.footer a:hover { color: var(--burgundy); }
.lang-en .hero-title { font-size: clamp(44px, 14.25vw, 200px); letter-spacing: -.07em; }
.lang-en .hero-aside { max-width: 28%; top: auto; bottom: 12%; }
.lang-en .button { font-size: var(--fs-small); }

@media (min-width: 901px) { .header nav.mobile-nav { display: none !important; } }
@media (max-width: 900px) {
  .desktop-nav { display: none; }.menu-button { display: block; }
  .hero-aside { max-width: 31%; font-size: var(--fs-row); top: var(--space-3); }
  .hero-title { font-size: 16.1vw; }
  .hero-bottom { grid-template-columns: 31% minmax(0,1fr); gap: var(--space-4); }
  .hero-copy { padding-top: var(--space-3); }.hero-copy > p { font-size: 22px; }
  .hero-copy .button { gap: var(--space-3); padding-inline: var(--space-4); }
  .hero-photos { grid-template-columns: minmax(0,3fr) minmax(0,1fr); gap: var(--space-2); }
  .hero-photo { padding: var(--space-1); }.hero-photo img { aspect-ratio: 1.25; }
  .editorial-grid { grid-template-columns: minmax(0,.8fr) minmax(0,3fr); gap: var(--space-5); }
  .result { padding-inline: var(--space-4); }.result h3 { font-size: var(--fs-h3); }.result p { font-size: var(--fs-small); }
  .process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: var(--space-6); }
  .tools-grid { gap: var(--space-4); }.tool-heading h3 { font-size: var(--fs-h3); }.tool > p { font-size: var(--fs-small); }
  .audience-grid { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: var(--space-6); }
  .pilot-body { grid-template-columns: 1fr 1fr; }.pilot-action { grid-column: 1 / -1; display: flex; align-items: center; gap: var(--space-5); }.pilot-action .button { width: auto; flex-shrink: 0; }.pilot-action p { margin: 0; }
  .contact-panel { grid-template-columns: 1fr 1.5fr; padding: var(--space-6); gap: var(--space-5); }.contact-brand { grid-column: 1/-1; display: flex; align-items: center; gap: var(--space-5); border: 0; padding: var(--space-5) 0 0; border-top: 1px solid var(--graphite-14); }.contact-brand img,.contact-brand a { margin: 0; }.contact-brand p { flex: 1; }
}
@media (max-width: 768px) {
  .section { padding-block: var(--space-7); }
  .editorial-grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .section-side { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2) var(--space-5); align-items: end; }
  .section-side .eyebrow { grid-column: 1/-1; margin: 0; }.section-side h2 { font-size: 32px; }.section-side > p:last-child { margin: 0; font-size: var(--fs-small); max-width: 30ch; }
  .hero-aside { max-width: 30%; font-size: var(--fs-small); }.hero-copy > p { font-size: 20px; }.hero-copy .button { font-size: var(--fs-small); }.hero-photos { grid-template-columns: 1fr; }.hero-photo-secondary { display: none; }.hero-photo img { aspect-ratio: 1.4; }
  .result:first-child,.process-grid li:first-child,.audience-grid article:first-child { padding-left: 0; border-left: 0; }.result:last-child { padding-right: 0; }.result-number { font-size: 86px; }
  .process-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }.process-grid li { padding-inline: var(--space-3); }.process-grid h3 { font-size: var(--fs-small); }.process-grid p { font-size: var(--fs-micro); }
  .audience-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }.audience-grid h3 { font-size: var(--fs-small); }.audience-grid p { font-size: var(--fs-micro); }
  .pilot-body { grid-template-columns: 1.1fr .65fr 1fr; }.pilot-action { grid-column: auto; display: block; }.pilot-action .button { width: 100%; }.pilot-action p { margin-top: var(--space-3); }
}
@media (max-width: 640px) {
  .header-inner { min-height: 64px; gap: var(--space-3); }.logo-link img { width: 108px; }.lang-switch button { min-width: 36px; }
  .hero { padding-top: var(--space-5); }.hero-title { font-size: 16vw; line-height: .92; letter-spacing: -.075em; }.hero-aside { position: static; display: flex; flex-wrap: wrap; gap: 0 var(--space-1); max-width: none; margin-top: var(--space-5); font-size: var(--fs-micro); }
  .hero-bottom { grid-template-columns: 1fr; gap: var(--space-5); }.hero-copy { display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding-top: 0; gap: var(--space-4); }.hero-copy > p { grid-column: 1/-1; max-width: 26ch; margin: 0; font-size: 25px; }.hero-copy .button { padding-inline: var(--space-4); }.hero-copy .text-link { justify-content: center; font-size: var(--fs-small); }
  .hero-photos { grid-template-columns: 3fr 1fr; gap: var(--space-2); }.hero-photo img { aspect-ratio: 1.25; }.hero-photo-secondary { display: block; }.hero-footnote { font-size: 10px; }.scroll-cue { gap: var(--space-2); }
  .section-side { grid-template-columns: 1fr; }.section-side > p:last-child { max-width: 40ch; margin-top: var(--space-2); }.section-side h2 { font-size: 32px; }
  .results-grid { grid-template-columns: 1fr; }.result,.result:first-child { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: var(--space-2) var(--space-4); padding: var(--space-5) 0; border-left: 0; border-bottom: 1px solid var(--poster-rule); }.result:last-child { border-bottom: 0; padding-bottom: 0; }.result-number { font-size: 72px; grid-row: 1/3; margin: 0; }.result h3 { font-size: 22px; margin: 0; }.result p { font-size: var(--fs-small); }
  .process-grid { grid-template-columns: 1fr; }.process-grid li,.process-grid li:first-child { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: var(--space-2) var(--space-4); padding: 0 0 var(--space-5); border: 0; border-bottom: 1px solid var(--poster-rule); }.process-grid li:last-child { padding-bottom: 0; border-bottom: 0; }.step-number { font-size: 32px; grid-row: 1/3; margin: 0; }.process-grid h3 { font-size: 18px; margin: 0; }.process-grid p { font-size: var(--fs-small); }
  .tools-grid { grid-template-columns: 1fr; gap: var(--space-6); }.tool figure { aspect-ratio: 1.9; }.tool-heading h3 { font-size: 24px; }.tool > p { font-size: var(--fs-row); }
  .audience-grid { grid-template-columns: 1fr 1fr; gap: var(--space-6) var(--space-4); }.audience-grid article { padding: 0; border: 0; }.audience-grid h3 { font-size: var(--fs-h3); }.audience-grid p { font-size: var(--fs-small); }
  .pilot-body { grid-template-columns: 1fr 1fr; gap: var(--space-6) var(--space-4); }.pilot-days { gap: var(--space-2); }.pilot-seven { font-size: 130px; }.pilot-days h3 { font-size: 32px; }.pilot-days p { font-size: var(--fs-micro); }.pilot-terms { padding-left: var(--space-4); }.pilot-action { grid-column: 1/-1; }.pilot-action .button { width: auto; }
  .contact-section { width: calc(100% - var(--space-4) * 2); }.contact-panel { grid-template-columns: 1fr; padding: var(--space-5); gap: var(--space-6); }.contact-intro h2 { font-size: 38px; }.contact-intro > p:last-of-type { max-width: 35ch; }.contact-direct { margin-top: var(--space-2); }.contact-brand { flex-wrap: wrap; }.contact-brand p { flex-basis: 55%; }.contact-brand a { margin: 0; }.footer { flex-wrap: wrap; gap: var(--space-2); }.footer > div { gap: var(--space-4); }
  .lang-en .hero-title { font-size: 13.6vw; }.lang-en .hero-aside { max-width: none; }
}
@media (max-width: 480px) { .hero-copy { grid-template-columns: 1fr; gap: var(--space-2); }.hero-copy > p { margin-bottom: var(--space-3); }.hero-copy .button { width: 100%; }.hero-copy .text-link { justify-self: start; }.contact-brand p { flex-basis: 100%; }.contact-brand img { width: 118px; }.contact-panel { padding: var(--space-5) var(--space-4); }.hero-footnote { align-items: flex-start; }.hero-footnote > span { max-width: 16ch; }.result { grid-template-columns: 70px minmax(0,1fr); gap: var(--space-2) var(--space-3); }.result h3 { font-size: 20px; }.pilot-terms p { font-size: 11px; }.hero-photo { border-radius: var(--radius-inner); }.hero-photo img { border-radius: var(--radius-md); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }.button:active,.tool:hover img { transform: none; } }
@media (prefers-contrast: more) { .section-side h2,.result:not(.result-accent) h3,.tool-heading h3 { color: var(--graphite); }.result,.process-grid li,.audience-grid article { border-color: var(--secondary); } }
@media (prefers-reduced-transparency: reduce) { .header { background: var(--milk); backdrop-filter: none; } }

/* Голубой из брифа: базовая заливка, доступные производные для текста. */
.result:not(.result-accent) h3,.tool-heading h3,.audience-grid h3,.process-grid h3 { color: var(--smoke-ink); }
.contact-panel { background: var(--smoke-panel); }

.section .section-side > p:last-child,.result p,.process-grid p,.tool > p,.audience-grid p,.pilot-action p { color: var(--smoke-ink); }

/* Вторая редакция: hero остаётся утверждённым, нижняя часть меняет ритм. */
.result-story,.tools-showcase,.audience-story { padding-block: var(--section-space); }
.story-heading { display: grid; grid-template-columns: 1.8fr 1fr; gap: var(--space-5) var(--space-8); align-items: end; margin-bottom: var(--space-7); }
.story-heading .eyebrow { grid-column: 1/-1; color: var(--secondary); }
.story-heading h2 { font-size: var(--fs-site-h2); line-height: 1.08; letter-spacing: -.045em; color: var(--smoke-heading); }
.story-heading h2 span { display: block; }
.story-heading > p:last-child { color: var(--smoke-ink); font-size: var(--fs-site-lead); line-height: 1.5; max-width: 28ch; }
.result-stage { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: var(--space-8); }
.result-photo { position: relative; background: var(--milk); border-radius: var(--radius-lg); padding: var(--space-2); box-shadow: var(--shadow-photo); }
.result-photo img { aspect-ratio: 1.3; width: 100%; height: auto; object-fit: cover; object-position: 48% center; border-radius: var(--radius-inner); }
.result-photo figcaption { padding: var(--space-4) var(--space-3) var(--space-2); color: var(--smoke-ink); font-size: var(--fs-small); }
.result-question { border-bottom: 1px solid var(--border); padding-block: var(--space-5); }
.result-question:first-child { padding-top: 0; }
.result-question summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); cursor: pointer; list-style: none; min-height: var(--hit); }
.result-question summary::-webkit-details-marker { display: none; }
.result-question summary h3 { font-size: clamp(22px,2.3vw,32px); line-height: 1.2; letter-spacing: -.035em; color: var(--smoke-ink); max-width: 23ch; }
.result-question summary > span { font-size: 30px; font-weight: var(--fw-regular); color: var(--smoke); transition: transform var(--motion-move) var(--ease-fn); }
.result-question[open] summary h3 { color: var(--burgundy); }
.result-question[open] summary > span { transform: rotate(45deg); color: var(--burgundy); }
.result-question > p { padding-top: var(--space-4); padding-right: var(--space-6); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--smoke-ink); max-width: 46ch; }
.result-questions > a { margin-top: var(--space-5); gap: var(--space-4); color: var(--burgundy); }
.practice-manifesto { padding-block: var(--section-space); background: var(--smoke-24); }
.manifesto-grid { display: grid; grid-template-columns: 1.45fr 1fr; align-items: center; gap: var(--space-8); }
.manifesto-grid .eyebrow { margin-bottom: var(--space-6); color: var(--smoke-ink); }
.manifesto-grid h2 { font-size: clamp(46px,6.3vw,88px); line-height: 1.03; letter-spacing: -.055em; color: var(--smoke-ink); }
.manifesto-grid h2 span { display: block; }
.manifesto-grid h2 span:last-child { color: var(--burgundy); }
.manifesto-copy > p:first-child { font-size: var(--fs-site-lead); line-height: 1.55; }
.manifesto-copy > p:nth-child(2) { margin-top: var(--space-5); color: var(--smoke-ink); font-size: var(--fs-row); max-width: 42ch; }
.manifesto-copy .text-link { margin-top: var(--space-5); gap: var(--space-4); }
.tools-heading .eyebrow { color: var(--secondary); margin-bottom: var(--space-5); }
.tools-heading h2 { font-size: var(--fs-site-h2); line-height: 1.1; letter-spacing: -.045em; color: var(--smoke-heading); max-width: 23ch; }
.tool-tabs { display: flex; gap: var(--space-7); margin-top: var(--space-7); margin-bottom: var(--space-6); border-bottom: 1px solid var(--border); }
.tool-tabs button { position: relative; border: 0; background: transparent; color: var(--smoke-ink); padding: var(--space-4) 0 var(--space-5); min-height: var(--hit); font-size: clamp(20px,2.3vw,30px); letter-spacing: -.04em; font-weight: var(--fw-medium); text-align: left; transition: color var(--motion-feedback) var(--ease-fn); }
.tool-tabs button::after { content: ''; height: 2px; position: absolute; bottom: -1px; inset-inline: 0; background: var(--burgundy); transform: scaleX(0); transform-origin: left; transition: transform var(--motion-move) var(--motion-spring); }
.tool-tabs button[aria-selected='true'] { color: var(--burgundy); }
.tool-tabs button[aria-selected='true']::after { transform: scaleX(1); }
.tool-scene { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-7); align-items: center; min-height: 420px; }
.tool-scene > figure { overflow: hidden; border-radius: var(--radius-lg); background: var(--milk); }
.tool-scene img { width: 100%; height: 420px; object-fit: cover; }
#panel-status img { object-position: center 30%; }
.tool-scene-copy { padding: var(--space-5) 0; max-width: 40ch; }
.tool-scene-copy .eyebrow { margin-bottom: var(--space-5); color: var(--smoke-ink); }
.tool-scene-copy h3 { font-size: clamp(30px,3.3vw,46px); line-height: 1.12; color: var(--smoke-heading); letter-spacing: -.04em; margin-bottom: var(--space-5); }
.tool-scene-copy > p:not(.eyebrow) { color: var(--smoke-ink); font-size: var(--fs-site-lead); line-height: 1.5; }
.button-outline { border-color: var(--smoke-ink); color: var(--smoke-ink); background: transparent; }
.button-outline:hover { color: var(--burgundy); border-color: var(--burgundy); background: var(--burgundy-06); }
.tool-scene-copy .button { margin-top: var(--space-6); }
.audience-heading { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--space-5) var(--space-8); align-items: end; margin-bottom: var(--space-7); }
.audience-heading .eyebrow { grid-column: 1/-1; color: var(--secondary); }
.audience-heading h2 { font-size: var(--fs-site-h2); line-height: 1.1; color: var(--smoke-heading); letter-spacing: -.045em; max-width: 20ch; }
.audience-heading > p:last-child { color: var(--smoke-ink); font-size: var(--fs-site-lead); line-height: 1.5; max-width: 28ch; }
.audience-tiles { display: grid; grid-template-columns: 1fr 1.2fr; column-gap: var(--space-8); }
.audience-tile { padding-block: var(--space-5); border-bottom: 1px solid var(--border); }
.audience-tile:last-child { border: 0; padding-bottom: 0; }
.audience-tile:nth-child(2) { padding-top: 0; }
.audience-tile .eyebrow { color: var(--smoke-ink); margin-bottom: var(--space-3); }
.audience-tile h3 { font-size: clamp(24px,2.7vw,38px); line-height: 1.15; color: var(--smoke-ink); letter-spacing: -.04em; margin-bottom: var(--space-4); }
.audience-tile > p:not(.eyebrow) { color: var(--smoke-ink); font-size: var(--fs-row); line-height: 1.5; max-width: 48ch; }
.audience-tile-feature { grid-row: span 3; background: var(--white); box-shadow: var(--lift); padding: var(--space-7); border-radius: var(--radius-lg); border: 0; display: flex; flex-direction: column; align-items: flex-start; }
.audience-tile-feature h3 { font-size: clamp(36px,4.5vw,64px); color: var(--smoke-heading); margin-top: var(--space-5); }
.audience-tile-feature > p:not(.eyebrow) { font-size: var(--fs-site-lead); max-width: 24ch; }
.audience-tile-feature .text-link { margin-top: auto; padding-top: var(--space-6); color: var(--burgundy); gap: var(--space-4); }
.pilot-story { padding-block: var(--section-space); }
.pilot-composition { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--space-8); align-items: center; }
.pilot-figure { font-size: clamp(220px,32vw,460px); font-weight: var(--fw-semibold); letter-spacing: -.09em; line-height: .85; color: var(--smoke); text-align: center; }
.pilot-editorial .eyebrow { color: var(--secondary); margin-bottom: var(--space-5); }
.pilot-editorial h2 { font-size: var(--fs-site-h2); color: var(--smoke-heading); line-height: 1.1; letter-spacing: -.045em; max-width: 18ch; margin-bottom: var(--space-5); }
.pilot-editorial > p:not(.eyebrow) { color: var(--smoke-ink); font-size: var(--fs-site-lead); max-width: 40ch; }
.pilot-facts { display: flex; gap: var(--space-7); margin-block: var(--space-6); }
.pilot-facts strong { font-size: var(--fs-body); font-weight: var(--fw-medium-plus); color: var(--smoke-ink); display: block; }
.pilot-facts span { display: block; color: var(--smoke-ink); font-size: var(--fs-small); margin-top: var(--space-1); }
.pilot-editorial .pilot-note { font-size: var(--fs-small) !important; margin-top: var(--space-4); }
.contact-section { padding-top: var(--space-7); }

@media (max-width:900px) { .story-heading,.audience-heading { gap: var(--space-5) var(--space-6); }.result-stage,.manifesto-grid,.audience-tiles,.pilot-composition { gap: var(--space-6); }.tool-tabs { gap: var(--space-5); }.tool-tabs button { font-size: 21px; }.tool-scene { gap: var(--space-6); }.tool-scene img { height: 360px; }.audience-tile-feature { padding: var(--space-6); }.pilot-facts { gap: var(--space-5); flex-wrap: wrap; } }
@media (max-width:768px) { .result-stage { grid-template-columns: 1fr 1fr; }.result-photo img { aspect-ratio: .85; }.story-heading,.audience-heading { grid-template-columns: 1fr; }.story-heading > p:last-child,.audience-heading > p:last-child { max-width: 45ch; }.manifesto-grid { grid-template-columns: 1fr; gap: var(--space-6); }.manifesto-copy { max-width: 58ch; }.manifesto-grid h2 { font-size: 68px; }.manifesto-copy > p:first-child { max-width: 45ch; }.tool-scene img { height: 360px; }.tool-scene-copy h3 { font-size: 32px; }.tool-scene-copy > p:not(.eyebrow) { font-size: var(--fs-body); }.audience-tile h3 { font-size: 26px; }.audience-tile-feature h3 { font-size: 44px; }.pilot-composition { grid-template-columns: .8fr 1.2fr; }.pilot-figure { font-size: 260px; } }
@media (max-width:640px) { .result-story,.tools-showcase,.audience-story,.practice-manifesto,.pilot-story { padding-block: var(--space-8); }.story-heading { margin-bottom: var(--space-6); }.story-heading h2,.tools-heading h2,.audience-heading h2,.pilot-editorial h2 { font-size: 38px; }.story-heading > p:last-child,.audience-heading > p:last-child { font-size: var(--fs-body); }.result-stage { grid-template-columns: 1fr; gap: var(--space-6); }.result-photo img { aspect-ratio: 1.3; }.result-question summary h3 { font-size: 24px; }.result-question > p { padding-right: 0; }.manifesto-grid h2 { font-size: clamp(44px,10.6vw,66px); }.manifesto-copy > p:first-child { font-size: 19px; }.tool-tabs { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: var(--space-6); }.tool-tabs button { font-size: 22px; padding-block: var(--space-3); }.tool-tabs button::after { width: 56px; }.tool-scene { grid-template-columns: 1fr; gap: var(--space-4); min-height: 0; }.tool-scene img { height: 260px; }.tool-scene-copy { max-width: none; }.tool-scene-copy h3 { font-size: 38px; }.audience-tiles { grid-template-columns: 1fr; gap: var(--space-5); }.audience-tile { padding-block: var(--space-5); }.audience-tile-feature { grid-row: auto; padding: var(--space-6); }.audience-tile-feature h3 { font-size: 44px; margin-top: var(--space-3); }.audience-tile-feature .text-link { margin-top: var(--space-5); padding-top: 0; }.audience-tile:nth-child(2) { padding-top: var(--space-4); }.pilot-composition { grid-template-columns: 1fr; gap: var(--space-7); }.pilot-figure { font-size: 240px; text-align: left; }.pilot-editorial h2 { max-width: 19ch; }.pilot-facts { display: grid; grid-template-columns: 1fr; gap: var(--space-4); margin-block: var(--space-5); } }
@media (max-width:480px) { .story-heading h2,.tools-heading h2,.audience-heading h2,.pilot-editorial h2,.tool-scene-copy h3 { font-size: 34px; }.result-question summary h3 { font-size: 22px; }.audience-tile-feature { padding: var(--space-5); } }
@media (prefers-contrast:more) { .story-heading h2,.tools-heading h2,.audience-heading h2,.pilot-editorial h2,.tool-scene-copy h3 { color: var(--graphite); } }

/* Мелкий текст на голубой поверхности сохраняет контраст. */
.manifesto-copy > p:nth-child(2),.manifesto-grid .eyebrow { color: var(--graphite); }

/* Сверка с main.html: содержание исходника внутри выбранного дизайна. */
.desktop-nav { gap: var(--space-4); }
.desktop-nav .nav-cta { min-height: var(--hit); padding: var(--space-2) var(--space-3); font-size: var(--fs-small); }
.desktop-nav .nav-cta::after { display: none; }
.hero-footnote { gap: var(--space-6); }
.hero-footnote > span { max-width: 76ch; font-size: var(--fs-row); line-height: 1.55; }
.hero-footnote .scroll-cue { flex-shrink: 0; }
.result-questions > .button { margin-top: var(--space-5); }
.source-problem { padding-block: var(--section-space); }
.source-problem .audience-heading { grid-template-columns: 1fr; }
.source-problem .audience-heading h2 { max-width: 26ch; }
.source-problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); align-items: center; }
.source-problem-copy article + article { margin-top: var(--space-6); padding-top: var(--space-6); border-top: 1px solid var(--border); }
.source-problem-copy h3 { font-size: var(--fs-h2); line-height: 1.2; color: var(--smoke-ink); margin-bottom: var(--space-3); }
.source-problem-copy p { font-size: var(--fs-row); line-height: var(--lh-body); color: var(--smoke-ink); max-width: 50ch; }
.source-practice-photo { background: var(--white); padding: var(--space-2); border-radius: var(--radius-lg); box-shadow: var(--shadow-photo); }
.source-practice-photo img { width: 100%; height: auto; aspect-ratio: 1.1; object-fit: cover; border-radius: var(--radius-inner); }
.source-practice-photo figcaption { padding: var(--space-4) var(--space-3) var(--space-2); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); color: var(--smoke-ink); font-size: var(--fs-small); }
.practice-manifesto h2 { font-size: var(--fs-site-h2); line-height: 1.1; }
.manifesto-copy h3 { font-size: var(--fs-h2); margin-bottom: var(--space-3); }
.manifesto-copy .eyebrow { margin-block: var(--space-6) var(--space-3); }
.manifesto-copy > p { color: var(--graphite); }
.source-route { margin-top: var(--space-7); border-top: 1px solid var(--smoke-38); border-bottom: 1px solid var(--smoke-38); }
.source-route > summary,.source-pilot-phases summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: var(--hit); padding-block: var(--space-4); cursor: pointer; list-style: none; font-size: var(--fs-row); font-weight: var(--fw-medium); }
.source-route > summary::-webkit-details-marker,.source-pilot-phases summary::-webkit-details-marker { display: none; }
.source-route summary > span:last-child,.source-pilot-phases summary > span:last-child { font-size: 24px; }
.source-route[open] > summary > span:last-child,.source-pilot-phases details[open] summary > span:last-child { transform: rotate(45deg); }
.source-route dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; gap: var(--space-6); padding-block: var(--space-5) var(--space-6); }
.source-route dt { font-weight: var(--fw-semibold); font-size: var(--fs-h3); }
.source-route dd { margin: var(--space-2) 0 0; font-size: var(--fs-small); }
.audience-tile-feature { grid-row: span 2; }
.audience-tile-feature h3 { margin-top: 0; }
.source-section-cta { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); margin-top: var(--space-6); }
.source-section-cta p { color: var(--smoke-ink); font-size: var(--fs-row); }
.source-pilot-figure > p { text-align: center; color: var(--smoke-ink); font-size: var(--fs-row); margin-top: var(--space-5); }
.source-pilot-phases { margin-top: var(--space-7); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-6); }
.source-pilot-phases details { border-block: 1px solid var(--border); }
.source-pilot-phases h3 { font-size: var(--fs-h2); margin-block: var(--space-3); color: var(--smoke-ink); }
.source-pilot-phases p { font-size: var(--fs-row); color: var(--smoke-ink); margin-bottom: var(--space-5); }
.source-contact { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-7); align-items: center; padding: var(--space-7); background: var(--smoke-panel); border-radius: var(--radius-lg); }
.source-video { border-radius: var(--radius-inner); overflow: hidden; background: var(--graphite); }
.source-video video { display: block; width: 100%; aspect-ratio: 4/5; object-fit: contain; }
.source-contact-copy h2 { font-size: var(--fs-site-h2); line-height: 1.1; letter-spacing: -.045em; margin-block: var(--space-5); }
.source-contact-copy > p:not(.eyebrow) { font-size: var(--fs-row); line-height: 1.6; }
.source-contact-copy .button { margin-top: var(--space-6); }
.source-contact-copy .contact-direct { display: flex; width: fit-content; margin-top: var(--space-3); }
.source-footer { flex-wrap: wrap; gap: var(--space-3) var(--space-5); }
.source-beta { display: flex; flex-wrap: wrap; gap: 0 var(--space-4); align-items: center; font-size: var(--fs-small); }
.source-cookie { position: fixed; bottom: var(--space-4); right: var(--space-4); z-index: var(--z-toast); width: min(450px,calc(100% - var(--space-6))); background: var(--white); padding: var(--space-5); box-shadow: var(--shadow-pop); border-radius: var(--radius-inner); display: flex; align-items: center; gap: var(--space-5); }
.source-cookie p { font-size: var(--fs-small); color: var(--graphite); }
.source-cookie a { display: inline-flex; align-items: center; min-height: var(--hit); text-underline-offset: 3px; }
.source-cookie .button { flex-shrink: 0; }
@media (max-width:900px) { .desktop-nav { display: none; }.source-problem-grid { gap: var(--space-6); }.source-contact { padding: var(--space-6); gap: var(--space-6); }.source-route dl { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:768px) { .source-contact { grid-template-columns: 1fr; }.source-video video { aspect-ratio: 16/10; max-height: 420px; }.source-pilot-phases { grid-template-columns: 1fr; gap: var(--space-4); } }
@media (max-width:640px) { .hero-footnote { flex-wrap: wrap; gap: var(--space-3); }.hero-footnote > span { max-width: none; font-size: var(--fs-small); }.source-problem { padding-block: var(--space-8); }.source-problem-grid { grid-template-columns: 1fr; }.source-practice-photo { grid-row: 1; }.source-route dl { grid-template-columns: 1fr; gap: var(--space-5); }.source-section-cta { flex-direction: column; align-items: flex-start; }.source-section-cta .button { width: 100%; }.source-pilot-figure > p { text-align: left; }.source-contact { padding: var(--space-5); }.source-contact-copy h2 { font-size: 34px; }.source-footer { align-items: flex-start; }.source-beta { gap: 0 var(--space-3); }.source-beta > span:first-child { flex-basis: 100%; }.source-cookie { padding: var(--space-4); gap: var(--space-4); }.source-cookie .button { padding-inline: var(--space-4); } }

/* Bulletproof reference: scale, image-led scenes, open editorial typography.
   YouCreator owns the palette, Manrope, copy, photographs and interactions. */
:root { --editorial-display: clamp(44px,6.7vw,96px); --editorial-space: clamp(72px,9vw,144px); --editorial-ease: cubic-bezier(.16,1,.3,1); }
main > section:not(.hero) { scroll-margin-top: 88px; }
.result-story,.source-problem,.practice-manifesto,.tools-showcase,.audience-story,.pilot-story { padding-block: var(--editorial-space); }
main > section:not(.hero) h2 { font-weight: 500; letter-spacing: -.05em; text-wrap: balance; }
/* A centred opening statement, followed by a panoramic piece of evidence. */
.result-story { background: var(--milk); }
.story-heading { display: flex; flex-direction: column; gap: 24px; text-align: center; align-items: center; margin-bottom: 56px; }
.story-heading .eyebrow { margin: 0; color: var(--smoke-ink); }
.story-heading h2 { max-width: 15ch; font-size: var(--editorial-display); line-height: 1.03; color: var(--smoke-heading); }
.story-heading > p:last-child { max-width: 36ch; font-size: 18px; line-height: 1.5; color: var(--smoke-ink); }
.result-stage { display: block; }
.result-photo { width: 100%; padding: 0; border-radius: var(--radius-lg); box-shadow: none; overflow: hidden; }
.result-photo img { width: 100%; height: auto; aspect-ratio: 2.35; object-fit: cover; border-radius: 0; }
.result-questions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 40px; }
.result-question { padding: 0; border: 0; }
.result-label h3 { font-size: clamp(23px,2.3vw,32px); font-weight: 500; line-height: 1.13; letter-spacing: -.045em; max-width: 18ch; color: var(--smoke-ink); }
.result-question > p { font-size: 15px; padding: 16px 0 0; line-height: 1.6; max-width: 38ch; }
.result-questions > .button { grid-column: 1/-1; justify-self: center; margin-top: 8px; }
/* One spread, not a heading floating above another split layout. */
.source-problem { background: var(--white); }
.source-problem-grid { grid-template-columns: .95fr 1.05fr; gap: clamp(40px,7vw,112px); align-items: start; }
.source-problem-copy { grid-column: 2; grid-row: 1; }
.source-problem .audience-heading { display: block; margin-bottom: 48px; }
.source-problem .audience-heading .eyebrow { margin-bottom: 24px; }
.source-problem .audience-heading h2 { max-width: 13ch; font-size: clamp(44px,5.1vw,72px); line-height: 1.04; }
.source-problem-copy article { margin-top: 24px; padding: 0; border: 0; }
.source-problem-copy article + article { margin-top: 28px; padding: 0; border: 0; }
.source-problem-copy h3 { font-size: 19px; letter-spacing: -.025em; margin-bottom: 8px; font-weight: 600; }
.source-problem-copy p { font-size: 15px; line-height: 1.6; max-width: 48ch; }
.source-practice-photo { grid-column: 1; grid-row: 1; position: sticky; top: 112px; margin-top: 88px; padding: 0; box-shadow: none; background: transparent; }
.source-practice-photo img { aspect-ratio: .85; border-radius: var(--radius-lg); }
.source-practice-photo figcaption { padding: 16px 0 0; font-size: 11px; line-height: 1.5; }
/* A typographic pause, with the output anchored underneath. */
.practice-manifesto { background: var(--smoke-panel); }
.manifesto-grid { display: flex; flex-direction: column; gap: 40px; text-align: center; }
.manifesto-grid > div:first-child { width: 100%; }
.manifesto-grid .eyebrow { margin-bottom: 24px; color: var(--graphite-deep); }
.practice-manifesto .manifesto-grid h2 { font-size: var(--editorial-display); line-height: 1.03; max-width: 17ch; margin-inline: auto; color: var(--graphite-deep); }
.manifesto-copy { max-width: 640px; }
.manifesto-copy > p:first-child { font-size: 20px; line-height: 1.6; color: var(--graphite-deep); }
.manifesto-copy .eyebrow { margin-top: 48px; margin-bottom: 12px; }
.manifesto-copy h3 { font-size: 32px; line-height: 1.15; font-weight: 500; letter-spacing: -.045em; color: var(--burgundy); }
.manifesto-copy > p { color: var(--graphite-deep); }
.manifesto-copy .text-link { margin-top: 24px; }
.source-route { border-color: var(--graphite-14); margin-top: 56px; }
.source-route > summary { font-size: 15px; padding-block: 20px; color: var(--graphite-deep); }
.source-route dl { gap: 32px; padding-block: 32px; }
.source-route dt { font-size: 24px; font-weight: 500; letter-spacing: -.035em; }
.source-route dd { font-size: 14px; }
/* Full-width media scene: image, very large title, compact supporting copy. */
.tools-showcase { background: var(--milk); padding-bottom: 0; }
.tools-heading h2 { font-size: var(--editorial-display); line-height: 1.03; max-width: 14ch; }
.tool-tabs { margin-block: 40px 32px; gap: 32px; border-color: var(--border); }
.tool-tabs button { font-size: clamp(17px,2vw,24px); padding-block: 16px; letter-spacing: -.04em; }
.tool-scene { display: block; min-height: 0; }
.tool-scene > figure { border-radius: var(--radius-lg); overflow: hidden; }
.tool-scene img { height: auto; aspect-ratio: 2.05; object-fit: cover; }
#panel-status img { object-position: center 42%; }
.tool-scene-copy { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 56px; padding: 40px 0 var(--editorial-space); }
.tool-scene-copy .eyebrow { grid-column: 1/-1; margin-bottom: 0; }
.tool-scene-copy h3 { font-size: clamp(42px,5.5vw,78px); line-height: 1.02; letter-spacing: -.05em; font-weight: 500; margin: 0; max-width: 13ch; }
.tool-scene-copy > p:not(.eyebrow) { max-width: 43ch; font-size: 18px; line-height: 1.65; align-self: end; }
/* Oversized typographic rows; all three audiences have equal weight. */
.audience-story { background: var(--white); }
.audience-heading { display: block; margin-bottom: 64px; }
.audience-heading .eyebrow { margin-bottom: 24px; }
.audience-heading h2 { font-size: clamp(38px,4.5vw,64px); line-height: 1.06; max-width: 23ch; }
.audience-tiles { display: block; }
.audience-tile,.audience-tile-feature { display: grid; grid-template-columns: 1.45fr 1fr; align-items: center; gap: 56px; padding: 36px 0; background: transparent; border-radius: 0; box-shadow: none; border: 0; border-top: 1px solid var(--border); }
.audience-tile:nth-child(2),.audience-tile:last-child { padding-block: 36px; }
.audience-tile:last-child { border-bottom: 1px solid var(--border); }
.audience-tile h3,.audience-tile-feature h3 { margin: 0; font-size: clamp(32px,4.2vw,60px); line-height: 1.08; letter-spacing: -.055em; font-weight: 500; color: var(--smoke-heading); transition: color 240ms ease,transform 600ms var(--editorial-ease); }
.audience-tile > p:not(.eyebrow),.audience-tile-feature > p:not(.eyebrow) { max-width: 38ch; font-size: 16px; line-height: 1.65; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { html:not(.motion-off) .audience-tile:hover h3 { color: var(--burgundy); transform: translateX(12px); } }
.source-section-cta { margin-top: 40px; }
.source-section-cta p { font-size: 15px; }
/* Pilot: a strong figure and an open timeline, no concealed instructions. */
.pilot-story { background: var(--milk); }
.pilot-composition { grid-template-columns: .8fr 1.2fr; gap: 72px; }
.pilot-figure { font-size: clamp(260px,32vw,450px); line-height: .8; font-weight: 500; }
.source-pilot-figure > p { font-size: 14px; margin-top: 28px; }
.pilot-editorial h2 { font-size: clamp(42px,5.4vw,76px); line-height: 1.03; }
.pilot-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-block: 32px; }
.pilot-facts strong { font-size: 48px; line-height: 1.1; letter-spacing: -.06em; font-weight: 500; }
.pilot-facts span { font-size: 13px; max-width: 22ch; line-height: 1.5; }
.source-pilot-phases { margin-top: 64px; gap: 40px; }
.source-pilot-phases article { border-top: 1px solid var(--border); padding-top: 24px; }
.source-pilot-phases .eyebrow { font-size: 11px; margin-bottom: 24px; }
.source-pilot-phases h3 { font-size: 28px; line-height: 1.12; font-weight: 500; letter-spacing: -.04em; margin: 0 0 16px; }
.source-pilot-phases p:not(.eyebrow) { font-size: 15px; line-height: 1.6; margin: 0; }
/* The real product video is a wide piece of content, not a portrait mockup. */
.contact-section { padding-block: var(--editorial-space) 56px; }
.source-contact { display: flex; flex-direction: column; gap: 48px; padding: 0; background: transparent; border-radius: 0; }
.source-contact-copy { display: grid; grid-template-columns: 1.25fr 1fr; column-gap: 64px; align-items: start; width: 100%; }
.source-contact-copy .eyebrow { grid-column: 1/-1; color: var(--smoke-ink); margin-bottom: 24px; }
.source-contact-copy h2 { grid-column: 1; grid-row: 2/5; margin: 0; font-size: clamp(44px,5.8vw,82px); line-height: 1.02; color: var(--smoke-heading); max-width: 14ch; }
.source-contact-copy > p:not(.eyebrow) { font-size: 17px; line-height: 1.6; }
.source-contact-copy .button { justify-self: start; margin-top: 24px; }
.source-contact-copy .contact-direct { margin-top: 12px; }
.source-video { width: 100%; border-radius: var(--radius-lg); }
.source-video video { aspect-ratio: 16/9; max-height: none; object-fit: contain; }
.source-footer { border-top: 1px solid var(--border); padding-block: 24px 32px; }
/* Reduced motion remains a complete alternative to the motion treatment. */
.motion-off .audience-tile h3 { transition: none; transform: none; }
@media (max-width:900px) {
 .source-problem-grid { gap: 40px; }.source-problem .audience-heading h2 { font-size: 44px; }.source-practice-photo { top: 96px; margin-top: 80px; }
 .result-questions { gap: 24px; }.tool-scene-copy { column-gap: 32px; }.audience-tile,.audience-tile-feature { gap: 32px; grid-template-columns: 1.2fr 1fr; }.pilot-composition { gap: 40px; }.source-contact-copy { column-gap: 32px; }
}
@media (max-width:640px) {
 :root { --editorial-display: clamp(38px,9.7vw,62px); --editorial-space: 72px; }
 .story-heading { gap: 20px; margin-bottom: 32px; }.story-heading h2 { max-width: 15ch; }.story-heading > p:last-child { font-size: 15px; max-width: 29ch; }
 .result-photo img { aspect-ratio: 1.2; }.result-questions { grid-template-columns: 1fr; margin-top: 32px; gap: 28px; }.result-label h3 { max-width: 24ch; font-size: 28px; }.result-question > p { font-size: 15px; padding-top: 10px; }.result-questions > .button { justify-self: start; margin-top: 4px; }
 .source-problem-grid { display: flex; flex-direction: column; gap: 32px; }.source-problem-copy { display: contents; }.source-problem .audience-heading { order: -2; margin: 0; }.source-problem .audience-heading h2 { font-size: 40px; max-width: 14ch; }.source-practice-photo { order: -1; position: static; margin: 0; width: 100%; }.source-practice-photo img { aspect-ratio: 1.2; }.source-problem-copy article,.source-problem-copy article + article { margin: 0; }.source-problem-copy h3 { font-size: 22px; }
 .manifesto-grid { gap: 28px; }.practice-manifesto .manifesto-grid h2 { max-width: 16ch; }.manifesto-copy > p:first-child { font-size: 17px; }.manifesto-copy h3 { font-size: 28px; }.manifesto-copy .eyebrow { margin-top: 32px; }.source-route { margin-top: 40px; }.source-route > summary { text-align: left; }.source-route dl { grid-template-columns: 1fr 1fr; gap: 28px 20px; }.source-route dt { font-size: 21px; overflow-wrap: anywhere; }.source-route dd { font-size: 12px; line-height: 1.6; }
 .tools-heading h2 { font-size: 42px; }.tool-tabs { display: flex; flex-wrap: wrap; gap: 0 20px; margin-block: 24px; }.tool-tabs button { font-size: 17px; padding-block: 14px; }.tool-tabs button::after { width: 100%; }.tool-scene img { aspect-ratio: 1.15; height: auto; }.tool-scene-copy { grid-template-columns: 1fr; gap: 20px; padding-top: 28px; }.tool-scene-copy h3 { font-size: 46px; max-width: 13ch; }.tool-scene-copy > p:not(.eyebrow) { font-size: 16px; }
 .audience-heading { margin-bottom: 40px; }.audience-heading h2 { font-size: 36px; max-width: 20ch; }.audience-tile,.audience-tile-feature { grid-template-columns: 1fr; gap: 16px; padding-block: 28px; }.audience-tile:nth-child(2),.audience-tile:last-child { padding-block: 28px; }.audience-tile h3,.audience-tile-feature h3 { font-size: 36px; max-width: 18ch; }.audience-tile > p:not(.eyebrow),.audience-tile-feature > p:not(.eyebrow) { font-size: 15px; max-width: 40ch; }
 .pilot-composition { grid-template-columns: 1fr; gap: 40px; }.source-pilot-figure { display: flex; align-items: end; gap: 40px; }.pilot-figure { font-size: 230px; text-align: left; }.source-pilot-figure > p { max-width: 15ch; margin: 0 0 8px; text-align: left; }.pilot-editorial h2 { font-size: 42px; max-width: 17ch; }.pilot-facts { grid-template-columns: 1fr 1fr; }.pilot-facts strong { font-size: 48px; }.source-pilot-phases { grid-template-columns: 1fr; gap: 28px; margin-top: 48px; }.source-pilot-phases .eyebrow { margin-bottom: 16px; }.source-pilot-phases h3 { font-size: 28px; }
 .source-contact { gap: 32px; }.source-contact-copy { display: block; }.source-contact-copy h2 { font-size: 42px; margin-bottom: 24px; max-width: 14ch; }.source-contact-copy > p:not(.eyebrow) { font-size: 16px; }.source-video video { aspect-ratio: 16/10; }.source-footer { gap: 20px; }.source-beta { gap: 8px 20px; }
}
/* Long Russian display words must fit a 320px viewport without clipping. */
@media (max-width:360px) {
 .practice-manifesto .manifesto-grid h2,.audience-heading h2 { font-size: 32px; }
}
/* Small text on the smoke surface uses the deeper graphite (AA). */
.practice-manifesto,.practice-manifesto .manifesto-copy p,.practice-manifesto .text-link:hover { color: var(--graphite-deep); }

/* Approved photo-deck concept. Rules are scoped to the second section. */
.pilot-results { padding: 36px 0 88px; background: var(--milk); }
.pilot-results > .container { width: calc(100% - 64px); max-width: 1380px; }
.pilot-kicker { text-align: center; text-transform: uppercase; letter-spacing: .18em; font-size: 15px; font-weight: 500; margin-bottom: 24px; color: var(--graphite); }
.pilot-intro { padding: clamp(26px,2.25vw,36px) clamp(28px,4vw,56px); border-radius: var(--radius-lg); background: var(--burgundy); color: var(--milk); margin-bottom: 40px; }
.pilot-results .pilot-intro h2 { font-size: clamp(36px,5.7vw,80px); font-weight: 600; line-height: 1.05; letter-spacing: -.045em; text-wrap: balance; max-width: 21ch; }
.pilot-intro > p { font-size: clamp(18px,2.7vw,36px); line-height: 1.3; margin-top: 20px; }
.pilot-intro h2,.pilot-intro p { display: grid; }
.pilot-intro .intro-source,.pilot-intro .intro-visual { grid-area: 1/1; }
.intro-visual { display: none; }
.pilot-words .intro-source { opacity: 0; }
.pilot-words .intro-visual { display: block; }
.intro-word { transition: opacity 160ms linear; }
.deck-runway { display: grid; gap: 24px; }
.deck-sticky,.deck-photos,.deck-captions { display: contents; }
.deck-photo { grid-row: calc(var(--order)*2 + 1); margin: 0; border-radius: var(--radius-lg); overflow: hidden; }
.deck-photo img { width: 100%; height: auto; aspect-ratio: 1.77; object-fit: cover; display: block; }
.deck-copy { grid-row: calc(var(--order)*2 + 2); padding-bottom: 24px; }
.deck-copy h3 { font-size: clamp(30px,4.7vw,64px); letter-spacing: -.045em; font-weight: 600; line-height: 1.08; margin-bottom: 20px; text-wrap: balance; }
.deck-copy p { font-size: clamp(18px,2.15vw,28px); line-height: 1.4; }
.deck-typed { display: none; }
.deck-cta { grid-row: 7; justify-self: start; min-height: 58px; font-size: 20px; margin: 0; padding-inline: 34px; }
/* Progressive deck: the scrolling distance gives each result a reading stage.
   Previously presented photographs stay behind the active foreground card. */
.deck-info,.deck-actions { display: contents; }
.deck-nav { display: none; }
.deck-announcement { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.deck-enhanced .deck-runway { display: block; height: 350svh; }
.deck-enhanced .deck-sticky { display: block; position: sticky; top: 88px; width: min(calc(100% - 128px),calc((100svh - 430px)*1.85)); margin-inline: auto; container-type: inline-size; }
.deck-enhanced .deck-photos { display: block; position: relative; aspect-ratio: 1.85; isolation: isolate; }
.deck-enhanced .deck-photo { position: absolute; inset: 0 auto auto 0; width: 78%; height: auto; aspect-ratio: 1.77; box-shadow: 0 12px 30px rgba(41,44,55,.10); transform-origin: top left; will-change: transform; opacity: 0; visibility: hidden; transition: transform 240ms ease-out,opacity 180ms ease-out; }
.deck-enhanced .deck-photo.is-revealed { opacity: 1; visibility: visible; }
.deck-enhanced .deck-photo img { width: 100%; height: 100%; aspect-ratio: 1.77; }
.deck-enhanced .deck-info { display: block; width: 78%; margin-left: 20%; padding-top: 28px; }
.deck-enhanced .deck-captions { display: grid; width: 100%; margin: 0; }
.deck-enhanced .deck-copy { display: block; grid-area: 1/1; visibility: hidden; padding-bottom: 0; }
.deck-enhanced .deck-copy.is-active { visibility: visible; }
.deck-enhanced .deck-copy h3 { font-size: clamp(28px,5.2cqw,52px); line-height: 1.1; max-width: 23ch; margin-bottom: 16px; }
.deck-enhanced .deck-copy p { font-size: clamp(18px,2.6cqw,24px); line-height: 1.5; max-width: 56ch; }
.deck-enhanced .deck-copy h3,.deck-enhanced .deck-copy p { position: relative; }
.deck-enhanced .deck-source { opacity: 0; }
.deck-enhanced .deck-typed { display: block; position: absolute; inset: 0; }
.deck-enhanced .deck-actions { display: block; min-height: 56px; margin-top: 28px; }
.deck-enhanced .deck-cta { display: inline-flex; margin: 0; padding-inline: 28px; min-height: 56px; font-size: 18px; }
.deck-enhanced .deck-cta[hidden] { display: none; }
.deck-enhanced .deck-nav { display: grid; gap: 12px; position: absolute; left: calc(100% + 24px); top: 59%; transform: translateY(-50%); z-index: 10; }
.deck-nav button { width: 52px; height: 52px; border-radius: var(--radius-pill,999px); border: 1px solid var(--burgundy); color: var(--burgundy); background: var(--milk); display: grid; place-items: center; transition: background-color 180ms ease,opacity 180ms ease; }
.deck-nav button:hover:not(:disabled) { background: var(--burgundy-10); }
.deck-nav button:disabled { opacity: .3; cursor: default; }
/* Official Lucide arrow-up asset, ISC license alongside the SVG. */
.deck-nav-icon { width: 24px; height: 24px; background: currentColor; mask: url('/img/landing/deck-arrow-up.svg') center/contain no-repeat; }
.deck-next .deck-nav-icon { transform: rotate(180deg); }
@media (max-width:700px) {
 .pilot-results { padding-block: 48px 64px; }.pilot-results > .container { width: calc(100% - 40px); }.pilot-kicker { font-size: 11px; margin-bottom: 24px; }
 .pilot-intro { padding: 28px 24px; margin-bottom: 32px; }.pilot-results .pilot-intro h2 { font-size: clamp(30px,7.8vw,46px); letter-spacing: -.04em; text-align: left; }.pilot-intro > p { font-size: 18px; margin-top: 20px; }
 .deck-runway { gap: 20px; }.deck-copy { padding-bottom: 16px; }.deck-copy h3 { font-size: 32px; margin-bottom: 14px; }.deck-copy p { font-size: 18px; line-height: 1.5; }.deck-cta { width: 100%; font-size: 16px; }
}
@media (prefers-reduced-motion:reduce) { .intro-word { transition: none; } }

/* Approved title handoff; all positions follow native scroll in both directions. */
.pilot-opening-scene { position: relative; }
.deck-enhanced .pilot-opening { padding-top: 42px; height: calc(340px + 55svh); margin-bottom: 40px; }
.deck-enhanced .pilot-opening-scene { position: sticky; top: 120px; }
.deck-enhanced .pilot-intro { min-height: 260px; margin-bottom: 0; display: flex; flex-direction: column; justify-content: center; }
.deck-enhanced .pilot-kicker { position: absolute; z-index: 2; left: 0; width: 100%; margin: 0; line-height: 1.1; transform: translateY(-50%); text-transform: none; pointer-events: none; font-weight: 700; }
.deck-enhanced .pilot-intro h2 { max-width: none; font-size: clamp(36px,5.7vw,80px); font-weight: 700; }
.deck-enhanced .pilot-intro > p { font-size: clamp(18px,2.7vw,36px); }
.deck-enhanced .deck-nav[hidden] { display: none; }

/* Selected margin-note composition. This stylesheet affects #problem only. */
#problem.problem-editorial { background: var(--milk); padding: 40px 0 72px; }
#problem > .container { width: calc(100% - 96px); max-width: 1380px; }
#problem .problem-heading { margin-bottom: 32px; }
#problem .eyebrow { color: var(--burgundy); margin-bottom: 22px; font-size: 14px; letter-spacing: .3em; }
#problem h2 { position: relative; max-width: none; font-size: clamp(46px,8.15vw,118px); font-weight: 700; line-height: .92; letter-spacing: -.06em; }
.problem-title-visual { display: none; }
.problem-title-built .problem-title-source { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.problem-title-built .problem-title-visual { display: block; }
.problem-title-line { display: flex; flex-wrap: wrap; column-gap: .22em; align-items: baseline; }
.problem-title-question { justify-content: flex-end; color: var(--smoke); margin-left: auto; }
.problem-word-mask { display: inline-block; overflow: hidden; padding: .08em .045em; margin: -.08em -.045em; }
.problem-word { display: inline-block; }
.problem-line-break { flex-basis: 100%; height: 0; }
.problem-scene { display: grid; grid-template-columns: 24fr 40fr 31fr; grid-template-rows: auto auto; gap: 32px 2.5%; align-items: start; }
#problem .problem-photo { grid-column: 2; grid-row: 1 / span 2; margin: 0; min-width: 0; }
.problem-photo-frame { border-radius: 22px; overflow: hidden; aspect-ratio: .737; }
.problem-photo-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
#problem figcaption { display: flex; flex-direction: column; gap: 6px; padding: 14px 4px 0; font-size: 14px; line-height: 1.45; color: var(--graphite); }
#problem figcaption span:first-child { font-weight: 600; }
#problem figcaption span:last-child { color: var(--smoke-ink); }
#problem .problem-note { min-width: 0; margin: 0; padding: 0; border: 0; }
#problem .problem-note-1 { grid-column: 3; grid-row: 1; padding-top: 60px; }
#problem .problem-note-2 { grid-column: 1; grid-row: 2; margin-top: -40px; }
#problem .problem-note-3 { grid-column: 3; grid-row: 2; padding-top: 70px; }
#problem .problem-note h3 { font-size: clamp(25px,2.85vw,40px); font-weight: 700; letter-spacing: -.045em; line-height: 1.08; color: var(--burgundy); margin-bottom: 22px; }
.problem-rule { display: block; width: 48px; height: 1px; margin-top: 20px; background: var(--smoke-24); transform-origin: left; }
#problem .problem-note p { font-size: clamp(17px,1.65vw,23px); line-height: 1.4; color: var(--graphite); max-width: 38ch; }
@media (max-width:1000px) {
 #problem > .container { width: calc(100% - 64px); }
 .problem-scene { grid-template-columns: 1fr 1fr; gap: 32px; }
 #problem .problem-photo { grid-column: 1; grid-row: 1 / span 2; }
 #problem .problem-note-1 { grid-column: 2; grid-row: 1; padding-top: 24px; }
 #problem .problem-note-2 { grid-column: 2; grid-row: 2; margin-top: 0; }
 #problem .problem-note-3 { grid-column: 2; grid-row: 3; padding-top: 0; }
 #problem .problem-note h3 { font-size: 30px; }
 #problem .problem-note p { font-size: 18px; }
}
@media (max-width:640px) {
 #problem.problem-editorial { padding: 52px 0 64px; }
 #problem > .container { width: calc(100% - 40px); }
 #problem .eyebrow { font-size: 11px; margin-bottom: 18px; }
 #problem h2 { font-size: clamp(38px,9.5vw,60px); letter-spacing: -.055em; line-height: 1.08; }
 .problem-title-question { margin-top: 12px; }
 .problem-scene { display: flex; flex-direction: column; gap: 32px; }
 #problem .problem-photo { order: 0; width: 100%; }
 .problem-photo-frame { aspect-ratio: .9; }
 #problem .problem-note { order: 1; padding: 0; margin: 0; width: 100%; }
 #problem .problem-note h3 { font-size: 30px; margin-bottom: 16px; }
 #problem .problem-note p { font-size: 18px; max-width: none; line-height: 1.5; }
 #problem figcaption { font-size: 12px; }
}

/* Approved open editorial spread, scoped to #result. */
#result.manifesto-editorial { background: var(--milk); padding-block: clamp(144px,19.9vw,288px); color: var(--graphite); }
#result > .container { width: min(calc(100% - var(--gutter)*2),var(--container)); }
.manifesto-spread { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); column-gap: clamp(64px,7vw,112px); align-items: start; }
#result .eyebrow { font-size: var(--fs-eyebrow); letter-spacing: .2em; color: var(--burgundy); margin: 0 0 28px; }
#result h2 { position: relative; font-size: clamp(38px,5.3vw,72px); font-weight: 600; line-height: 1.04; letter-spacing: -.05em; max-width: none; text-wrap: balance; }
.manifesto-title-visual,.manifesto-intro-visual,.manifesto-outcome-visual { display: none; }
.manifesto-built .manifesto-source { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.manifesto-built .manifesto-title-visual,.manifesto-built .manifesto-intro-visual,.manifesto-built .manifesto-outcome-visual { display: block; }
.manifesto-line-mask { display: block; overflow: hidden; padding-bottom: .13em; margin-bottom: -.13em; }
.manifesto-line { display: block; }
#result .manifesto-intro { position: relative; margin: 40px 0 0; font-size: clamp(18px,1.9vw,26px); line-height: 1.55; max-width: 40ch; color: var(--graphite); }
.manifesto-keyword { transition: color var(--motion-feedback) var(--ease-fn); font-weight: 500; }
.manifesto-keyword.is-current { color: var(--burgundy); }
#result .manifesto-outcome { margin-top: clamp(180px,18vw,260px); }
#result .manifesto-outcome .eyebrow { margin-bottom: 28px; }
#result .manifesto-outcome h3 { font-size: clamp(38px,5.2vw,72px); font-weight: 550; line-height: 1.03; letter-spacing: -.05em; color: var(--burgundy); margin-bottom: 40px; text-wrap: balance; }
#result .manifesto-outcome > p:not(.eyebrow) { font-size: clamp(18px,1.95vw,27px); line-height: 1.45; max-width: 28ch; color: var(--graphite); }
#result .example-link { display: inline-block; margin-top: 32px; color: var(--burgundy); font-size: clamp(17px,1.8vw,25px); line-height: 1.4; text-decoration: underline; text-underline-offset: .18em; }
#result .example-link .arrow { display: none; }
#result .source-route { margin-top: clamp(64px,9vw,128px); border: 0; }
#result .source-route > summary { display: list-item; list-style: disclosure-closed; min-height: var(--hit); padding: 12px 0 12px 8px; font-size: clamp(15px,1.3vw,18px); line-height: 1.5; font-weight: 400; color: var(--graphite); }
#result .source-route[open] > summary { list-style-type: disclosure-open; }
#result .source-route > summary::-webkit-details-marker { display: inline; }
#result .source-route > summary::marker { color: var(--burgundy); }
#result .source-route dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px; padding: 24px 0 0; }
#result .source-route dt { font-size: 22px; font-weight: 550; letter-spacing: -.03em; color: var(--burgundy); overflow-wrap: anywhere; }
#result .source-route dd { font-size: 16px; line-height: 1.5; color: var(--graphite); }
@media (max-width:900px) {
 #result.manifesto-editorial { padding-block: 96px; }
 .manifesto-spread { column-gap: 40px; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); }
 #result h2 { font-size: clamp(32px,4.6vw,42px); }
 #result .manifesto-outcome { margin-top: 160px; }
 #result .manifesto-outcome h3 { font-size: 38px; }
}
@media (max-width:640px) {
 #result.manifesto-editorial { padding-block: 64px; }
 .manifesto-spread { grid-template-columns: 1fr; gap: 56px; }
 #result h2 { font-size: clamp(28px,7vw,42px); }
 #result .eyebrow { margin-bottom: 24px; }
 #result .manifesto-intro { margin-top: 28px; font-size: 18px; }
 #result .source-route { margin-top: 32px; }
 #result .source-route > summary { font-size: 16px; }
 #result .source-route dl { grid-template-columns: 1fr; }
 #result .manifesto-outcome { margin-top: 0; }
 #result .manifesto-outcome h3 { font-size: 40px; margin-bottom: 24px; max-width: 14ch; }
 #result .manifesto-outcome > p:not(.eyebrow) { font-size: 20px; }
 #result .example-link { font-size: 18px; margin-top: 24px; }
}
@media (prefers-reduced-motion:reduce) { .manifesto-keyword { transition: none; } }
.motion-off .manifesto-keyword { transition: none; }
#result .source-route > summary > span:last-child { font-size: inherit; transform: none; }

/* Selected calendar poster: open week, one conditions surface, staggered phases. */
#process.pilot-week { background: var(--milk); padding-block: 56px; }
#process > .container { width: min(calc(100% - var(--gutter)*2),var(--container)); }
#process .week-heading .eyebrow { color: var(--burgundy); font-size: var(--fs-eyebrow); letter-spacing: .2em; margin-bottom: 20px; }
#process h2 { position: relative; font-size: clamp(40px,6.7vw,96px); font-weight: 650; line-height: 1.03; letter-spacing: -.05em; max-width: none; text-wrap: balance; }
.week-title-visual { display: none; }
.week-built .week-title-source { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.week-built .week-title-visual { display: block; }
.week-title-mask { display: block; overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; }
.week-title-line { display: block; }
.week-strip { margin: 56px 0 24px; }
.week-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); column-gap: 12px; }
.week-day { color: var(--graphite); transition: color var(--motion-feedback) var(--ease-fn); }
.week-day.is-current { color: var(--burgundy); }
.week-day-label { display: block; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 16px; }
.week-day-number { display: block; font-size: clamp(54px,12.2vw,174px); font-weight: 650; line-height: .85; letter-spacing: -.05em; }
.week-duration { margin: 18px 0 0 auto; max-width: 150px; font-size: 14px; line-height: 1.4; color: var(--secondary); }
.week-body { display: grid; grid-template-columns: minmax(0,.3fr) minmax(0,.7fr); gap: 24px 64px; align-items: start; }
.week-conditions { grid-column: 1; grid-row: 1; background: var(--burgundy); color: var(--white); border-radius: var(--radius-lg); padding: 40px; }
.week-facts { display: grid; gap: 40px; }
.week-facts p { margin: 0; }
.week-facts p + p { padding-top: 40px; border-top: 1px solid var(--text-on-accent-muted); }
.week-facts strong { display: block; font-size: clamp(72px,8.8vw,126px); font-weight: 650; line-height: .9; letter-spacing: -.05em; margin-bottom: 16px; }
.week-facts span { display: block; max-width: 14ch; font-size: clamp(18px,2vw,26px); line-height: 1.3; }
.week-phases { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-direction: column; gap: 36px; padding-top: 8px; }
.week-phases article { min-width: 0; }
.week-phases article:nth-child(1) { width: 65%; margin-left: 3%; }
.week-phases article:nth-child(2) { width: 70%; margin-left: 27%; }
.week-phases article:nth-child(3) { width: 53%; margin-left: 44%; }
#process .week-phases .eyebrow { color: var(--secondary); font-size: 12px; letter-spacing: .18em; margin: 0 0 16px; }
#process .week-phases h3 { font-size: clamp(28px,3.35vw,46px); font-weight: 650; line-height: 1.12; letter-spacing: -.045em; margin: 0 0 16px; }
#process .week-phases p:not(.eyebrow) { font-size: clamp(17px,1.6vw,23px); line-height: 1.45; color: var(--graphite); margin: 0; }
.week-actions { grid-column: 1; grid-row: 2; min-width: 0; }
#process .week-cta { display: inline-flex; gap: 8px; align-items: baseline; padding-block: 8px; font-size: 22px; line-height: 1.4; color: var(--burgundy); text-decoration: underline; text-underline-offset: .16em; }
.week-cta .arrow { display: inline-block; flex-shrink: 0; transition: transform var(--motion-feedback) var(--ease-fn); }
.week-cta:hover .arrow { transform: translateX(4px); }
#process .pilot-note { color: var(--secondary); font-size: 14px; line-height: 1.5; margin-top: 8px; }
@media (max-width:900px) {
 .week-body { grid-template-columns: minmax(0,.34fr) minmax(0,.66fr); column-gap: 32px; }
 .week-conditions { padding: 28px; }
 .week-facts { gap: 28px; }.week-facts p+p { padding-top: 28px; }
 .week-phases article:nth-child(n) { width: 100%; margin-left: 0; }
 #process .week-phases h3 { font-size: 30px; }
 #process .week-cta { font-size: 18px; }
}
@media (max-width:640px) {
 #process.pilot-week { padding-block: 56px 64px; }
 #process .week-heading .eyebrow { font-size: 11px; margin-bottom: 24px; }
 #process h2 { font-size: clamp(32px,8.4vw,48px); line-height: 1.1; }
 .week-strip { margin: 36px 0 32px; }.week-days { column-gap: 6px; }
 .week-day-label { font-size: 9px; letter-spacing: .08em; margin-bottom: 12px; }
 .week-day-number { font-size: clamp(36px,10.8vw,64px); }
 .week-duration { max-width: 130px; font-size: 12px; margin-top: 16px; }
 .week-body { display: flex; flex-direction: column; gap: 32px; }
 .week-conditions { width: 100%; padding: 28px; }
 .week-facts { grid-template-columns: 1fr 1fr; gap: 24px; }
 .week-facts p+p { padding: 0; border: 0; }
 .week-facts strong { font-size: 64px; margin-bottom: 12px; }
 .week-facts span { font-size: 16px; }
 .week-phases { padding-top: 0; gap: 32px; }
 #process .week-phases h3 { font-size: 30px; }
 #process .week-phases p:not(.eyebrow) { font-size: 18px; line-height: 1.5; }
 #process .week-cta { font-size: 18px; }
}
.motion-off .week-day,.motion-off .week-cta .arrow { transition: none; }
@media (prefers-reduced-motion:reduce) { .week-day,.week-cta .arrow { transition: none; } }
/* Desktop review requirement: the entire pilot is one viewport below the header.
   Content remains in normal flow; nothing is clipped or put in a scroll box. */
@media (min-width:901px) {
 #process.pilot-week { scroll-margin-top: 0; height: calc(100svh - 88px); min-height: 552px; padding-block: 16px; }
 #process > .container { height: 100%; display: grid; grid-template-rows: auto auto minmax(0,1fr); }
 #process .week-heading .eyebrow { font-size: 11px; margin-bottom: 10px; }
 #process h2 { font-size: clamp(34px,5.8svh,52px); line-height: 1.06; }
 .week-built .week-title-visual { display: flex; flex-wrap: wrap; gap: 0 .22em; }
 .week-strip { margin: 16px 0 12px; }
 .week-day-label { font-size: 10px; margin-bottom: 8px; }
 .week-day-number { font-size: clamp(64px,10svh,100px); }
 .week-duration { font-size: 11px; max-width: 170px; margin-top: 8px; }
 .week-body { min-height: 0; height: 100%; grid-template-columns: minmax(0,.27fr) minmax(0,.73fr); grid-template-rows: minmax(0,1fr) auto; gap: 12px 40px; }
 .week-conditions { align-self: stretch; padding: 24px; }
 .week-facts { height: 100%; grid-template-rows: 1fr 1fr; gap: 16px; }
 .week-facts p+p { padding-top: 16px; }
 .week-facts strong { font-size: clamp(44px,7.6svh,68px); margin-bottom: 8px; }
 .week-facts span { max-width: 20ch; font-size: 16px; line-height: 1.3; }
 .week-phases { height: 100%; justify-content: space-between; gap: 12px; padding-top: 0; }
 .week-phases article:nth-child(1) { width: 70%; margin-left: 0; }
 .week-phases article:nth-child(2) { width: 72%; margin-left: 20%; }
 .week-phases article:nth-child(3) { width: 66%; margin-left: 34%; }
 #process .week-phases .eyebrow { font-size: 10px; margin-bottom: 6px; }
 #process .week-phases h3 { font-size: clamp(22px,3.5svh,30px); margin-bottom: 8px; }
 #process .week-phases p:not(.eyebrow) { font-size: 15px; line-height: 1.4; }
 #process .week-cta { min-height: 44px; font-size: 16px; padding-block: 8px; }
 #process .pilot-note { font-size: 11px; line-height: 1.35; margin-top: 0; }
}

#contact.contact-editorial { padding-block:24px; scroll-margin-top:0; display:grid; align-items:center; }
#contact .source-contact { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:32px; padding:0; background:none; width:100%; }
#contact .source-contact-copy { display:block; min-width:0; }
#contact .eyebrow { margin:0 0 18px; color:var(--burgundy); }
#contact .source-contact-copy h2 { max-width:none; margin:0 0 24px; color:var(--graphite); font-size:clamp(30px,3.5vw,44px); font-weight:550; line-height:1.12; letter-spacing:-.04em; }
#contact.contact-built .contact-title-source { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#contact .contact-title-visual { display:block; }
#contact .contact-title-mask { display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em; }
#contact .contact-title-line { display:block; }
#contact .source-contact-copy > p:not(.eyebrow) { font-size:clamp(15px,1.4vw,18px); line-height:1.55; max-width:43ch; color:var(--graphite); }
#contact .contact-card { margin-top:28px; padding:20px 24px; border-radius:var(--radius-lg); background:var(--burgundy); color:var(--milk); }
#contact .contact-action { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; font-size:clamp(15px,1.56vw,20px); font-weight:500; text-underline-offset:5px; text-decoration-thickness:1px; }
#contact .contact-action .arrow { display:inline-block; text-decoration:none; transition:transform 240ms ease; }
#contact .contact-action:hover .arrow { transform:translate(3px,-3px); }
#contact .contact-direct { display:flex; margin-top:12px; border-top:1px solid #efeeec55; padding-top:14px; width:100%; min-height:44px; font-size:clamp(20px,2vw,25px); font-weight:400; letter-spacing:-.02em; text-decoration:none; }
#contact .contact-direct:hover { text-decoration:underline; }
#contact a:focus-visible { outline:2px solid var(--milk); outline-offset:5px; border-radius:4px; }
#contact .source-video { width:100%; min-width:0; border-radius:var(--radius-lg); background:transparent; overflow:hidden; }
#contact .source-video video { display:block; width:100%; height:auto; aspect-ratio:886/476; max-height:none; object-fit:contain; }
#contact video:focus-visible { outline:2px solid var(--burgundy); outline-offset:-3px; }
.source-footer { padding-block:14px; gap:12px 24px; min-height:64px; }
.source-footer .source-beta { font-size:12px; gap:0 20px; }
.source-footer > div { font-size:12px; }
@media(min-width:901px) {
 #contact.contact-editorial { min-height:calc(100svh - 160px); }
}
@media(min-width:901px) and (max-width:1100px) {
 #contact .source-contact { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; }
 #contact .contact-card { padding:16px 20px; margin-top:20px; }
 #contact .source-contact-copy h2 { font-size:30px; margin-bottom:18px; }
}
@media(max-width:900px) {
 #contact.contact-editorial { padding-block:48px 36px; }
 #contact .source-contact { grid-template-columns:1fr; gap:32px; }
 #contact .source-contact-copy h2 { font-size:clamp(30px,5vw,42px); }
 #contact .source-contact-copy > p:not(.eyebrow) { font-size:16px; max-width:52ch; }
 #contact .contact-card { max-width:480px; }
 #contact .contact-action { font-size:17px; }
 .source-footer { align-items:start; }
}
@media(prefers-reduced-motion:reduce) { #contact .contact-action .arrow { transition:none; } }
.motion-off #contact .contact-action .arrow { transition:none; }

#audience.audience-towers {
 --audience-tower-height:clamp(340px,28vw,400px);
 --audience-title-size:clamp(34px,4.9vw,72px);
 --audience-body-size:clamp(17px,1.55vw,22px);
 background:color-mix(in srgb,var(--smoke) 12%,var(--white));
 padding-block:var(--space-8) var(--space-7); scroll-margin-top:0;
}
#audience .audience-inner { width:100%; }
#audience .audience-heading { display:block; margin-bottom:var(--space-6); }
#audience .audience-heading .eyebrow { margin-bottom:var(--space-3); color:var(--burgundy); }
#audience .audience-heading h2 { max-width:none; font-size:var(--audience-title-size); line-height:1.08; font-weight:var(--fw-medium); color:var(--graphite); letter-spacing:-.045em; }
#audience.audience-built .audience-title-source { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#audience .audience-title-line { display:block; }
#audience .audience-title-word { display:inline-block; white-space:nowrap; }
#audience .audience-title-letter { display:inline-block; }
#audience .audience-scene { width:calc(100% - var(--space-6) * 2); max-width:1360px; margin-inline:auto; }
#audience .audience-photo { overflow:hidden; border-radius:var(--radius-lg); margin:0; }
#audience .audience-photo img { display:block; width:100%; height:auto; aspect-ratio:1440/660; object-fit:cover; }
#audience .audience-tower-window { margin-top:clamp(-320px,-22vw,-160px); margin-inline:var(--space-6); position:relative; overflow:clip; border-radius:var(--radius-inner); }
#audience .audience-tiles { display:grid; grid-template-columns:1fr 1.05fr 1fr; align-items:end; gap:0; }
#audience .audience-tile { display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; grid-row:auto; gap:var(--space-5); min-width:0; min-height:calc(var(--audience-tower-height) - var(--space-8)); padding:var(--space-6); margin:0; border:0; border-radius:var(--radius-inner) var(--radius-inner) 0 0; box-shadow:none; background:var(--milk); color:var(--graphite); }
#audience .audience-tile:nth-child(2) { min-height:var(--audience-tower-height); background:var(--burgundy); color:var(--text-on-accent); }
#audience .audience-tile:nth-child(3) { min-height:calc(var(--audience-tower-height) - var(--space-6)); background:var(--white); }
#audience .audience-tile h3 { font-size:clamp(26px,3.05vw,44px); line-height:1.1; letter-spacing:-.04em; font-weight:var(--fw-medium); color:inherit; margin:0; transition:none; transform:none; }
#audience .audience-category-line { display:block; }
#audience .audience-tile h3:hover { color:inherit; transform:none; }
#audience .audience-tile > p:not(.eyebrow) { max-width:none; font-size:var(--audience-body-size); line-height:1.5; color:inherit; margin:0; }
#audience .source-section-cta { margin-top:var(--space-5); display:flex; align-items:center; justify-content:flex-start; gap:var(--space-6); }
#audience .source-section-cta p { font-size:var(--fs-site-lead); }
#audience .source-section-cta .button { border:0; border-radius:0; padding:0; background:none; min-height:var(--hit); width:auto; justify-content:flex-start; color:var(--burgundy); font-size:var(--fs-site-lead); text-decoration:underline; text-underline-offset:6px; gap:var(--space-3); }
#audience .source-section-cta a:focus-visible { outline:2px solid var(--burgundy); outline-offset:4px; }
#audience.audience-motion .audience-tile { transform:translateY(var(--tower-y,0%)); opacity:var(--tower-opacity,1); }
#audience.audience-motion .source-section-cta { opacity:var(--audience-cta-opacity,1); }
#audience.audience-motion .source-section-cta:focus-within { opacity:1; }
@media(min-width:769px) and (max-width:1100px) {
 #audience .audience-tile { padding:var(--space-5); gap:var(--space-4); }
 #audience .audience-tile h3 { font-size:clamp(24px,2.85vw,32px); }
 #audience .audience-tile > p:not(.eyebrow) { font-size:var(--fs-row); }
 #audience .audience-tower-window { margin-inline:var(--space-4); }
}
@media(max-width:768px) {
 #audience.audience-towers { padding-block:var(--space-7); }
 #audience .audience-heading { margin-bottom:var(--space-5); }
 #audience .audience-title-line { display:inline; }
 #audience .audience-title-line + .audience-title-line::before { content:' '; }
 #audience .audience-scene { width:calc(100% - var(--space-4) * 2); }
 #audience .audience-photo img { aspect-ratio:4/3; object-position:center top; }
 #audience .audience-tower-window { margin-top:calc(-1 * var(--space-6)); margin-inline:var(--space-3); overflow:visible; border-radius:0; }
 #audience .audience-tiles { grid-template-columns:1fr; gap:0; }
 #audience .audience-tile,#audience .audience-tile:nth-child(2),#audience .audience-tile:nth-child(3) { min-height:0; padding:var(--space-5); gap:var(--space-4); border-radius:0; transform:none; opacity:1; }
 #audience .audience-tile:first-child { border-radius:var(--radius-inner) var(--radius-inner) 0 0; }
 #audience .audience-tile:last-child { border-radius:0 0 var(--radius-inner) var(--radius-inner); }
 #audience .audience-tile h3 { font-size:30px; max-width:18ch; }
 #audience .audience-tile > p:not(.eyebrow) { font-size:var(--fs-body); }
 #audience .source-section-cta { align-items:flex-start; flex-direction:column; gap:var(--space-2); }
 #audience .source-section-cta p,#audience .source-section-cta .button { font-size:var(--fs-body); }
 #audience.audience-motion .source-section-cta { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
 #audience.audience-motion .audience-tile { transform:none; opacity:1; }
 #audience.audience-motion .source-section-cta { opacity:1; }
}
.motion-off #audience.audience-motion .audience-tile { transform:none; opacity:1; }
.motion-off #audience.audience-motion .source-section-cta { opacity:1; }

/* The owner requires the complete desktop scene within the available viewport. */
@media(min-width:901px) {
 #audience.audience-towers { --audience-fit-tower:clamp(225px,32svh,288px); height:calc(100svh - 96px); min-height:544px; padding-block:var(--space-4); }
 #audience .audience-inner { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; row-gap:var(--space-4); }
 #audience .audience-heading { margin-bottom:0; }
 #audience .audience-heading .eyebrow { margin-bottom:var(--space-2); }
 #audience .audience-heading h2 { font-size:clamp(32px,5.6svh,50px); }
 #audience .audience-scene { height:100%; min-height:0; position:relative; }
 #audience .audience-photo { height:calc(100% - var(--audience-fit-tower) + var(--space-6)); }
 #audience .audience-photo img { height:100%; aspect-ratio:auto; object-position:center 28%; }
 #audience .audience-tower-window { position:absolute; bottom:0; inset-inline:var(--space-6); margin:0; height:var(--audience-fit-tower); }
 #audience .audience-tiles { height:100%; }
 #audience .audience-tile { min-height:calc(var(--audience-fit-tower) - var(--space-6)); padding:var(--space-4) var(--space-5); gap:var(--space-3); }
 #audience .audience-tile:nth-child(2) { min-height:var(--audience-fit-tower); }
 #audience .audience-tile:nth-child(3) { min-height:calc(var(--audience-fit-tower) - var(--space-4)); }
 #audience .audience-tile h3 { font-size:clamp(22px,3.4svh,30px); }
 #audience .audience-tile > p:not(.eyebrow) { font-size:var(--fs-row); line-height:1.45; }
 #audience .source-section-cta { margin-top:0; gap:var(--space-5); }
 #audience .source-section-cta p,#audience .source-section-cta .button { font-size:var(--fs-body); }
}
@media(min-width:1400px) and (min-height:800px) {
 #audience .audience-tile > p:not(.eyebrow) { font-size:var(--fs-body); }
}

.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:var(--hit);min-height:var(--hit);color:var(--secondary);text-decoration:none}.lang-switch a[aria-current="true"]{color:var(--burgundy);font-weight:var(--fw-semibold)}

/* Match the catalogue/chat cookie component, including its graphite action. */
.cookie-consent { position:fixed;right:20px;bottom:20px;z-index:2200;width:min(430px,calc(100vw - 40px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 14px 52px;background:var(--white);color:var(--secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 42px rgba(47,49,61,.12);overflow:hidden; }
.cookie-consent__stamp { position:absolute;top:50%;left:-20px;z-index:0;width:62px;height:62px;color:#ece9e4;transform:translateY(-50%) rotate(-12deg);pointer-events:none; }
.cookie-consent p,.cookie-consent .cookie-btn { position:relative;z-index:1; }
.cookie-consent p { min-width:0;margin:0;font-size:12px;line-height:1.55; }
.cookie-consent a { color:var(--burgundy);font-size:12px;text-underline-offset:2px; }
.cookie-consent .cookie-btn { flex:0 0 auto;padding:8px 12px;background:var(--graphite);border:0;border-radius:6px;color:var(--white);cursor:pointer;transition:background-color var(--motion-feedback) var(--ease-fn); }
.cookie-consent .cookie-btn:hover { background:var(--graphite-deep); }
@media(max-width:640px){.cookie-consent{left:12px;right:12px;bottom:12px;width:auto;}}

#audience.audience-towers { background:var(--milk); }

/* Each desktop section is a complete scene; the page scroll changes sections.
   Text stays in normal flow, with no clipping or nested scrolling. */
@media(min-width:901px), (min-width:700px) and (min-height:700px) {
 :root { --landing-scene:calc(100svh - var(--landing-header,72px)); }
 main > section:not(.hero) { scroll-margin-top:0; }
 .hero { height:calc(100svh - var(--landing-header,72px));min-height:568px;padding-block:16px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px; }
 .hero-title { font-size:min(19.1vw,22svh,268px); }
 .lang-en .hero-title { font-size:min(14.25vw,20svh,200px); }
 .hero-aside { top:16px;font-size:clamp(15px,2.1svh,20px); }
 .lang-en .hero-aside { top:auto;bottom:12%; }
 .hero-bottom { min-height:0;grid-template-columns:28% minmax(0,1fr);gap:24px;margin:0; }
 .hero-copy { justify-content:center;padding-top:0;gap:12px; }
 .hero-copy > p { font-size:clamp(20px,3svh,28px);margin-bottom:4px; }
 .hero-copy .button { min-height:44px;padding:10px 20px;font-size:15px; }
 .hero-copy .example-link { font-size:14px;min-height:36px; }
 .hero-photos,.hero-photo { min-height:0;height:100%; }
 .hero-photo img { height:100%;aspect-ratio:auto;object-position:center 35%; }
 .hero-photo-secondary img { object-position:45% 40%; }
 .hero-footnote { margin:0;font-size:14px;gap:24px; }
 .hero-footnote > span { max-width:75%; }
 .hero-footnote .scroll-cue { font-size:13px;min-height:36px;white-space:nowrap;gap:12px; }

 #results.pilot-results { height:var(--landing-scene);min-height:544px;padding-block:16px;overflow-anchor:none; }
 #results > .container { height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px; }
 .pilot-opening { height:auto;padding:0;margin:0; }
 .pilot-opening-scene { position:static; }
 .pilot-kicker { font-size:12px;margin-bottom:10px; }
 .pilot-intro { margin:0;padding:18px 28px; }
 .pilot-results .pilot-intro h2 { font-size:clamp(28px,4.6svh,44px);max-width:none;line-height:1.1; }
 .pilot-intro > p { font-size:16px;margin-top:8px; }
 .deck-compact .deck-runway { display:block;height:100%;min-height:0; }
 .deck-compact .deck-sticky { display:grid;position:static;width:100%;height:100%;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px; }
 .deck-compact .deck-photos { display:block;position:relative;min-height:0;height:100%;isolation:isolate; }
 .deck-compact .deck-photo { position:absolute;inset:0 auto auto 0;transform-origin:top left;opacity:0;visibility:hidden;box-shadow:0 12px 30px rgba(41,44,55,.1);transition:transform 420ms cubic-bezier(.2,.7,.2,1),opacity 240ms ease; }
 .deck-compact .deck-photo.is-revealed { opacity:1;visibility:visible; }
 .deck-compact .deck-photo img { width:100%;height:100%;aspect-ratio:1.77; }
 .deck-compact .deck-info { display:flex;flex-direction:column;justify-content:center;min-width:0; }
 .deck-compact .deck-captions { display:block;min-height:180px; }
 .deck-compact .deck-copy { display:block;padding:0; }
 .deck-compact .deck-copy h3 { font-size:clamp(26px,4.4svh,38px);line-height:1.1;margin-bottom:16px; }
 .deck-compact .deck-copy p { font-size:clamp(16px,2.3svh,20px);line-height:1.5; }
 .deck-compact .deck-copy h3,.deck-compact .deck-copy p { position:relative; }
 .deck-compact .deck-source { opacity:0; }
 .deck-compact .deck-typed { display:block;position:absolute;inset:0; }
 .deck-compact .deck-actions { display:block;margin-top:24px; }
 .deck-compact .deck-cta { display:inline-flex;min-height:44px;font-size:16px;padding:10px 24px; }
 .deck-compact .deck-nav { display:grid;gap:12px;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:10; }
 .deck-compact .deck-nav button { width:44px;height:44px; }
 .motion-off .deck-compact .deck-source { opacity:1; }
 .motion-off .deck-compact .deck-typed { display:none; }
 .motion-off .deck-compact .deck-photo { transition:none; }

 #problem.problem-editorial { height:var(--landing-scene);min-height:544px;padding:16px 0; }
 #problem > .container { width:min(calc(100% - var(--gutter)*2),var(--container));height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px; }
 #problem .problem-heading { margin:0; }
 #problem .eyebrow { font-size:11px;letter-spacing:.2em;margin-bottom:10px; }
 #problem h2 { font-size:clamp(32px,6.2svh,64px);line-height:1.02; }
 #problem .problem-line-break { display:none; }
 #problem .problem-title-question { color:var(--smoke-ink); }
 #problem .problem-scene { min-height:0;grid-template-columns:1fr 1.25fr 1fr;grid-template-rows:1fr 1fr;gap:16px 24px; }
 #problem .problem-photo { grid-column:2;grid-row:1/span 2;height:100%;display:flex;flex-direction:column; }
 #problem .problem-photo-frame { flex:1;min-height:0;aspect-ratio:auto; }
 #problem figcaption { font-size:12px;padding-top:10px;gap:2px; }
 #problem .problem-note-1 { grid-column:3;grid-row:1;padding:0;align-self:center; }
 #problem .problem-note-2 { grid-column:1;grid-row:2;padding:0;margin:0;align-self:end; }
 #problem .problem-note-3 { grid-column:3;grid-row:2;padding:0;align-self:end; }
 #problem .problem-note h3 { font-size:clamp(22px,3.4svh,30px);margin-bottom:10px;line-height:1.12; }
 #problem .problem-note p { font-size:clamp(15px,2.2svh,18px);line-height:1.4; }
 #problem .problem-rule { margin-top:10px; }

 #result.manifesto-editorial { height:var(--landing-scene);min-height:544px;padding-block:24px; }
 #result > .container { height:100%; }
 #result .manifesto-spread { height:100%;align-items:center;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px; }
 #result .eyebrow { font-size:11px;margin-bottom:14px; }
 #result h2 { font-size:clamp(30px,5svh,50px); }
 #result .manifesto-intro { font-size:clamp(16px,2.4svh,20px);margin-top:16px;line-height:1.45; }
 #result .source-route { margin-top:12px; }
 #result .source-route > summary { font-size:15px;padding-block:10px; }
 #result .source-route dl { grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;padding:12px 0 0; }
 #result .source-route dt { font-size:17px; }
 #result .source-route dd { font-size:14px;line-height:1.4;margin-top:6px; }
 #result .manifesto-outcome { margin:0; }
 #result .manifesto-outcome .eyebrow { margin-bottom:14px; }
 #result .manifesto-outcome h3 { font-size:clamp(32px,5.6svh,52px);margin-bottom:16px; }
 #result .manifesto-outcome > p:not(.eyebrow) { font-size:clamp(17px,2.6svh,22px); }
 #result .example-link { margin-top:20px;font-size:16px;min-height:44px; }

 #tools.tools-showcase { height:var(--landing-scene);min-height:544px;padding-block:16px; }
 #tools > .container { height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:16px; }
 #tools .tools-heading h2 { font-size:clamp(34px,5.8svh,60px);max-width:none; }
 #tools .tool-tabs { margin:0;gap:28px; }
 #tools .tool-tabs button { font-size:20px;padding-block:8px;min-height:44px; }
 #tools .tool-panels { min-height:0;height:100%; }
 #tools .tool-scene { height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0; }
 #tools .tool-scene > figure { min-height:0;height:100%; }
 #tools .tool-scene img { height:100%;aspect-ratio:auto; }
 #tools .tool-scene-copy { padding:16px 0 0;gap:10px 32px; }
 #tools .tool-scene-copy .eyebrow { font-size:11px; }
 #tools .tool-scene-copy h3 { font-size:clamp(28px,4.8svh,42px);max-width:none; }
 #tools .tool-scene-copy > p:not(.eyebrow) { font-size:16px;line-height:1.45;max-width:none; }
 #process.pilot-week { height:var(--landing-scene);min-height:544px; }
}
@media(prefers-reduced-motion:reduce){.deck-compact .deck-source{opacity:1}.deck-compact .deck-typed{display:none}.deck-compact .deck-photo{transition:none}}
/* Align every scene directly below the actual 72px desktop header. */
@media(min-width:901px), (min-width:700px) and (min-height:700px) {
 html { scroll-padding-top:var(--landing-header,72px); }
 :root { --landing-scene:calc(100svh - var(--landing-header,72px)); }
 #audience.audience-towers { height:var(--landing-scene); }
 #tools .tool-scene { grid-template-columns:minmax(0,1fr); }
 #contact.contact-editorial { min-height:calc(100svh - 132px); }
 .source-footer { min-height:60px;padding-block:8px; }
}
@media(min-width:901px), (min-width:700px) and (min-height:700px){#contact.contact-editorial{min-height:calc(100svh - 133px);}}

@media(min-width:700px) and (max-width:900px) and (min-height:700px){

 #process.pilot-week { scroll-margin-top: 0; height: calc(100svh - 88px); min-height: 552px; padding-block: 16px; }
 #process > .container { height: 100%; display: grid; grid-template-rows: auto auto minmax(0,1fr); }
 #process .week-heading .eyebrow { font-size: 11px; margin-bottom: 10px; }
 #process h2 { font-size: clamp(34px,5.8svh,52px); line-height: 1.06; }
 .week-built .week-title-visual { display: flex; flex-wrap: wrap; gap: 0 .22em; }
 .week-strip { margin: 16px 0 12px; }
 .week-day-label { font-size: 10px; margin-bottom: 8px; }
 .week-day-number { font-size: clamp(64px,10svh,100px); }
 .week-duration { font-size: 11px; max-width: 170px; margin-top: 8px; }
 .week-body { min-height: 0; height: 100%; grid-template-columns: minmax(0,.27fr) minmax(0,.73fr); grid-template-rows: minmax(0,1fr) auto; gap: 12px 40px; }
 .week-conditions { align-self: stretch; padding: 24px; }
 .week-facts { height: 100%; grid-template-rows: 1fr 1fr; gap: 16px; }
 .week-facts p+p { padding-top: 16px; }
 .week-facts strong { font-size: clamp(44px,7.6svh,68px); margin-bottom: 8px; }
 .week-facts span { max-width: 20ch; font-size: 16px; line-height: 1.3; }
 .week-phases { height: 100%; justify-content: space-between; gap: 12px; padding-top: 0; }
 .week-phases article:nth-child(1) { width: 70%; margin-left: 0; }
 .week-phases article:nth-child(2) { width: 72%; margin-left: 20%; }
 .week-phases article:nth-child(3) { width: 66%; margin-left: 34%; }
 #process .week-phases .eyebrow { font-size: 10px; margin-bottom: 6px; }
 #process .week-phases h3 { font-size: clamp(22px,3.5svh,30px); margin-bottom: 8px; }
 #process .week-phases p:not(.eyebrow) { font-size: 15px; line-height: 1.4; }
 #process .week-cta { min-height: 44px; font-size: 16px; padding-block: 8px; }
 #process .pilot-note { font-size: 11px; line-height: 1.35; margin-top: 0; }

}

@media(min-width:700px) and (max-width:900px) and (min-height:700px){

 #audience.audience-towers { --audience-fit-tower:clamp(225px,32svh,288px); height:calc(100svh - 96px); min-height:544px; padding-block:var(--space-4); }
 #audience .audience-inner { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; row-gap:var(--space-4); }
 #audience .audience-heading { margin-bottom:0; }
 #audience .audience-heading .eyebrow { margin-bottom:var(--space-2); }
 #audience .audience-heading h2 { font-size:clamp(32px,5.6svh,50px); }
 #audience .audience-scene { height:100%; min-height:0; position:relative; }
 #audience .audience-photo { height:calc(100% - var(--audience-fit-tower) + var(--space-6)); }
 #audience .audience-photo img { height:100%; aspect-ratio:auto; object-position:center 28%; }
 #audience .audience-tower-window { position:absolute; bottom:0; inset-inline:var(--space-6); margin:0; height:var(--audience-fit-tower); }
 #audience .audience-tiles { height:100%; }
 #audience .audience-tile { min-height:calc(var(--audience-fit-tower) - var(--space-6)); padding:var(--space-4) var(--space-5); gap:var(--space-3); }
 #audience .audience-tile:nth-child(2) { min-height:var(--audience-fit-tower); }
 #audience .audience-tile:nth-child(3) { min-height:calc(var(--audience-fit-tower) - var(--space-4)); }
 #audience .audience-tile h3 { font-size:clamp(22px,3.4svh,30px); }
 #audience .audience-tile > p:not(.eyebrow) { font-size:var(--fs-row); line-height:1.45; }
 #audience .source-section-cta { margin-top:0; gap:var(--space-5); }
 #audience .source-section-cta p,#audience .source-section-cta .button { font-size:var(--fs-body); }

}

/* A desktop app's side panel can be narrower than a conventional laptop. */
@media(min-width:700px) and (max-width:900px) and (min-height:700px) {
 :root { --landing-header:64px;--landing-footer:113px; }
 #audience.audience-towers,#process.pilot-week { height:var(--landing-scene); }
 #audience .audience-tiles { grid-template-columns:1fr 1.05fr 1fr; }
 #audience .audience-tile,#audience .audience-tile:nth-child(2),#audience .audience-tile:nth-child(3) { padding:16px;gap:12px;border-radius:14px 14px 0 0; }
 #audience .source-section-cta { flex-direction:row;align-items:center; }
 #contact.contact-editorial { padding-block:16px; }
 #contact .source-contact { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px; }
 #contact .source-contact-copy h2 { font-size:28px;margin-bottom:18px; }
 #contact .source-contact-copy > p:not(.eyebrow) { font-size:15px;line-height:1.45; }
 #contact .eyebrow { font-size:11px;margin-bottom:12px; }
 #contact .contact-card { padding:16px 20px;margin-top:20px; }
 #contact .contact-action { font-size:15px; }
 #contact .contact-direct { font-size:20px; }
 .source-footer { display:block;min-height:113px; }
 .source-footer .source-beta { gap:0 12px; }
 .source-footer > div { display:flex;justify-content:flex-end;margin-top:8px;min-height:44px; }
}
@media(min-width:901px), (min-width:700px) and (min-height:700px) {
 #contact.contact-editorial { min-height:calc(100svh - var(--landing-header,72px) - var(--landing-footer,61px)); }
}
@media(min-width:700px) and (max-width:900px) and (min-height:700px){
 :root{--landing-header:72px;}
 .hero-photos{grid-template-columns:1fr;}
}
@media(min-width:700px) and (max-width:900px) and (min-height:700px){
 #process .week-body{column-gap:24px;}
 #process .week-phases article:nth-child(n){width:100%;margin-left:0;}
}

/* A single surface unfolds; links follow its leading edge. */
.mobile-nav { transform-origin:50% 0;isolation:isolate;overscroll-behavior:contain;max-height:calc(100dvh - var(--menu-header-height,72px));box-shadow:0 24px 40px -28px rgba(41,44,55,.3); }
.menu-button { position:relative; }
.menu-button::after { content:'';position:absolute;left:8px;right:8px;bottom:6px;height:1px;background:var(--burgundy);transform:scaleX(0);transform-origin:right;transition:transform 440ms cubic-bezier(.22,1,.36,1); }
.menu-button[aria-expanded='true'] { color:var(--burgundy); }
.menu-button[aria-expanded='true']::after { transform:scaleX(1);transform-origin:left; }
@media(prefers-reduced-motion:reduce){.menu-button::after{transition:none;}}

/* Navigation uses UI type, not the section-heading scale. */
.mobile-nav { padding-block:8px 20px; }
.mobile-nav a { min-height:48px;padding-block:12px;font-size:18px;line-height:1.4;font-weight:500;letter-spacing:-.015em; }
.mobile-nav .nav-cta { display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 16px;font-size:16px; }

/* Preserve descenders outside the deliberately tight poster line boxes.
   The final ink also reserves space before the next grid row. */
.title-mask { padding-bottom:.3em;margin-bottom:-.3em; }
.hero-title { padding-bottom:.25em; }
.manifesto-line-mask,.week-title-mask,#contact .contact-title-mask { padding-bottom:.25em;margin-bottom:-.25em; }
.problem-word-mask { padding-block:.2em;margin-block:-.2em; }
.hero-copy,.hero-heading,.hero-footnote,.tool-scene-copy { min-width:0; }

/* Product language capsule: one shared indicator moves between real links. */
.lang-switch { display:inline-grid;position:relative;isolation:isolate;grid-template-columns:repeat(2,44px);gap:2px;padding:3px;border:1px solid var(--smoke-24);border-radius:var(--radius-pill);background:rgba(123,147,163,.12);font-size:12px;letter-spacing:.06em;flex-shrink:0; }
.lang-switch .lang-switch-thumb { display:block;position:absolute;z-index:-1;left:3px;top:3px;width:44px;height:44px;border-radius:var(--radius-pill);background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,255,255,.65));box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 5px 12px -9px rgba(41,44,55,.8);pointer-events:none; }
.lang-en .lang-switch-thumb { transform:translateX(46px); }
.lang-switch a { width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-pill);color:var(--secondary);transition:color 240ms var(--ease-fn); }
.lang-switch a[aria-current='page'] { color:var(--burgundy);font-weight:650; }
.lang-switch[data-pending-lang] a { color:var(--secondary);font-weight:400; }
.lang-switch[data-pending-lang='ru'] a[hreflang='ru'],.lang-switch[data-pending-lang='en'] a[hreflang='en'] { color:var(--burgundy);font-weight:650; }
.header-actions { flex-shrink:0;gap:8px; }
.logo-link { min-width:0;flex-shrink:1; }
.logo-link img { max-width:100%;height:auto; }
@media(max-width:640px) { .header-inner { gap:8px; } }

/* Tablet uses one considered hero image rather than two squeezed grid rows. */
@media(min-width:700px) and (max-width:900px) and (min-height:700px) {
 .hero-photo-secondary { display:none; }
 .deck-compact .deck-actions { display:flex;flex-wrap:wrap;gap:12px; }
 #result .source-route dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #result:has(.source-route[open]) { height:auto;min-height:var(--landing-scene); }
}

/* On phones, show the whole photograph in its original proportions. */
@media(max-width:699px), (min-width:700px) and (max-width:900px) and (max-height:699px) {
 .hero-title { padding-bottom:.12em; }
 .hero-photos { grid-template-columns:minmax(0,1fr); }
 .hero-photo-secondary { display:none; }
 .hero-photo { height:auto; }
 .hero-photo img,.deck-photo img,#tools .tool-scene img,#problem .problem-photo-frame img,#audience .audience-photo img { display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none; }
 #problem .problem-photo-frame { aspect-ratio:auto; }
 #audience .audience-tower-window { margin-top:16px;margin-inline:0; }
 .hero-footnote { align-items:flex-start;flex-wrap:wrap;gap:12px; }
 .hero-footnote > span { max-width:none; }
 .hero-copy .button { max-width:100%;padding-inline:16px;gap:12px; }
 .hero-copy .example-link { max-width:100%; }
 #result .source-route dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
 #audience .audience-heading h2 { font-size:clamp(28px,7.6vw,38px); }
 #audience .audience-title-word { white-space:normal;overflow-wrap:break-word; }
 #problem h2 { font-size:clamp(30px,8vw,48px); }
 #contact .contact-action { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .lang-switch a { transition:none; } }
.motion-off .lang-switch a { transition:none; }
@media(min-width:700px) and (max-width:900px) and (min-height:700px) {
 #audience .audience-tile h3 { font-size:clamp(20px,2.8vw,25px); }
 #result .manifesto-outcome h3 { font-size:clamp(32px,5vw,44px); }
}
@media(min-width:700px) and (max-width:900px) and (min-height:700px) {
 #problem h2 { font-size:clamp(32px,5.5vw,48px); }
 #problem .problem-note h3 { font-size:clamp(20px,2.8vw,25px); }
 #problem .problem-note p { font-size:15px;line-height:1.45; }
}
