@font-face{
  font-family:"Unbounded";
  src:url("/fonts/Unbounded/static/Unbounded-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Unbounded";
  src:url("/fonts/Unbounded/static/Unbounded-Medium.ttf") format("truetype");
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Unbounded";
  src:url("/fonts/Unbounded/static/Unbounded-SemiBold.ttf") format("truetype");
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Unbounded";
  src:url("/fonts/Unbounded/static/Unbounded-Bold.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Unbounded";
  src:url("/fonts/Unbounded/static/Unbounded-ExtraBold.ttf") format("truetype");
  font-weight:800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Unbounded";
  src:url("/fonts/Unbounded/static/Unbounded-Black.ttf") format("truetype");
  font-weight:900; font-style:normal; font-display:swap;
}

:root{
  /* PrimalTraining palette (базовые нейтральные переменные) */
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #E9ECFF;
  --ink: #1a1a17;
  --ink-2: #333333;
  --ink-3: #666666;
  --line: #c8ccff;
  --line-2: #a8aeff;

  /* исходный sage-акцент (перекрыт ниже финальной чёрно-белой версией) */
  --accent: #808DFD;
  --accent-strong: #534AB7;
  --on-accent: #ffffff;
  --accent-soft: color-mix(in oklab, var(--accent) 16%, var(--bg));
  --accent-line: color-mix(in oklab, var(--accent) 42%, var(--line));

  --font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --font-accent: "Unbounded", ui-sans-serif, system-ui, sans-serif;
  --display-weight: 800;
  --display-tracking: -0.022em;

  --t-mega: clamp(2.9rem, 4.5vw, 5.6rem);
  --t-xl: clamp(2rem, 4vw, 3.2rem);
  --t-lg: clamp(1.55rem, 2.7vw, 2.25rem);
  --t-md: 1.28rem;

  --pad-y: 104px;          /* section vertical rhythm (regular) */
  --gap: 24px;
  --maxw: 1240px;
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 1px 2px rgba(0,0,0,0.04), 0 14px 40px -22px rgba(128,141,253,0.25);

  --btn-py:14px;
  --btn-px:24px;
  --btn-radius:999px;
  --btn-weight:600;
  --btn-tracking:-0.01em;
  --btn-tt:none;

  /* итоговая чёрно-белая палитра (правка 12.07.2026) — перекрывает sage-акцент выше */
  --accent: #000000;
  --accent-strong: #000000;
  --on-accent: #ffffff;
  --accent-soft: color-mix(in oklab, var(--accent) 8%, var(--bg));
  --accent-line: color-mix(in oklab, var(--accent) 30%, var(--line));
}

/* ---- accent variants ---- */
/* [data-accent="sage"] больше не переопределяет --accent — итоговая ч/б палитра задана в :root выше */
[data-accent="clay"] {
  --accent: oklch(0.575 0.085 48);
  --accent-strong: oklch(0.49 0.09 46);
}
[data-accent="indigo"] {
  --accent: oklch(0.545 0.09 264);
  --accent-strong: oklch(0.47 0.1 264);
}
[data-accent="plum"] {
  --accent: oklch(0.52 0.085 332);
  --accent-strong: oklch(0.45 0.09 332);
}
[data-accent="orange"] {
  --accent: oklch(0.66 0.16 52);
  --accent-strong: oklch(0.58 0.17 47);
}

/* ---- dark theme ---- */
[data-theme="dark"]{
  --bg: #0d0e1a;
  --surface: #13152e;
  --surface-2: #1a1d3a;
  --ink: #f0f0ff;
  --ink-2: #a8aacc;
  --ink-3: #7070a0;
  --line: #2a2d5a;
  --line-2: #3a3d7a;
  --on-accent: #ffffff;
  --accent-soft: color-mix(in oklab, var(--accent) 24%, var(--bg));
  --shadow: 0 1px 2px rgba(0,0,0,0.4), 0 18px 46px -24px rgba(0,0,0,0.7);
}
[data-theme="dark"][data-accent="sage"]   { --accent: #a8b0fe; }
[data-theme="dark"][data-accent="clay"]   { --accent: oklch(0.69 0.09 52); }
[data-theme="dark"][data-accent="indigo"] { --accent: oklch(0.66 0.1 266); }
[data-theme="dark"][data-accent="plum"]   { --accent: oklch(0.64 0.095 332); }
[data-theme="dark"][data-accent="orange"] { --accent: oklch(0.74 0.16 55); }

/* ---- density ---- */
[data-density="compact"] { --pad-y: 72px;  --gap: 18px; }
[data-density="comfy"]   { --pad-y: 132px; --gap: 30px; }

/* ---- headline font ---- */
[data-headfont="serif"] {
  --font-display: "Lora", Georgia, serif;
  --display-weight: 600;
  --display-tracking: -0.005em;
}

/* ---- button style variants ---- */
[data-btn="pill"] {
  --btn-py:14px;
  --btn-px:24px;
  --btn-radius:999px;
}
[data-btn="compact"] {
  --btn-py:10px;
  --btn-px:18px;
  --btn-radius:999px;
}
[data-btn="soft"] {
  --btn-py:13px;
  --btn-px:22px;
  --btn-radius:12px;
}
[data-btn="sharp"] {
  --btn-py:14px;
  --btn-px:26px;
  --btn-radius:4px;
}
[data-btn="wide"] {
  --btn-py:15px;
  --btn-px:38px;
  --btn-radius:999px;
}
[data-btn="mono"] {
  --btn-py:13px;
  --btn-px:22px;
  --btn-radius:8px;
  --btn-weight:500;
  --btn-tracking:0.04em;
  --btn-tt:uppercase;
}
/* ---------- утилиты обнуления вертикальных отступов ---------- */

/* section.block без вертикального паддинга вовсе */
.block--no-pad-y { padding-top: 0 !important; padding-bottom: 0 !important; }
.block--no-pad-top { padding-top: 0 !important; }
.block--no-pad-bottom { padding-bottom: 0 !important; }

/* половинный вертикальный ритм вместо полного --pad-y */
.block--pad-y-half { padding-top: calc(var(--pad-y) / 2); padding-bottom: calc(var(--pad-y) / 2); }
.block--pad-top-half { padding-top: calc(var(--pad-y) / 2); }
.block--pad-bottom-half { padding-bottom: calc(var(--pad-y) / 2); }

/* обнуление margin сверху/снизу у произвольного блока */
.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.my-0 { margin-top: 0; margin-bottom: 0; }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.62;
  font-weight:400; -webkit-font-smoothing:antialiased; letter-spacing:-0.005em;
  transition:background .35s ease, color .35s ease;
}
h1,h2,h3 {
  font-family:var(--font-display);
  font-weight:var(--display-weight);
  letter-spacing:var(--display-tracking);
  line-height:1.04;
  margin:0;
  text-wrap:balance;
}
.h2{
    font-size: 24px;
    line-height: normal;
    margin: 25px 0 15px 0;
}
.h3{
    font-size: 20px;
    line-height: normal;
    font-weight: 600;
    margin: 25px 0 15px 0;
}
p{margin:0; text-wrap:pretty;}
a{color:inherit; text-decoration:none;}
address{
  font-size: 14px;
}
address a{
  text-decoration: underline;
}
img{display:block; max-width:100%;}
figcaption {
  font-size: 0.88rem;
  color: var(--ink-2);
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid var(--line);
}
figure img {
    cursor: zoom-in;
}
blockquote {
    border-left: 4px solid #6287ae;
    background: linear-gradient(90deg, rgba(127, 119, 221, 0.08) 0%, transparent 100%);
    padding: 1rem 1.5rem;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    font-size: 12px;
    font-weight: 300;
    margin: 20px 0 0 0;
}
cite {
    padding: 5px 0 0 0;
    display: block;
}
#lb {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.85);
  display: flex; align-items: center; justify-content: center;
  cursor: zoom-out; z-index: 9999;
}
#lb img {
  max-width: 90vw; max-height: 90vh; border-radius: 4px;
}
.wrap {
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 32px;
}
.wrap-article{max-width: 760px;}
.mono{font-family:var(--font-mono); font-feature-settings:"ss01";}
.eyebrow{
  font-family:var(--font-mono); font-size:0.72rem; font-weight:500;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--accent-strong);
  display:inline-flex; align-items:center; gap:9px;
  white-space: nowrap;
}
.eyebrow::before {
  content:"";
  width:22px;
  height:1.5px;
  background:var(--accent);
  display:inline-block;
  flex-shrink:0;
}
.muted{color:var(--ink-2);}
.faint{color:var(--ink-3);}

/* ---------- buttons ---------- */
/* значения ниже — итоговые (актуальная лендинговая правка), поглощают старую pill-версию кнопок */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--font-body); font-weight:400; font-size:14px;
  letter-spacing:var(--btn-tracking); text-transform:var(--btn-tt);
  padding:10px 20px; border-radius:24px; cursor:pointer; border:1px solid transparent;
  transition:color .15s ease, border-color .15s ease, background .15s ease, transform .15s ease;
  white-space:nowrap;
}
[data-btn="mono"] .btn{ font-family:var(--font-mono); font-size:0.82rem; }

/* Акцентная — единственная заливная, для главных CTA */
.btn--primary{
  background:var(--accent-two, var(--accent)); color:#fff; border-color:var(--accent-two, var(--accent));
  box-shadow:0 10px 26px -14px var(--accent-two, var(--accent));
}
.btn--primary:hover{
  background:color-mix(in oklab, var(--accent-two, var(--accent)) 85%, #000);
  border-color:color-mix(in oklab, var(--accent-two, var(--accent)) 85%, #000);
  transform:translateY(-2px);
  box-shadow:0 16px 32px -16px var(--accent-two, var(--accent));
}

/* Ghost и soft — второстепенные, контурные чёрно-белые */
.btn--ghost,
.btn--soft{
  background:transparent; color:var(--ink); border-color:var(--ink); box-shadow:none;
}
.btn--ghost:hover,
.btn--soft:hover{
  background:var(--ink); color:var(--bg); border-color:var(--ink); transform:none;
}
.btn--sm{padding:calc(var(--btn-py) - 5px) calc(var(--btn-px) - 7px); font-size:0.86rem;}
.btn .arr{transition:transform .2s ease;}
.btn:hover .arr{transform:translateX(3px);}

/* Белая кнопка — для контрастных секций на темном фоне */
.btn--white{
  background:#fff; color:var(--ink); border-color:#fff;
  box-shadow:0 10px 26px -14px rgba(0,0,0,0.15);
}
.btn--white:hover{
  background:color-mix(in oklab, #fff 90%, #000);
  border-color:color-mix(in oklab, #fff 90%, #000);
  transform:translateY(-2px);
  box-shadow:0 16px 32px -16px rgba(0,0,0,0.2);
}

/* ---------- chips / pills ---------- */
/* значения ниже — итоговые (актуальная лендинговая правка: тонкий контур, прозрачный фон) */
.pill{
  display:inline-flex; align-items:center; gap:7px; padding:4px 10px; border-radius:20px;
  font-size:0.75rem; font-weight:400; color:var(--ink-2);
  border:1px solid var(--line); background:transparent;
  transition:color .15s ease, border-color .15s ease;
}
.pill:hover{
  background:transparent;
  color:var(--ink);
  border-color:var(--ink);
}
.pill--on{background:var(--accent); color:var(--on-accent); border-color:var(--accent);}
.pill--cta{background:var(--accent-two, var(--accent)); color:#fff; border-color:var(--accent-two, var(--accent)); box-shadow:0 10px 26px -14px var(--accent-two, var(--accent)); transition:transform .16s ease, background .2s ease;}
.tag{
  font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--accent-strong); background:var(--accent-soft); border:1px solid var(--accent-line);
  padding:5px 10px; border-radius:7px; display:inline-flex; align-items:center; white-space:nowrap;
}

/* ---------- cards ---------- */
.card{
  background:var(--surface); border:1.5px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  overflow: hidden;
}
.card.hover:hover{transform:translateY(-4px); border-color:var(--accent-line);}
.card .pad{padding:28px;}

/* ---------- image placeholder ---------- */
.ph{
  position:relative; overflow:hidden; background:var(--surface-2);
  background-image:repeating-linear-gradient(135deg,
    transparent 0 11px, color-mix(in oklab, var(--ink) 7%, transparent) 11px 12px);
  display:flex; align-items:flex-end; justify-content:flex-start;
}
.ph span{
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.04em;
  color:var(--ink-3); background:var(--surface); padding:5px 10px; margin:10px;
  border:1px solid var(--line); border-radius:6px;
}
.ph.center{align-items:center; justify-content:center;}
.ph.center span{margin:0;}
.ph > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  z-index:0;
}
.ph.filled{background-image:none;}
.ph img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.founder .ph img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
img.gal{aspect-ratio:1/1; display:block;}

/* training feed gallery */
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--gap);
}
.gal {
  position:relative;
  display:block;
  aspect-ratio:1/1;
  border-radius:var(--radius);
  overflow:hidden;
  border:1.5px solid var(--line);
  box-shadow:var(--shadow);
}
.gal img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.gal:hover img{transform:scale(1.045);}

/* offer cards */
.offer-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--gap);
}
.offer {
  display:grid;
  grid-template-columns:1fr 200px;
  overflow:hidden;
}
.offer .body {
  padding:26px 26px 28px;
  display:flex;
  flex-direction:column;
  gap:15px;
}
.offer .head {
  display: grid;
  grid-gap: 5px;
}
.offer h3{font-size:1.3rem; line-height:1.1;}
.offer .price{text-align:right; flex-shrink:0;}
.offer .price .amount {
  font-family:var(--font-display);
  font-weight:var(--display-weight);
  font-size:1.4rem;
  line-height:1;
  letter-spacing:-0.03em;
  white-space:nowrap;
}
.offer .price small {
  display:block;
  color:var(--ink-3);
  font-size:0.72rem;
  margin-top:4px;
  font-family:var(--font-mono);
}
.offer .incl {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}
.offer .incl li {
  /*display:flex;*/
  /*gap:10px;*/
  /*align-items:flex-start;*/
  color:var(--ink-2);
  font-size:0.92rem;
  line-height:1.38;
}
.offer .incl li::before {
  content:"✓";
  padding: 0 5px 0 0;
  color:var(--accent-strong);
  font-weight:700;
  flex-shrink:0;
  line-height:1.38;
}
.offer .foot {
  display:flex;
  flex-direction:column-reverse;
  align-items:flex-start;
  gap:13px;
  margin-top:auto;
  padding-top:4px;
}
.offer .foot .btn{width:max-content;}
.offer .chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.offer .media{position:relative; border-left:1.5px solid var(--line);}
.offer .media img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit: cover;
}

/* floating hero media close button (desktop only; shown via media query) */
.hero-media-close{
  display:none; position:absolute; top:8px; right:8px; z-index:2;
  width:30px; height:30px; border-radius:50%; cursor:pointer;
  align-items:center; justify-content:center; line-height:1;
  font-family:var(--font-body); font-size:20px; font-weight:500;
  color:var(--ink); background:color-mix(in oklab, var(--surface) 86%, transparent);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1.5px solid var(--line); box-shadow:var(--shadow);
  transition:transform .15s ease, background .15s ease, color .15s ease;
}
.hero-media-close:hover {
  transform:scale(1.08);
  background:var(--accent);
  color:var(--on-accent);
  border-color:var(--accent);
}
.hero-portrait.is-hidden{display:none !important;}

/* ---------- top header ---------- */
.topbar{
  position:sticky; top:0; z-index:50; background:color-mix(in oklab, var(--bg) 86%, transparent);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1.5px solid transparent; transition:border-color .3s ease, background .3s ease;
}
.topbar.scrolled{border-color:var(--line);}
.topbar .wrap {
  display:flex;
  align-items:center;
  gap:28px;
  height:74px;
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
}
.brand .mark{
  width:40px; height:40px; border-radius:12px; background:var(--accent); color:var(--on-accent);
  display:grid; place-items:center; font-size:20px; box-shadow:0 8px 20px -10px var(--accent);
}
.brand .name {
  display:block;
  font-family:var(--font-accent);
  font-weight:700;
  font-size:1.18rem;
  letter-spacing:-0.01em;
  line-height:1;
}
.brand .sub {
  display:block;
  font-family:var(--font-mono);
  font-size:0.62rem;
  color:var(--ink-3);
  letter-spacing:0.02em;
  margin-top:3px;
  white-space:nowrap;
}
.nav {
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
}
.nav a {
  padding:9px 14px;
  border-radius:9px;
  font-size:0.92rem;
  font-weight:500;
  color:var(--ink-2);
  transition:.15s;
  white-space:nowrap;
}
.nav a:hover{color:var(--ink); background:var(--surface-2);}
.topbar .btn{margin-left:8px;}
.menu-btn {
  display:none;
  margin-left:auto;
  width:44px;
  height:44px;
  border-radius:11px;
  border: transparent;
  background:var(--surface);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
}
.menu-btn i {
  width:18px;
  height:2px;
  background:var(--ink);
  border-radius:2px;
}

/* ---------- mobile side menu (drawer) ---------- */
body.no-scroll{overflow:hidden;}
.drawer-overlay{
  position:fixed; inset:0; z-index:90;
  background:rgba(0,0,0,0.45);
  opacity:0; visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}
.drawer-overlay.is-open{opacity:1; visibility:visible;}
.drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:91;
  width:min(320px, 82vw);
  background:var(--surface);
  border-left:1.5px solid var(--line);
  box-shadow:-24px 0 48px -24px rgba(0,0,0,0.25);
  transform:translateX(100%);
  transition:transform .3s ease;
  display:flex; flex-direction:column;
  overflow-y:auto;
}
.drawer.is-open{transform:translateX(0);}
.drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px;
  border-bottom:1.5px solid var(--line);
}
.drawer-head .name{
  font-family:var(--font-accent);
  font-weight:700;
  font-size:1.05rem;
}
.drawer-close{
  width:36px; height:36px; border-radius:9px;
  border:1.5px solid var(--line);
  background:var(--surface);
  font-size:1.3rem; line-height:1;
  color:var(--ink);
  cursor:pointer;
}
.drawer-nav{
  display:flex; flex-direction:column;
  padding:14px 16px; gap:4px;
}
.drawer-nav a{
  padding:13px 14px;
  border-radius:9px;
  font-size:0.98rem;
  font-weight:500;
  color:var(--ink-2);
}
.drawer-nav a:hover{color:var(--ink); background:var(--surface-2);}
.drawer-nav .btn--primary{
  margin-top:10px;
  text-align:center;
  color:#fff;
}
.drawer-nav .btn--primary:hover{
  color:#fff;
  background:color-mix(in oklab, var(--accent-two, var(--accent)) 85%, #000);
  border-color:color-mix(in oklab, var(--accent-two, var(--accent)) 85%, #000);
}
@media (min-width:881px){
  .drawer, .drawer-overlay{display:none;}
}

/* ---------- hero ---------- */
.hero{padding:56px 0 78px; position:relative;}
.hero-grid{
  display:grid; grid-template-columns:340px 1fr; gap:56px; align-items:stretch;
}
.hero-rail{
  display:flex; flex-direction:column; justify-content:space-between; gap:36px;
  padding-right:40px; border-right:1.5px solid var(--line);
}
.hero-rail .statement {
  font-size:1.18rem;
  line-height:1.45;
  color:var(--ink);
  font-weight:500;
  text-wrap:pretty;
  padding-top:10px;
}
.hero-rail .micro {
  font-family:var(--font-mono);
  font-size:0.74rem;
  color:var(--ink-3);
  margin-top:11px;
}
.hero-socials {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.hero-socials .handle {
  font-family:var(--font-mono);
  font-size:0.84rem;
  color:var(--accent-strong);
}
.hero-socials .row {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.hero-socials a.pill {
  transition:transform .15s ease, border-color .15s ease, color .15s ease;
}
.hero-socials a.pill:hover {
  border-color:var(--accent-line);
  color:var(--ink);
  transform:translateY(-2px);
}

.hero-main {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:40px;
  min-height:560px;
}
.hero-top {
  display:grid;
  grid-template-columns:1fr 268px;
  gap:40px;
  align-items:start;
}
.hero-stats {
  display:flex;
  flex-wrap:wrap;
  gap:30px 44px;
  align-content:flex-start;
}
.stat .num {
  font-family:var(--font-display);
  font-weight:var(--display-weight);
  font-size:3rem;
  line-height:0.95;
  letter-spacing:-0.03em;
}
.stat .num.cred{color:var(--accent); font-size:2.4rem;}
.stat--lead{align-self:start;}
.stat.stat--lead small{
  display:block; max-width:9.5em; margin-top:0;
  font-family:var(--font-display); font-weight:var(--display-weight);
  font-size:3rem; line-height:0.95; letter-spacing:-0.03em;
  color:var(--ink); text-wrap:balance;
}
.hero-credential{
  font-family:var(--font-display); font-weight:var(--display-weight);
  font-size:clamp(1.1rem, 1.5vw, 1.4rem); 
  line-height: 1.4; 
  letter-spacing:-0.02em;
  color:var(--ink); max-width:none; margin:0 0 32px; text-wrap:nowrap; white-space:nowrap;
}
.stat small {
  display:block;
  color:var(--ink-2);
  font-size:0.92rem;
  margin-top:6px;
  max-width:150px;
}
.hero-portrait {
  aspect-ratio:3/4;
  border-radius:var(--radius);
  border:1.5px solid var(--line);
}
.hero-cats {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.hero-headline h1{
  
  font-family: 'Unbounded';
  font-size:calc(var(--t-mega) * 0.9); 
  margin-bottom:0;
}
/* итоговый вид accent-word (правка 12.07.2026 — плашка bg/ink поверх текста) */
.hero-headline .accent-word{
  color:var(--bg);
  background:var(--ink);
  display:inline-block;
  padding: 6px 5px 6px;
  line-height: 65px;
  margin:10px 0 0 0;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.hero-headline .lede {
  font-size:1.22rem;
  color:var(--ink-2);
  margin-top:20px;
  max-width:520px;
}
table.minimal-lines {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  table-layout: fixed;
  margin: 25px 0 0 0;
}

table.minimal-lines thead th {
  text-align: left;
  font-weight: 500;
  font-size: 11px;
  color: #888;
  padding: 0 12px 10px;
  border-bottom: 1.5px solid var(--ink);
}

table.minimal-lines thead th:first-child {
  padding-left: 0;
  font-weight: 500;
}

table.minimal-lines tbody td {
  padding: 12px;
  vertical-align: top;
  color: #111;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.12);
  line-height: 1.5;
  font-size: 12px;
  font-weight: 300;
}

table.minimal-lines tbody td:first-child {
  font-weight: 500;
  padding-left: 0;
}

table.minimal-lines tbody tr:last-child td {
  border-bottom: none;
}
@media (max-width:1080px){
  .hero-headline .accent-word {
      padding: 0px 5px 6px;
      line-height: 65px;
      margin: 7px 0 0;
  }
}
@media (max-width:880px){
  .hero-headline .accent-word {
      display: block;
      max-width: max-content;
      line-height: normal;
  }
}

/* ---------- generic section ---------- */
section.block{
  padding:var(--pad-y) 0;
}
section.tinted{background:var(--surface-2);}
.sec-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:48px;
}
.sec-head h2{font-size:var(--t-lg); margin-top:14px;}
.sec-head .lede {
  color:var(--ink-2);
  font-size:1.05rem;
  max-width:440px;
  margin-top:12px;
  text-align: right;
}

.grid{display:grid; gap:var(--gap);}
.g4{grid-template-columns:repeat(4,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}

/* value props */
.vp .pad {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.vp .icon{
  width:50px; height:50px; border-radius:14px; background:var(--accent-soft);
  border:1px solid var(--accent-line); color:var(--accent-strong);
  display:grid; place-items:center; font-size:22px;
  float:left; margin:0 20px 0 0;
}
.vp h3{font-size:1.22rem;}
.vp-p{color:var(--ink-2); font-size:0.98rem;}
.vp .step-no {
  font-family:var(--font-mono);
  font-size:0.72rem;
  color:var(--ink-3);
  letter-spacing:0.1em;
}
.vp-tag{
  display: inline-block;
  font-family:var(--font-accent);
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.02em;
  margin:0 0 4px;
  background-color: var(--ink);
  max-width: max-content;
  color: #fff;
  padding: 2px 5px 0px;
}

/* segment monologue */
.seg-card .pad {
  display:flex;
  flex-direction:column;
  gap:16px;
}
.seg-card .tag{
  margin: 0 5px 0 0;
  max-width:max-content;

  display: block;
  background: #4CAF50;
  border: transparent;
  border-radius: unset;
}
.seg-card .quote {
  font-size:1.16rem;
  line-height:1.32;
  font-weight:500;
  color:var(--ink);
  text-wrap:pretty;
}
.seg-card .quote::before {
  content:"«";
  color:var(--ink);
  margin-right:1px;
}
.seg-card .quote::after {
  content:"»";
  color:var(--ink);
  margin-left:1px;
}
.seg-card hr {
  border:0;
  border-top:1.5px dashed var(--line-2);
  margin:2px 0;
}
.seg-card .answer {
  color:var(--ink-2);
  font-size:0.96rem;
}
.seg-card .answer .ar{color:var(--accent); font-weight:700;}
.tag--solution{background:var(--accent); color:var(--on-accent); border-color:var(--accent); flex-shrink:0; align-self:flex-start;}

/* process flow */
.flow {
  display:flex;
  align-items:stretch;
  gap:8px;
  flex-wrap:wrap;
}
.flow .node {
  flex:1 1 0;
  min-width:180px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:30px 22px;
}
.flow .node .dot {
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.3rem;
  background:var(--surface);
  border:1.5px solid var(--line);
}
.flow .node.is-loop{border-color:var(--accent-line);}
.flow .node.is-loop .dot {
  background:var(--accent);
  color:var(--on-accent);
  border-color:var(--accent);
}
.flow .node h3{font-size:1.1rem;}
.flow .node p{font-size:1.02rem; color:var(--ink-2);}
.flow .conn {
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink-3);
  font-size:1.5rem;
  padding:0 2px;
}
.flow-tags {
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:30px;
}

/* programs */
.prog .ph{height:172px; border-bottom:1.5px solid var(--line);}
.prog .body {
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.prog .row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.prog h3{font-size:1.16rem;}
.prog p{color:var(--ink-2); font-size:0.96rem;}
.prog .chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:2px;
}
.prog h3 a {
  color:inherit; text-decoration:none; border-bottom:1.5px solid var(--accent-line);
  transition:border-color .15s ease, color .15s ease;
}
.prog h3 a:hover { color:var(--accent); border-color:var(--accent); }

/* cases */
.case{display:flex; overflow:hidden;}
.case .ph {
  width:180px;
  flex-shrink:0;
  border-right:1.5px solid var(--line);
}
.case .body {
  padding:26px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.case .start {
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.case .start small {
  color:var(--ink-2);
  font-size:0.9rem;
  line-height:1.4;
}
.case .quote {
  font-size:1.08rem;
  line-height:1.4;
  color:var(--ink);
}
.case .desc {
  font-size:1.02rem;
  line-height:1.46;
  color:var(--ink-2);
}
.case .chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.case-link {
  font-size:0.9rem;
  font-weight:600;
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:var(--accent-line);
  text-underline-offset:3px;
  margin-top:4px;
  display:inline-block;
  transition:color .15s ease, text-decoration-color .15s ease;
}
.case-link:hover{color:var(--accent-strong); text-decoration-color:var(--accent-strong);}

/* entry */
.entry .pad {
  display:flex;
  flex-direction:column;
  gap:13px;
  align-items:flex-start;
}
.entry .icon {
  width:46px;
  height:46px;
  border-radius:13px;
  display:grid;
  place-items:center;
  font-size:18px;
  background:var(--surface-2);
  border:1.5px solid var(--line);
  color:var(--accent-strong);
}
.entry h3{font-size:1.18rem;}
.entry p {
  color:var(--ink-2);
  font-size:0.96rem;
  flex:1;
}
.entry p a {
  color:inherit; text-decoration:underline; text-decoration-color:var(--accent-line);
  text-underline-offset:3px; transition:text-decoration-color .15s ease, color .15s ease;
}
.entry p a:hover { color:var(--accent); text-decoration-color:var(--accent); }

/* pricing */
.price .link{
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--accent-line);
  text-underline-offset: 3px;
  transition: text-decoration-color .15s ease, color .15s ease;
}
.price .pad {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.price .amount {
  font-family:var(--font-display);
  font-weight:var(--display-weight);
  font-size:2.6rem;
  line-height:1;
  letter-spacing:-0.03em;
}
.price h3{font-size:1.16rem;}
.price p{color:var(--ink-2); font-size:0.95rem;}
.price.featured {
  border-color:var(--accent);
  box-shadow:0 0 0 1.5px var(--accent), var(--shadow);
}
.price .top {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.guarantee-tags {
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:28px;
}

/* manifest */
.manifest {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:var(--gap);
}
.manifest .pad {
  padding:34px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.manifest .big-quote {
  font-family:var(--font-display);
  font-weight:var(--display-weight);
  font-size:1.5rem;
  line-height:1.2;
  letter-spacing:-0.015em;
}
.manifest .big-quote a {
  color:inherit; text-decoration:underline; text-decoration-color:var(--accent-line);
  text-underline-offset:3px; transition:text-decoration-color .15s ease, color .15s ease;
}
.manifest .big-quote a:hover {
  color:var(--accent); text-decoration-color:var(--accent);
}
.manifest .founder {
  display:flex;
  align-items:center;
  gap:14px;
}
.manifest .founder .ph {
  width:58px;
  height:58px;
  border-radius:50%;
  flex-shrink:0;
}
.manifest .founder b{font-size:1.02rem;}
.manifest .cta-card {
  border-color: green;
  border-width: 4px;
}
.manifest .cta-card h2{font-size:var(--t-md);}
.manifest .cta-buttons {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:4px;
}
.manifest-chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* final cta */
.final{background:var(--ink); color:var(--bg);}
[data-theme="dark"] .final{background:#07081a;}
.final .inner {
  text-align:center;
  padding:var(--pad-y) 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
}
.final h2 {
  font-size:var(--t-xl);
  color:var(--bg);
  max-width:680px;
}
.final span{
  color:color-mix(in oklab, var(--bg) 72%, var(--ink));
}
.final p {
  color:color-mix(in oklab, var(--bg) 72%, var(--ink));
  max-width: 480px;
  font-size:1.08rem;
}
.final .buttons {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}
.final .btn--ghost{color:var(--bg); border-color:color-mix(in oklab, var(--bg) 35%, transparent);}
.final .btn--ghost:hover{border-color:var(--bg);}
.final .eyebrow::before{ background:var(--ink-3); }

/* footer */
.footer{padding:54px 0 60px; border-top:1.5px solid var(--line);}
.footer .wrap {
  display:flex;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
  align-items:center;
}
.footer .cols {
  display:flex;
  gap:40px;
  flex-wrap:wrap;
}
.footer a{color:var(--ink-2); font-size:0.92rem;}
.footer a:hover{color:var(--ink);}
.footer .copy {
  font-family:var(--font-mono);
  font-size:0.74rem;
  color:var(--ink-3);
}

/* ---------- articles & article pages ---------- */
section.article_block h1{
  line-height: normal;
}
.article_block li{
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  margin-bottom: 5px;
  margin-top: 15px;
}
.article_block p{
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  margin-bottom: 5px;
}
.article_block p.h2 {
  font-size: 24px;
  line-height: normal;
  font-weight: 600;
  margin: 25px 0 15px 0;
}
.articles-ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.articles-link:hover{
  text-decoration: underline;
}
.article-time {
  margin: 0 5px 0 0;
  font-size: 0.78rem;
}
.breadcrumb {
  margin-bottom: 24px;
  font-size: 14px;
}
.widget{
  margin: 20px 0;
}

/* inline content links */
.statement a, .vp p a, .answer a, .flow .node p a {
  color:inherit; text-decoration:underline; text-decoration-color:var(--accent-line);
  text-underline-offset:3px; transition:text-decoration-color .15s ease, color .15s ease;
}
.statement a:hover, .vp p a:hover, .answer a:hover, .flow .node p a:hover {
  color:var(--accent); text-decoration-color:var(--accent);
}
.offer .incl li a {
  color:inherit; text-decoration:underline; text-decoration-color:var(--accent-line);
  text-underline-offset:3px; transition:text-decoration-color .15s ease, color .15s ease;
}
.offer .incl li a:hover { color:var(--accent); text-decoration-color:var(--accent); }

/* inline → class migrations */
.hero-rail-cta{ margin-top:24px; }
.hero-h1{ margin-top:26px; }
.pill--seg{ max-width:max-content; }
.start{ display:grid; max-width:max-content; }
.case-label{ font-size:12px; letter-spacing:normal; }
.founder-role{ font-size:0.74rem; margin-top:3px; }

/* ---------- responsive ---------- */
/* desktop: hero media floats fixed, always on screen (for video/photo) */
@media (min-width:1081px){
  .hero-top{grid-template-columns:1fr;}
  .hero-portrait{
    --hero-media-w:clamp(220px, 18vw, 290px);
    position:fixed; z-index:40;
    bottom:28px;
    right:max(20px, calc((100vw - var(--maxw))/2 - var(--hero-media-w)));
    width:var(--hero-media-w);
    margin:0;
    box-shadow:0 28px 64px -26px rgba(128,141,253,0.4);
    background:var(--surface);
  }
  .hero-portrait video, .hero-portrait img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  }
  .hero-media-close{display:flex;}
}
@media (max-width:1080px){
  .hero-top{grid-template-columns:1fr;}
  .hero-portrait{display:none;}
  .g4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px) {
  .offer-grid { grid-template-columns: 1fr; }
}
@media (max-width:880px){
  .nav{display:none;}
  .topbar .btn--primary{display:none;}
  .menu-btn{display:flex;}
  .hero-grid{grid-template-columns:1fr; gap:40px;}
  .hero-rail {
    order:2;
    border-right:0;
    padding-right:0;
    border-top:1.5px solid var(--line);
    padding-top:34px;
    padding-bottom:0;
    flex-direction:column;
  }
  .hero-main{order:1; min-height:0;}
  .g3{grid-template-columns:1fr 1fr;}
  .manifest{grid-template-columns:1fr;}
  .sec-head {
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    margin-bottom:36px;
  }
  .sec-head .lede {
    text-align:left;
  }
  .flow .conn {
    transform:rotate(90deg);
    width:100%;
    padding:4px 0;
  }
  .flow .node{min-width:100%;}
  .gallery-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
  :root{--pad-y:64px;}
  .g4,.g3,.g2{grid-template-columns:1fr;}
  .case{flex-direction:column;}
  .case .ph {
    width:100%;
    height:160px;
    border-right:0;
    border-bottom:1.5px solid var(--line);
  }
  .hero-stats{gap:24px 32px;}
  .stat .num{font-size:2.5rem;}
  .footer .wrap{flex-direction:column; align-items:flex-start;}
}
@media (max-width:520px) {
  .gallery-grid { grid-template-columns: 1fr; }
  .offer { grid-template-columns: 1fr; }
  .offer .media { aspect-ratio: 4/5; border-left: 0; border-bottom: 1.5px solid var(--line); order: -1; }
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important; animation:none !important;}
  html{scroll-behavior:auto;}
}

#heroMedia{
  display: none;
}
#heroMediaClose {
  position: absolute; top: 10px; right: 10px; z-index: 10;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(0,0,0,0.45); color: #fff;
  border: none; cursor: pointer; font-size: 18px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
#heroMediaClose:hover { background: rgba(0,0,0,0.7); }

.tag--label{
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.04em;
  color:var(--ink-3); display:inline-block;
}

/* итоговая чёрно-белая палитра перенесена в единый :root в начале файла */
