/* Presentation site — mobile-first, dark industrial theme */

:root {
  --bg: #0d1117;
  --bg-alt: #111820;
  --surface: #161b22;
  --text: #e6edf3;
  --text-muted: #8b949e;
  --accent: #58a6ff;
  --accent-soft: #1f6feb;
  --border: rgba(240, 246, 252, 0.1);
  --nav-height: 3.5rem;
  --container: 72rem;
  --radius: 0.5rem;
  --shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.45);
}

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

body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text);
  line-height: 1.6;
  background-color: #090b0f;
  background-image: url("../img/manual/00-background.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
}

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

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.container {
  width: min(100% - 2rem, var(--container));
  margin-inline: auto;
}

.accent {
  color: var(--accent);
  font-weight: 500;
}

/* Navigation */

.site-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--nav-height);
  background: rgba(9, 11, 15, 0.88);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border);
}

.site-nav__inner {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 2rem;
}

.site-nav__inner > .site-contact {
  margin-left: auto;
  flex-shrink: 0;
}

.site-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.site-contact a {
  color: var(--text-muted);
  text-decoration: none;
  white-space: nowrap;
}

.site-contact a:hover {
  color: var(--accent);
}

.site-nav__brand {
  color: var(--text);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.site-nav__brand:hover {
  color: var(--accent);
  text-decoration: none;
}

.site-nav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav__links a {
  color: var(--text-muted);
  font-size: 0.875rem;
  text-decoration: none;
}

.site-nav__links a:hover {
  color: var(--accent);
}

/* Hero */

.hero {
  padding: 2rem 0 3rem;
}

.hero__inner {
  display: grid;
  gap: 1.5rem;
}

.hero__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.hero__media img {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
}

.hero h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.15;
  font-weight: 600;
}

.hero__subtitle {
  margin: 0;
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  color: var(--accent);
  max-width: 42rem;
}

/* Sections */

.section {
  padding: 3.5rem 0;
  border-top: 1px solid var(--border);
}

.section--alt {
  background: rgba(0, 0, 0, 0.18);
}

.section__header {
  margin-bottom: 2rem;
}

.section h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.5rem, 3vw, 2.125rem);
  line-height: 1.2;
}

.section h3 {
  margin: 0 0 1rem;
  font-size: 1.125rem;
  color: var(--text);
}

.section__lead {
  margin: 0;
  color: var(--accent);
  font-size: clamp(0.95rem, 2vw, 1.125rem);
  max-width: 52rem;
  line-height: 1.45;
}

/* Slide-like blocks (section AI) */

.slide-blocks {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.slide-block {
  display: grid;
  gap: 1rem 1.25rem;
  align-items: center;
}

.slide-block + .slide-block {
  padding-top: 2rem;
  border-top: 1px solid var(--border);
}

.slide-block__figure {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.slide-block__figure img {
  width: auto;
  max-height: 11rem;
  object-fit: contain;
  filter: drop-shadow(0 0.5rem 1.5rem rgba(0, 0, 0, 0.5));
}

.img-cutout {
  background: transparent;
  border: none;
  box-shadow: none;
}

.split__media--ui {
  border: none;
  box-shadow: none;
  background: transparent;
  overflow: visible;
}

.split__media--ui img {
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.slide-block--copilot .slide-block__figure img {
  max-height: 13rem;
}

.slide-block__label {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--text);
}

.slide-block__list,
.feature-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.slide-block__list li,
.feature-list li {
  position: relative;
  margin-bottom: 0.65rem;
  padding-left: 1.1rem;
  line-height: 1.45;
}

.slide-block__list li::before,
.feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.4rem;
  height: 0.4rem;
  background: var(--text);
}

/* Split layout */

.split {
  display: grid;
  gap: 2rem;
  align-items: center;
}

.split__content h3 {
  font-weight: 600;
}

/* Слайды 4–5: текст слева на всю высоту, коллаж справа той же высоты */
.split--slide {
  align-items: stretch;
}

.split__content--slide {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 0.5rem;
}

.split__content--slide h2 {
  margin: 0;
  font-size: clamp(1.5rem, 3vw, 2.125rem);
  line-height: 1.2;
}

.split__content--slide h3 {
  margin: 0.25rem 0 0;
  font-size: 1.125rem;
}

.split__content--slide .section__lead {
  margin: 0;
}

.feature-list--spread {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.35rem;
  min-height: 8rem;
}

.feature-list--spread li {
  margin-bottom: 0;
  line-height: 1.5;
}

.split--slide > .photo-collage {
  height: 100%;
  align-self: stretch;
}

.split__visual--collage {
  margin: 0;
}

.split__visual--collage img {
  width: 100%;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: transparent;
}

/* Photo collages (slides 4–5, separate images) */

.photo-collage img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: calc(var(--radius) - 2px);
  box-shadow: 0 0.35rem 1.25rem rgba(0, 0, 0, 0.35);
  background: #fff;
}

@media (min-width: 48rem) {
  .photo-collage__diagonal--docs .collage-item,
  .photo-collage__overlay-bottom .collage-item {
    width: auto;
    height: auto;
  }
}

.photo-collage--opt,
.photo-collage--docs {
  display: grid;
  gap: 0.65rem;
  width: 100%;
}

.photo-collage--opt .collage-item,
.photo-collage--docs .collage-item {
  position: static;
  width: 100%;
}

.photo-collage--opt .collage-item--mass,
.photo-collage--opt .collage-item--failure,
.photo-collage--opt .img-cutout,
.photo-collage--docs img {
  background: #fff;
}

.split__media {
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.split__media img {
  width: 100%;
  display: block;
}

/* Footer */

.site-footer {
  padding: 2rem 0 3rem;
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font-size: 0.875rem;
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

.site-footer p {
  margin: 0;
}

.site-contact--footer {
  align-items: center;
}

/* Tablet+ */

@media (min-width: 48rem) {
  .slide-block--assistant {
    grid-template-columns: 9rem 8.5rem 1fr;
    grid-template-areas: "figure label list";
    gap: 1.25rem 2rem;
  }

  .slide-block--copilot {
    grid-template-columns: 1fr 12rem 9rem;
    grid-template-areas: "list figure label";
    gap: 1.25rem 2rem;
  }

  .slide-block--assistant .slide-block__figure { grid-area: figure; }
  .slide-block--assistant .slide-block__label { grid-area: label; }
  .slide-block--assistant .slide-block__list { grid-area: list; }

  .slide-block--copilot .slide-block__list { grid-area: list; }
  .slide-block--copilot .slide-block__figure { grid-area: figure; }
  .slide-block--copilot .slide-block__label { grid-area: label; }

  .slide-block__figure img {
    max-height: 14rem;
  }

  .slide-block--copilot .slide-block__figure img {
    max-height: 16rem;
  }

  .split {
    grid-template-columns: 0.95fr 1.05fr;
    gap: 2.5rem;
  }

  .split--optimization,
  .split--digitization,
  .split--slide {
    grid-template-columns: 0.48fr 0.52fr;
    align-items: stretch;
  }

  #generation .split {
    grid-template-columns: 0.85fr 1.15fr;
  }

  /* Слайд 4: диагональ + нижний ряд на всю высоту текстового блока */
  .photo-collage--opt {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-height: 100%;
    height: 100%;
    width: 100%;
  }

  .photo-collage__diagonal {
    position: relative;
    flex: 1 1 auto;
    min-height: 12rem;
  }

  .photo-collage__diagonal .collage-item {
    position: absolute;
    width: auto;
    height: auto;
  }

  .photo-collage__diagonal .collage-item--part {
    top: 0;
    right: 0;
    width: 36%;
    z-index: 4;
  }

  .photo-collage__diagonal .collage-item--wire {
    top: 10%;
    right: 24%;
    width: 30%;
    z-index: 3;
  }

  .photo-collage__diagonal .collage-item--stress {
    top: 21%;
    right: 42%;
    width: 32%;
    z-index: 2;
  }

  .photo-collage__diagonal .collage-item--hero {
    top: 32%;
    right: 58%;
    width: 28%;
    z-index: 1;
  }

  .photo-collage__row--bottom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    flex: 0 0 auto;
    width: 100%;
  }

  .photo-collage__row--bottom .collage-item {
    position: static;
    width: 100%;
    height: 7.5rem;
    object-fit: contain;
    object-position: center bottom;
    padding: 0.15rem;
    background: #fff;
  }

  /* Слайд 5: чертёж снизу под диагональю + схема с таблицей */
  .photo-collage--docs {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 100%;
    height: 100%;
    width: 100%;
  }

  .photo-collage__diagonal--docs {
    position: relative;
    flex: 1 1 58%;
    min-height: 14rem;
    --diag-card: 31%;
    --diag-shift: calc(var(--diag-card) * 0.66);
    --diag-rise: 18%;
    --diag-base: 2%;
  }

  .photo-collage__diagonal--docs .collage-item {
    position: absolute;
    width: auto;
    height: auto;
    padding: 0;
  }

  /* Диагональ слева вверх-вправо: 03 → 07 → 06 → 02 */
  .photo-collage__diagonal--docs .collage-item--quality {
    bottom: var(--diag-base);
    left: 0;
    width: var(--diag-card);
    z-index: 1;
  }

  .photo-collage__diagonal--docs .collage-item--ops {
    bottom: calc(var(--diag-base) + var(--diag-rise));
    left: var(--diag-shift);
    width: var(--diag-card);
    z-index: 2;
  }

  .photo-collage__diagonal--docs .collage-item--route {
    bottom: calc(var(--diag-base) + var(--diag-rise) * 2);
    left: calc(var(--diag-shift) * 2);
    width: var(--diag-card);
    z-index: 3;
  }

  .photo-collage__diagonal--docs .collage-item--spectext {
    bottom: calc(var(--diag-base) + var(--diag-rise) * 3);
    left: calc(var(--diag-shift) * 3);
    width: var(--diag-card);
    z-index: 4;
  }

  /* Схема внизу, таблица поверх */
  .photo-collage__overlay-bottom {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    min-height: 10.5rem;
  }

  .photo-collage__overlay-bottom .collage-item {
    padding: 0;
    height: auto;
    width: auto;
  }

  .photo-collage__overlay-bottom .collage-item--schematic {
    display: block;
    height: 10.5rem;
    width: auto;
    max-width: 48%;
    margin: 0 16% 0 auto;
    object-fit: contain;
    object-position: center center;
  }

  .photo-collage__overlay-bottom .collage-item--table {
    position: absolute;
    top: 1.95rem;
    right: -1.25rem;
    height: 10.5rem;
    width: auto;
    max-width: 54%;
    object-fit: contain;
    object-position: right top;
    z-index: 2;
    box-shadow: 0 0.2rem 0.75rem rgba(0, 0, 0, 0.25);
  }
}

@media (min-width: 64rem) {
  .split--slide {
    grid-template-columns: 0.46fr 0.54fr;
  }

  .feature-list--spread {
    min-height: 10rem;
    gap: 0.5rem;
  }

  .photo-collage__row--bottom .collage-item {
    height: 8.5rem;
  }

  .photo-collage__overlay-bottom .collage-item--schematic {
    height: 12rem;
    max-width: 50%;
    margin-right: 14%;
  }

  .photo-collage__overlay-bottom .collage-item--table {
    top: 2.25rem;
    right: -1.5rem;
    height: 12rem;
    max-width: 56%;
  }

  .slide-block--assistant {
    grid-template-columns: 10rem 10rem 1fr;
  }

  .slide-block--copilot {
    grid-template-columns: 1fr 14rem 10rem;
  }

  .hero {
    padding: 3rem 0 4rem;
  }

  .section {
    padding: 4.5rem 0;
  }

  .site-nav__links a {
    font-size: 0.9375rem;
  }
}

@media (max-width: 47.99rem) {
  body {
    background-attachment: scroll;
    background-size: cover;
  }

  .photo-collage--opt {
    min-height: 0;
  }

  .photo-collage__diagonal {
    display: grid;
    gap: 0.5rem;
    min-height: 0;
  }

  .photo-collage__diagonal .collage-item {
    position: static;
    width: 100%;
  }

  .photo-collage__row--bottom .collage-item {
    height: auto;
    max-height: 10rem;
  }

  .photo-collage__diagonal--docs {
    display: grid;
    gap: 0.5rem;
    min-height: 0;
  }

  .photo-collage__diagonal--docs .collage-item {
    position: static;
    width: 100%;
  }

  .photo-collage__overlay-bottom .collage-item--table {
    position: static;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    box-shadow: none;
  }

  .photo-collage__overlay-bottom .collage-item--schematic {
    max-height: 10rem;
  }

  .feature-list--spread {
    min-height: 0;
    justify-content: flex-start;
    gap: 0.65rem;
  }

  .feature-list--spread li {
    margin-bottom: 0;
  }
}

@media (max-width: 47.99rem) {
  .site-nav {
    height: auto;
    min-height: var(--nav-height);
  }

  .site-nav__inner {
    flex-wrap: wrap;
    align-items: center;
    padding: 0.5rem 0;
    gap: 0.5rem 0.75rem;
  }

  .site-nav__brand {
    flex: 0 0 auto;
  }

  .site-nav__links {
    order: 2;
    flex: 1 1 100%;
    justify-content: center;
    gap: 0.35rem 0.75rem;
  }

  .site-nav__links a {
    font-size: 0.8125rem;
  }

  .site-nav__inner > .site-contact {
    order: 3;
    margin-left: 0;
    flex: 1 1 100%;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    font-size: 0.75rem;
  }
}

/* Modern product redesign */
:root {
  --bg: #070a0f;
  --bg-alt: #0b1018;
  --surface: rgba(18, 25, 36, 0.72);
  --surface-strong: #111923;
  --text: #f4f7fb;
  --text-muted: #9ba8b7;
  --accent: #76f7c4;
  --accent-soft: #23c98d;
  --accent-blue: #72a7ff;
  --border: rgba(255, 255, 255, 0.1);
  --nav-height: 4.75rem;
  --container: 78rem;
  --radius: 1.25rem;
  --shadow: 0 1.5rem 5rem rgba(0, 0, 0, 0.38);
}
html { scroll-behavior: smooth; scroll-padding-top: var(--nav-height); }
body {
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
  letter-spacing: -0.01em;
  background: var(--bg);
  background-image: radial-gradient(circle at 80% 8%, rgba(35,201,141,.12), transparent 25rem), radial-gradient(circle at 5% 35%, rgba(85,137,255,.08), transparent 32rem);
}
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.045; z-index:10; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.container { width:min(100% - 2.5rem, var(--container)); }
a:focus-visible, button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.site-nav { height:var(--nav-height); background:rgba(7,10,15,.72); backdrop-filter:blur(20px); border-color:rgba(255,255,255,.08); }
.site-nav__inner { gap:2.5rem; }
.site-nav__brand, .site-footer__brand { color:var(--text); font-size:1.15rem; font-weight:800; letter-spacing:-.045em; }
.site-nav__brand span, .site-footer__brand span { color:var(--accent); }
.site-nav__links { gap:.35rem; }
.site-nav__links a { display:block; padding:.55rem .75rem; border-radius:999px; color:#aeb8c5; font-size:.83rem; transition:.2s ease; }
.site-nav__links a:hover, .site-nav__links a.is-active { color:var(--text); background:rgba(255,255,255,.07); text-decoration:none; }
.site-contact { font-size:.76rem; }
.site-contact a:first-child { color:var(--text); font-weight:600; }
.site-nav__toggle { display:none; background:none; border:0; padding:.75rem; }
.site-nav__toggle span { display:block; width:1.35rem; height:1px; margin:.3rem; background:var(--text); transition:.2s; }
.hero { position:relative; padding:2rem 0 6.5rem; min-height:calc(100svh - var(--nav-height)); display:flex; align-items:center; }
.hero__inner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(22rem,.85fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.hero__media { grid-column:2; margin:0; border-radius:2rem; border:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow); transform:perspective(1000px) rotateY(-3deg); }
.hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 45%,rgba(118,247,196,.13)); pointer-events:none; }
.hero__media img { aspect-ratio:4/5; object-fit:cover; filter:saturate(.76) contrast(1.08); }
.hero__content { grid-column:1; grid-row:1; z-index:1; }
.eyebrow, .section__index { margin:0 0 1.35rem; color:var(--accent); font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow span { display:inline-block; width:.5rem; height:.5rem; margin-right:.55rem; border-radius:50%; background:var(--accent); box-shadow:0 0 1.2rem var(--accent); }
.hero h1 { max-width:46rem; margin:0 0 1.35rem; font-size:clamp(3rem,6.6vw,6.6rem); line-height:.94; font-weight:650; letter-spacing:-.065em; }
.hero__subtitle { max-width:35rem; color:var(--text-muted); font-size:clamp(1.05rem,1.7vw,1.35rem); line-height:1.55; }
.hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.25rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-height:3.25rem; padding:0 1.25rem; border:1px solid var(--border); border-radius:.8rem; color:var(--text); font-size:.9rem; font-weight:650; transition:.2s ease; }
.button:hover { transform:translateY(-2px); text-decoration:none; }
.button--primary { color:#04130d; background:var(--accent); border-color:var(--accent); box-shadow:0 .8rem 2rem rgba(35,201,141,.16); }
.button--ghost:hover { background:rgba(255,255,255,.06); }
.hero__metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:3.25rem 0 0; }
.hero__metrics div { padding-top:1rem; border-top:1px solid var(--border); }
.hero__metrics dt { font-size:1.4rem; font-weight:700; letter-spacing:-.04em; }
.hero__metrics dd { margin:.2rem 0 0; color:var(--text-muted); font-size:.75rem; }
.section { position:relative; padding:clamp(5rem,9vw,8rem) 0; border-color:var(--border); }
.section--alt { background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.035)); }
.section__header { display:grid; grid-template-columns:.42fr 1.1fr; gap:0 3rem; margin-bottom:3.5rem; }
.section__header .section__index { grid-row:1/3; }
.section h2, .split__content--slide h2 { font-size:clamp(2.35rem,4.5vw,4.25rem); line-height:1.02; font-weight:620; letter-spacing:-.055em; }
.section__lead { color:var(--text-muted); font-size:clamp(1rem,1.6vw,1.2rem); }
.section__header .section__lead { margin-top:1rem; }
.slide-blocks { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.slide-block, .split__media--ui { padding:clamp(1.5rem,3vw,2.5rem); border:1px solid var(--border); border-radius:var(--radius); background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); box-shadow:0 1rem 4rem rgba(0,0,0,.18); }
.slide-block + .slide-block { padding-top:clamp(1.5rem,3vw,2.5rem); border-top:1px solid var(--border); }
.slide-block--assistant, .slide-block--copilot { grid-template-columns:1fr !important; grid-template-areas:"figure" "label" "list" !important; align-content:start; }
.slide-block__figure { min-height:13rem; border-radius:.9rem; background:radial-gradient(circle,rgba(118,247,196,.13),transparent 65%); }
.slide-block--copilot .slide-block__figure { grid-area:figure; }
.slide-block--copilot .slide-block__label { grid-area:label; }
.slide-block--copilot .slide-block__list { grid-area:list; }
.slide-block__label { font-size:1.35rem; }
.slide-block__list, .feature-list { color:#c9d1dc; font-size:.94rem; }
.slide-block__list li::before, .feature-list li::before { top:.65em; width:.3rem; height:.3rem; border-radius:50%; background:var(--accent); box-shadow:0 0 .5rem rgba(118,247,196,.6); }
.split { gap:clamp(2rem,5vw,5rem); }
.split__media--ui { padding:.55rem; transform:rotate(1deg); }
.split__media--ui img { border-radius:.85rem; }
.split__content--slide { gap:1rem; }
.split__content--slide h3 { color:var(--text-muted); font-size:1rem; line-height:1.5; }
.photo-collage img { border-radius:.7rem; border:1px solid rgba(255,255,255,.12); box-shadow:0 .8rem 2rem rgba(0,0,0,.35); }
.site-footer { padding:3rem 0; background:#05070a; }
.site-footer__inner { flex-direction:row; justify-content:space-between; text-align:left; }
.site-footer__brand { margin-right:auto !important; }
.site-contact--footer { align-items:flex-end; }
@media (max-width: 63.99rem) {
  .site-contact { display:none; }
  .hero__inner { grid-template-columns:1.08fr .92fr; }
  .hero h1 { font-size:clamp(3rem,7vw,5rem); }
}
@media (max-width: 47.99rem) {
  :root { --nav-height:4rem; }
  .container { width:min(100% - 1.5rem,var(--container)); }
  .site-nav__inner { padding:0; flex-wrap:nowrap; }
  .site-nav__toggle { display:block; margin-left:auto; }
  .site-nav__links { position:absolute; top:calc(100% + .5rem); left:.75rem; right:.75rem; display:none; padding:.6rem; border:1px solid var(--border); border-radius:1rem; background:rgba(12,17,24,.98); box-shadow:var(--shadow); }
  .site-nav.is-open .site-nav__links { display:block; }
  .site-nav__links a { padding:.8rem 1rem; font-size:.9rem; }
  .site-nav.is-open .site-nav__toggle span:first-child { transform:translateY(.2rem) rotate(45deg); }
  .site-nav.is-open .site-nav__toggle span:last-child { transform:translateY(-.2rem) rotate(-45deg); }
  .hero { min-height:auto; padding:1rem 0 4.5rem; }
  .hero__inner { display:flex; flex-direction:column; gap:2rem; }
  .hero__content { order:-1; padding-top:2rem; }
  .hero h1 { font-size:clamp(2.8rem,14vw,4.5rem); }
  .hero__media { transform:none; width:100%; }
  .hero__media img { aspect-ratio:4/3; }
  .hero__metrics { gap:.5rem; }
  .hero__metrics dd { font-size:.67rem; }
  .section { padding:4.5rem 0; }
  .section__header { display:block; margin-bottom:2.25rem; }
  .slide-blocks { grid-template-columns:1fr; }
  .slide-block__figure { min-height:10rem; }
  .site-footer__inner { align-items:flex-start; flex-direction:column; }
  .site-contact--footer { display:flex; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
/* Section heading rhythm: keep long Russian titles readable */
.section__header {
  display: block;
  max-width: 72rem;
}
.section__header h2 {
  max-width: 68rem;
  text-wrap: balance;
}
.section__header .section__lead {
  max-width: 52rem;
  margin-top: 1.25rem;
}
#generation .section__header h2 {
  max-width: 62rem;
  font-size: clamp(2.35rem, 4vw, 4rem);
}
@media (max-width: 47.99rem) {
  #generation .section__header h2 { font-size: clamp(2.15rem, 10vw, 3.1rem); }
}
html, body { overflow-x: clip; }

/* Hero refinement */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
}
.hero__inner { grid-template-columns: minmax(0, 1.04fr) minmax(24rem, .76fr); }
.hero__content { padding: clamp(1rem, 4vw, 3rem) 0; }
.hero h1 {
  max-width: 44rem;
  font-size: clamp(3.15rem, 5.35vw, 5.7rem);
  line-height: .98;
  letter-spacing: -.058em;
  text-wrap: balance;
}
.hero__subtitle { max-width: 31rem; }
.hero__media {
  position: relative;
  isolation: isolate;
  padding: .45rem;
  overflow: visible;
  border: 1px solid rgba(118,247,196,.24);
  border-radius: 2.1rem;
  background: linear-gradient(145deg, rgba(118,247,196,.1), rgba(255,255,255,.025));
  box-shadow: 0 2rem 7rem rgba(0,0,0,.5), 0 0 5rem rgba(35,201,141,.07);
}
.hero__media::before {
  content: "AI / CAD";
  position: absolute;
  z-index: 3;
  top: 1.4rem;
  left: -1.25rem;
  padding: .65rem .85rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: .7rem;
  color: var(--accent);
  background: rgba(8,13,19,.82);
  backdrop-filter: blur(14px);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.35);
}
.hero__media img { aspect-ratio: 5 / 6; border-radius: 1.65rem; }
.hero__metrics {
  width: min(100%, 39rem);
  gap: 0;
  margin-top: 2.75rem;
  padding: .9rem 0;
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
  backdrop-filter: blur(10px);
}
.hero__metrics div { padding: .2rem 1rem; border-top: 0; border-right: 1px solid var(--border); }
.hero__metrics div:last-child { border-right: 0; }
.hero__metrics dt { color: var(--text); font-size: 1.25rem; }
.hero__metrics dd { line-height: 1.3; }
.hero__actions { margin-top: 1.9rem; }
@media (max-width: 63.99rem) {
  .hero__inner { grid-template-columns: 1.08fr .92fr; gap: 2rem; }
  .hero h1 { font-size: clamp(3rem, 6.7vw, 4.8rem); }
}
@media (max-width: 47.99rem) {
  .hero::before { background-size: 48px 48px; }
  .hero__content { padding-top: 1.25rem; }
  .hero h1 { font-size: clamp(2.7rem, 13vw, 4rem); line-height: .98; }
  .hero__media::before { left: .8rem; top: .8rem; }
  .hero__media img { aspect-ratio: 4 / 3; }
  .hero__metrics { padding: .8rem 0; }
  .hero__metrics div { padding: 0 .65rem; }
}
@media (max-width: 47.99rem) {
  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.35rem, 10.4vw, 2.65rem);
    line-height: 1.02;
    letter-spacing: -.052em;
    text-wrap: wrap;
  }
  .hero__subtitle { font-size: 1rem; }
  .hero__actions { align-items: flex-start; }
  .button { min-height: 3rem; }
}
/* Generated visuals for the AI application cards */
.slide-block__figure {
  min-height: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
}
.slide-block__figure img,
.slide-block--copilot .slide-block__figure img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  filter: none;
}
@media (max-width: 47.99rem) {
  .slide-block__figure { aspect-ratio: 1 / 1; }
}
/* Mobile menu contacts */
@media (max-width: 47.99rem) {
  .site-nav__links {
    padding: .6rem .6rem 4.65rem;
  }
  .site-nav__inner > .site-contact {
    position: absolute;
    z-index: 3;
    top: calc(100% + 11.65rem);
    left: 1.75rem;
    right: 1.75rem;
    display: none;
    margin: 0;
    padding: .8rem .25rem 0;
    border-top: 1px solid var(--border);
    align-items: flex-start;
    gap: .25rem;
    font-size: .78rem;
    line-height: 1.45;
  }
  .site-nav.is-open .site-nav__inner > .site-contact {
    display: flex;
    flex-direction: column;
  }
  .site-nav__inner > .site-contact a {
    color: var(--text-muted);
  }
  .site-nav__inner > .site-contact a:first-child {
    color: var(--text);
  }
}
/* Mobile contacts integrated into the menu flow */
.mobile-contacts { display: none; }
@media (max-width: 47.99rem) {
  .site-nav__links { padding: .6rem; }
  .site-nav__links .mobile-contacts {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin: .55rem .75rem 0;
    padding: 1rem 0 .35rem;
    border-top: 1px solid var(--border);
  }
  .site-nav__links .mobile-contacts a {
    padding: 0;
    color: var(--text-muted);
    font-size: .78rem;
    line-height: 1.45;
    background: transparent;
  }
  .site-nav__links .mobile-contacts a:first-child {
    color: var(--text);
    font-weight: 650;
  }
  .site-nav__links .mobile-contacts a:hover,
  .site-nav__links .mobile-contacts a.is-active {
    color: var(--accent);
    background: transparent;
  }
  .site-nav__inner > .site-contact,
  .site-nav.is-open .site-nav__inner > .site-contact {
    display: none;
  }
}