:root {
  --bg: #FFFFFF; --fg: #0C2048; --muted: #4C5D78; --blue: #194BCC;
  --coral: #F16B69; --on-coral: #0C2048; --line: #B7C1D3; --surface: #F2F6FF;
  --cta: #194BCC; --cta-fg: #FFFFFF; --cta-border: #194BCC;
  --brain-cool: #2459DF; --brain-warm: #F16B69;
  --display: 'Geologica', sans-serif; --body: 'Golos Text', sans-serif;
  color-scheme: light; font-synthesis: none; scroll-padding-top: 80px;
}
:root[data-ds="2"] {
  --bg: #0A1832; --fg: #F7F9FF; --muted: #B8C8E1; --blue: #A8C5FF;
  --coral: #F16B69; --line: #526886; --surface: #112442;
  --cta: #F16B69; --cta-fg: #0C2048; --cta-border: #F16B69;
  --brain-cool: #90B7FF; --brain-warm: #F68D89; color-scheme: dark;
}
/* Сочные системы по слову Романа 25.10.2026 13:19 МСК. «Ночь» (2) утверждена и не меняется. */
:root[data-ds="1"] { /* Тепловая карта: тёмная основа, горячие пятна, светлые частицы мозга поверх свечения */
  --bg: #12050E; --fg: #FFF6F2; --muted: #E8C4CC; --blue: #FF9A4D;
  --coral: #FF4F7B; --on-coral: #12050E; --line: #5A2A3B; --surface: #1E0A17;
  --cta: #FF3D6E; --cta-fg: #12050E; --cta-border: #FF3D6E;
  --brain-cool: #FFB4E6; --brain-warm: #FFD2A8; color-scheme: dark;
}
:root[data-ds="3"] { /* Электрик: насыщенный синий холст, белый текст, коралловое действие */
  --bg: #1F3BFF; --fg: #FFFFFF; --muted: #DCE3FF; --blue: #FFFFFF;
  --coral: #FFA39C; --on-coral: #0A1450; --line: #6F83FF; --surface: #1A33E0;
  --cta: #FFA39C; --cta-fg: #0A1450; --cta-border: #FFA39C;
  --brain-cool: #D4DDFF; --brain-warm: #FFB0A9; color-scheme: dark;
}
/* Коралл и Лимон переподобраны по слову Романа 25.10.2026 20:59 МСК, кандидаты и контрасты в site/DECISIONS-palettes.md. */
:root[data-ds="4"] { /* Коралл «Слива»: сочный красно-розовый холст, сливово-чёрный текст, белые числа и белое полушарие, сливовые линии */
  --bg: #F9566A; --fg: #1E0618; --muted: #3C0D2F; --blue: #FFFFFF;
  --coral: #4A0936; --on-coral: #FFFFFF; --line: #C93A52; --surface: #FA6879;
  --cta: #1E0618; --cta-fg: #FFFFFF; --cta-border: #1E0618;
  --brain-cool: #4A0936; --brain-warm: #FFFFFF;
}
:root[data-ds="5"] { /* Лимон «Ягода»: кислотно-лимонный холст, баклажановый текст, сливовые числа и кнопка, малиновый акцент */
  --bg: #FFEF00; --fg: #1C0A1A; --muted: #4A2440; --blue: #640D5F;
  --coral: #D91656; --on-coral: #FFFFFF; --line: #1C0A1A; --surface: #FFF56B;
  --cta: #640D5F; --cta-fg: #FFEF00; --cta-border: #640D5F;
  --brain-cool: #640D5F; --brain-warm: #D91656;
}
* { box-sizing: border-box; }
body { margin: 0; overflow-x: clip; background: var(--bg); color: var(--fg); font: 400 18px/1.5 var(--body); }
a { color: inherit; text-decoration: none; }
button,input { font: inherit; }
button,a,input { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a:hover { text-decoration: underline; text-underline-offset: .22em; }
:focus-visible { outline: 3px solid var(--fg); outline-offset: 5px; }
::selection { background: var(--coral); color: var(--on-coral); }
h1,h2,h3,p,figure { margin: 0; }
h1,h2 { font-family: var(--display); font-weight: 800; letter-spacing: -.055em; text-wrap: balance; }
h1 { font-size: clamp(76px,7vw,106px); line-height: 1.01; max-width: 780px; }
h2 { font-size: clamp(48px,4.55vw,68px); line-height: 1.06; max-width: 800px; }
img,svg,canvas { display: block; max-width: 100%; }
.skip { position: fixed; z-index: 30; left: 20px; top: -100px; padding: 12px; background: var(--fg); color: var(--bg); }
.skip:focus { top: 10px; }
.header { height: 68px; margin: 0 4.45%; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 9px; font-size: 27px; font-weight: 700; letter-spacing: -.04em; }
.brand-mark { width: 34px; height: 34px; flex: none; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.brand-mark .brain-human { stroke: var(--brain-warm); }
.brand-mark .brain-machine { stroke: var(--brain-cool); }
.desktop-nav { display: flex; gap: 27px; font-size: 15px; }
.header-phone { font-size: 15px; white-space: nowrap; }
.menu-toggle { display: none; }
.section { margin: 0 4.45%; padding: 60px 0; border-bottom: 1px solid var(--line); }
.hero { display: grid; grid-template-columns: 1.48fr 1fr; align-items: center; gap: 22px; padding-top: 46px; padding-bottom: 54px; }
.hero-copy { min-width: 0; }
.lead { font-size: 20px; line-height: 1.5; max-width: 640px; }
.hero .lead { margin-top: 25px; max-width: 620px; }
.action { display: flex; flex-direction: column; align-items: stretch; gap: 10px; width: min(320px,100%); }
.action .btn { width: 100%; }
.hero .action { margin-top: 26px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 13px 25px; border: 2px solid var(--cta-border); border-radius: 3px; background: var(--cta); color: var(--cta-fg); font-size: 17px; font-weight: 600; line-height: 1.35; text-align: center; }
.btn:hover { text-decoration: none; box-shadow: 0 0 0 3px var(--bg),0 0 0 4px var(--cta-border); }
.btn:active { transform: translateY(1px); }
.action small { font-size: 14px; line-height: 1.4; color: var(--muted); }
.brain-figure { align-self: center; min-width: 0; }
.brain-stage { position: relative; width: 100%; aspect-ratio: 600/560; }
.brain-fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.brain-fallback .organic { color: var(--brain-warm); }
.brain-fallback .machine { color: var(--brain-cool); }
.cortex-outline { stroke: currentColor; stroke-width: 2; fill: none; }
.folds { stroke: currentColor; stroke-width: 3; stroke-linecap: round; fill: none; }
.seam { stroke: var(--fg); stroke-width: 1; opacity: .24; fill: none; }
#brain { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; touch-action: pan-y; }
.brain-fallback { z-index: 1; }
.brain-ready .brain-fallback { visibility: hidden; }
.brain-figure figcaption { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; font-size: 14px; line-height: 1.45; margin: 12px 4% 0; color: var(--muted); }
.brain-figure figcaption span { border-top: 2px solid var(--brain-warm); padding-top: 12px; }
.brain-figure figcaption span+span { border-color: var(--brain-cool); }
.section-head,.start-bottom,.contact-bottom,.footer-main { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 8%; }
.section-head { align-items: start; }
.section-head .lead { padding-top: 4px; }
.facts { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px; margin-top: 35px; }
.facts strong { display: block; font: 800 clamp(35px,3.65vw,56px)/1.2 var(--display); letter-spacing: -.06em; color: var(--blue); white-space: nowrap; }
.facts span { display: block; font-size: 16px; margin-top: 6px; color: var(--muted); }
.brands { margin-top: 30px; }
.brands>p:first-child { font-size: 14px; color: var(--muted); }
.brand-names { font-size: clamp(17px,1.55vw,23px); font-weight: 600; word-spacing: .2em; margin-top: 12px; }
.path-figure,.method-figure,.handoff-figure { margin-top: 34px; }
/* Схема «Синхронизация» (слово Романа 26.10.2026 04:41): две команды в противофазе, размах гаснет, дальше одна линия.
   Трасса тянется по ширине (preserveAspectRatio none), штрих не масштабируется, поэтому все линии одной толщины.
   Узлы стоят ровно над подписями. На узком экране вдвое длиннее волна, иначе синус сжимается в пилу. */
.tyaga { display: flex; align-items: center; height: 120px; }
.tyaga svg { fill: none; stroke: var(--blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tyaga svg * { vector-effect: non-scaling-stroke; }
.tyaga-uzel { flex: 0 0 60px; width: 60px; height: 60px; }
.tyaga-trassa { flex: 1 1 auto; min-width: 0; height: 120px; }
.tyaga-uzko { display: none; }
@media (max-width: 700px) { .tyaga-shiroko { display: none; } .tyaga-uzko { display: block; } .tyaga { height: 96px; } .tyaga-trassa { height: 96px; } .tyaga-uzel { flex-basis: 52px; width: 52px; height: 52px; } }
.method-figure,.handoff-figure { margin-left: 58%; display: flex; align-items: center; gap: 25px; }
.method-figure svg,.handoff-figure svg { flex: 0 0 140px; width: 140px; height: 140px; }
.method-figure figcaption,.handoff-figure figcaption { flex-direction: column; gap: 12px; }
.ink-line,.accent-line { fill: none; stroke: var(--blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.accent-line { stroke: var(--coral); stroke-width: 3; }
.path-figure figcaption,.method-figure figcaption,.handoff-figure figcaption { display: flex; justify-content: space-between; gap: 24px; margin-top: 10px; font-size: 16px; color: var(--muted); }
.handoff-figure figcaption span:first-child { margin-left: 0; }
.case-grid { margin-top: 32px; display: grid; grid-template-columns: repeat(3,1fr); gap: 24px 42px; }
.case-grid article { min-width: 0; }
.case-grid h3 { font-size: 17px; font-weight: 500; margin-bottom: 4px; }
.case-grid strong { display: block; color: var(--blue); font: 800 clamp(38px,3.7vw,56px)/1.2 var(--display); letter-spacing: -.06em; }
.case-grid p { color: var(--muted); font-size: 16px; margin-top: 3px; }
.note { font-size: 14px; margin-top: 25px; color: var(--muted); }
.start-bottom,.contact-bottom { align-items: start; margin-top: 24px; }
.price>span { display: block; font-size: 17px; }
.price strong { display: block; margin: 5px 0 8px; font: 800 76px/1.15 var(--display); letter-spacing: -.06em; color: var(--blue); }
.price .plan-caption { color: var(--muted); font-size: 14px; }
.contact-links { display: flex; flex-direction: column; gap: 6px; }
.contact-links a { font-size: clamp(24px,2.8vw,42px); font-weight: 600; letter-spacing: -.04em; }
.contact { border: 0; padding-bottom: 48px; }
footer { border-top: 1px solid var(--line); margin-top: 36px; padding-top: 26px; font-size: 14px; color: var(--muted); }
.footer-main { align-items: center; }
.footer-brand { width: fit-content; color: var(--fg); font-size: clamp(48px,6vw,84px); font-weight: 800; line-height: 1; gap: 16px; letter-spacing: -.055em; }
.footer-brand:hover { text-decoration: none; }
.footer-brand .brand-mark { width: .72em; height: .72em; }
.footer-copy { padding-top: 16px; }
.footer-heading { margin: 0; max-width: none; color: var(--fg); font-size: 20px; font-weight: 700; line-height: 1.35; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 16px; }
.footer-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; }
.footer-bottom small { font-size: inherit; }
/* Переключатель систем спрятан в подвал под copyright: маленькие точки «для своих» (слово Романа 25.10.2026 14:08).
   Видимая точка 9px, область нажатия 24×24 (минимум WCAG 2.2), имя темы в подсказке и для экранного диктора. */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Точки тем стоят в шапке под телефоном (слово Романа 26.10.2026 02:05): там человек их и щёлкает.
   Правая точка выровнена по правому краю номера, кружок 10 px внутри кнопки 24 px. */
.header-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.theme-dots { display: flex; gap: 0; margin: 0 -7px 0 0; }
.theme-dots button { width: 24px; height: 24px; padding: 7px; border: 0; background: transparent; border-radius: 0; opacity: .7; }
.theme-dots button:hover,.theme-dots button:focus-visible,.theme-dots button[aria-pressed="true"] { opacity: 1; }
.theme-dots button:focus-visible { outline-offset: 1px; outline-width: 2px; }
.theme-dots button span { display: block; width: 10px; height: 10px; border: 1px solid var(--muted); border-radius: 50%; background: #FFFFFF; }
.theme-dots button[data-theme="1"] span { background: conic-gradient(#FF2D55,#FF7A1A,#FF3D9A,#7B2CFF,#FF2D55); }
.theme-dots button[data-theme="2"] span { background: #0A1832; }
.theme-dots button[data-theme="3"] span { background: #1F3BFF; }
.theme-dots button[data-theme="4"] span { background: #F9566A; }
.theme-dots button[data-theme="5"] span { background: #FFEF00; }
/* Тепловая карта: свечение за мозгом и под названием в подвале, градиент действия и крупных чисел.
   Пятна стоят только за изображением и словом «Адванс», текст абзацев на них не попадает. */
@keyframes heat-drift { from { transform: translate3d(-2%,1%,0) scale(1); } to { transform: translate3d(2%,-2%,0) scale(1.06); } }
:root[data-ds="1"] .brain-stage::before,:root[data-ds="1"] .footer-main::before { content: ""; position: absolute; z-index: 0; pointer-events: none; filter: blur(26px); animation: heat-drift 12s ease-in-out infinite alternate;
  background: radial-gradient(38% 42% at 40% 45%,#FF2D55D9,transparent 70%),radial-gradient(34% 38% at 64% 38%,#FF7A1AC0,transparent 70%),radial-gradient(40% 40% at 58% 70%,#FF3D9AB3,transparent 72%),radial-gradient(45% 45% at 30% 72%,#7B2CFF8C,transparent 74%); }
:root[data-ds="1"] .brain-stage::before { inset: -6% 0; }
:root[data-ds="1"] .footer-main { position: relative; }
:root[data-ds="1"] .footer-main::before { left: -2%; top: -40%; width: min(560px,70%); height: 180%; opacity: .55; }
:root[data-ds="1"] .footer-main>* { position: relative; z-index: 1; }
:root[data-ds="1"] .btn { background: linear-gradient(100deg,#FF2D55,#FF7A1A); border-color: transparent; }
:root[data-ds="1"] .facts strong,:root[data-ds="1"] .case-grid strong,:root[data-ds="1"] .price strong { background: linear-gradient(90deg,#FF4F7B,#FF9A4D); -webkit-background-clip: text; background-clip: text; color: transparent; }
.theme-dots button[aria-pressed="true"] span { outline: 1px solid var(--fg); outline-offset: 2px; }
dialog { color: var(--fg); background: var(--bg); border: 1px solid var(--line); border-radius: 4px; width: min(550px,calc(100% - 32px)); max-height: calc(100% - 32px); padding: 40px; overflow-y: auto; }
dialog::backdrop { background: #03132DBB; }
dialog h2 { font-size: 37px; margin: 16px 0; }
dialog p { font-size: 16px; }
.close { position: absolute; right: 12px; top: 8px; width: 44px; height: 44px; color: var(--fg); background: none; border: 0; font-size: 30px; }
.pole { margin-top: 18px; }
.pole label { display: block; font-size: 16px; }
.pole input { width: 100%; border: 1px solid var(--muted); color: var(--fg); background: var(--bg); border-radius: 2px; padding: 14px; margin-top: 8px; min-height: 54px; }
.pole input::placeholder { color: var(--muted); opacity: 1; }
.zayavka-forma [aria-invalid="true"] { outline: 2px solid var(--coral); outline-offset: 2px; }
.pole-oshibka { margin-top: 8px; padding-left: 10px; border-left: 3px solid var(--coral); font-size: 14px !important; }
.consent { display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; font-size: 14px; }
.consent input { width: 22px; height: 22px; flex: 0 0 22px; accent-color: var(--blue); margin: 0; }
.consent a,.zayavka-melko a,.zayavka-itog a { text-decoration: underline; text-underline-offset: .2em; }
.lovushka { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.zayavka-forma .btn { width: 100%; margin-top: 22px; }
.zayavka-forma .btn:disabled { opacity: .6; cursor: progress; }
.zayavka-melko { margin-top: 14px; color: var(--muted); font-size: 13px !important; }
.zayavka-itog { margin-top: 14px; }
.zayavka-itog:empty { display: none; }
.menu-dialog nav { display: flex; flex-direction: column; gap: 20px; font: 800 28px/1.2 var(--display); margin: 25px 0 40px; }
.noscript { font-size: 14px; padding: 20px 5%; }
/* Поток энергии в «Ваша команда становится сильнее» для синих систем (Ночь и Электрик), слово Романа 25.10.2026 14:08.
   С 25.10.2026 23:04 это пламя из сопел, вариант «Старт»: assets/flame.js рисует на холсте во всю ширину факел
   тепловой радуги, который летит слева направо. Класс surge (тёмный текст и выезд слоя слева) ставит flame.js
   после первого нарисованного кадра, app.js для этого холста класс заранее не ставит.
   Прежняя плазма assets/surge.js страницей больше не грузится, файл оставлен.
   При reduced-motion рисуется один неподвижный кадр. */
#team { position: relative; isolation: isolate; color: var(--fg); transition: color .25s ease-out; }
#team .surge-layer { display: none; }
:root:is([data-ds="2"],[data-ds="3"]) #team .surge-layer { display: block; position: absolute; z-index: -1; top: -96px; bottom: -96px; left: calc(50% - 50vw + var(--sbw, 0px) / 2); right: calc(50% - 50vw + var(--sbw, 0px) / 2); overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .3s ease-out; }
:root:is([data-ds="2"],[data-ds="3"]) #team.surge .surge-layer { opacity: 1; animation: surge-in .55s cubic-bezier(.2,.9,.1,1) both; }
:root:is([data-ds="2"],[data-ds="3"]) #team.surge { --fg: #07070F; --muted: #14141F; --blue: #07070F; --coral: #07070F; --line: #07070F; }
.flame-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
/* Огонь выходит за блок на 96 px вверх и вниз (слово Романа 26.10.2026 04:26, SPILL в flame.js). Соседние блоки
   стоят слоем выше, чтобы их текст лёг поверх языков, а линии-границы у огня убраны: он идёт сквозь них. */
#experience,#method { position: relative; z-index: 1; }
:root:is([data-ds="2"],[data-ds="3"]) #experience:has(+ #team.surge),:root:is([data-ds="2"],[data-ds="3"]) #team.surge { border-bottom-color: transparent; }
.surge-canvas { position: absolute; inset: -14px; width: calc(100% + 28px); height: calc(100% + 28px); filter: blur(4px); }
@keyframes surge-in { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@media(min-width:1600px) {
  .header,.section { margin-left: max(4.45%,calc((100% - 1600px)/2)); margin-right: max(4.45%,calc((100% - 1600px)/2)); }
  .hero { grid-template-columns: 1.3fr 1fr; padding-top: 55px; padding-bottom: 55px; }
  .brain-stage { max-width: 550px; margin: 0 auto; }
}
@media(min-width:1000px) and (max-height:820px) {
  .header { height: 64px; }
  h1 { font-size: clamp(76px,6.85vw,102px); }
  h2 { font-size: 58px; }
  .section { padding-top: 48px; padding-bottom: 48px; }
  .hero { padding-top: 40px; padding-bottom: 48px; }
  .lead { font-size: 19px; }
  .hero .lead { margin-top: 22px; }
  .hero .action { margin-top: 22px; }
  .section-head,.start-bottom,.contact-bottom,.footer-main { gap: 7%; }
  .facts { margin-top: 28px; }
  .path-figure,.method-figure,.handoff-figure { margin-top: 25px; }
  .case-grid { gap: 21px 36px; margin-top: 26px; }
  .case-grid strong { font-size: 46px; }
  .start-bottom,.contact-bottom { margin-top: 24px; }
  .price strong { font-size: 66px; }
}
@media(max-width:999px) {
  h1 { font-size: clamp(55px,8vw,78px); }
  h2 { font-size: 48px; }
  .desktop-nav { gap: 18px; font-size: 14px; }
  .header-phone { display: none; }
  .hero { grid-template-columns: 1.3fr 1fr; gap: 15px; }
  .lead { font-size: 18px; }
  .hero .lead { font-size: 17px; }
  .section-head,.start-bottom,.contact-bottom,.footer-main { gap: 5%; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .facts { gap: 22px; }
  .facts strong { font-size: 30px; }
  .facts span { font-size: 14px; }
  .brand-names { word-spacing: .05em; }
  .brain-figure figcaption { font-size: 12px; gap: 15px; }
  .case-grid { gap: 25px; }
  .case-grid strong { font-size: 38px; }
  .case-grid p { font-size: 14px; }
  .price strong { font-size: 64px; }
  .method-figure,.handoff-figure { margin-left: 45%; gap: 16px; }
}
@media(max-width:700px) {
  :root { scroll-padding-top: 16px; }
  body { font-size: 16px; }
  h1 { font-size: clamp(44px,11.6vw,74px); line-height: 1.04; letter-spacing: -.055em; max-width: 600px; }
  h2 { font-size: clamp(34px,9vw,54px); line-height: 1.08; letter-spacing: -.05em; }
  .header { height: 64px; margin: 0 6%; }
  .brand { font-size: 25px; }
  .brand-mark { width: 30px; height: 30px; }
  .desktop-nav { display: none; }
  .menu-toggle { display: flex; gap: 12px; align-items: center; padding: 10px 0 10px 12px; background: transparent; color: var(--fg); border: 0; font-size: 15px; min-height: 44px; }
  .menu-toggle span { font-size: 24px; }
  /* Здесь номер живёт в мобильном меню, и точки тем стоят под ним там же. */
  .header-contact { display: none; }
  .menu-dialog .theme-dots { margin: 14px 0 0 -7px; }
  .section { margin: 0 6%; padding: 44px 0; }
  .hero { display: flex; flex-direction: column; gap: 22px; align-items: stretch; padding: 35px 0 42px; }
  .hero .lead { font-size: 17px; line-height: 1.5; margin-top: 22px; }
  .hero .action { margin-top: 24px; }
  .action { gap: 10px; }
  .action small { font-size: 13px; }
  .btn { min-height: 54px; font-size: 16px; padding: 14px 22px; }
  .brain-figure { align-self: stretch; }
  .brain-stage { max-width: 410px; margin: 0 auto; }
  .brain-figure figcaption { font-size: 12px; margin-top: 0; gap: 20px; }
  .section-head { display: block; }
  .section-head .lead { margin-top: 20px; padding: 0; }
  .lead { font-size: 17px; line-height: 1.5; }
  .facts { grid-template-columns: 1fr; gap: 22px; margin-top: 28px; }
  .facts strong { font-size: clamp(35px,9.3vw,48px); line-height: 1.2; }
  .facts span { font-size: 14px; margin-top: 2px; }
  .brands { margin-top: 28px; }
  .brands>p:first-child { font-size: 13px; }
  .brand-names { font-size: 17px; line-height: 1.8; word-spacing: 0; }
  .path-figure,.method-figure,.handoff-figure { margin-top: 28px; }
  .path-figure svg { height: auto; min-height: 80px; }
  .method-figure,.handoff-figure { margin-left: 0; gap: 20px; }
  .method-figure svg,.handoff-figure svg { flex-basis: 110px; width: 110px; height: 110px; }
  .path-figure figcaption,.method-figure figcaption,.handoff-figure figcaption { font-size: 12px; gap: 16px; }
  .handoff-figure figcaption span:first-child { margin-left: 0; }
  .case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 27px 17px; margin-top: 28px; }
  .case-grid h3 { font-size: 15px; }
  .case-grid strong { font-size: clamp(26px,7.4vw,40px); letter-spacing: -.06em; white-space: nowrap; }
  .case-grid p { font-size: 13px; line-height: 1.5; }
  .note { font-size: 12px; }
  .start-bottom,.contact-bottom { grid-template-columns: minmax(0,1fr); align-items: start; gap: 27px; margin-top: 28px; }
  .price>span { font-size: 16px; }
  .price strong { font-size: clamp(44px,13vw,65px); }
  .contact-links a { font-size: clamp(23px,6.5vw,36px); }
  footer { margin-top: 32px; padding-top: 24px; font-size: 13px; }
  .footer-main { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .footer-brand { font-size: clamp(44px,13vw,64px); gap: 12px; }
  .footer-copy { padding-top: 0; }
  .footer-heading { font-size: 18px; }
  .footer-nav { gap: 8px 18px; margin-top: 12px; }
  .footer-bottom { margin-top: 22px; }
  .contact { padding-bottom: 36px; }
  /* Фиксирована при чтении, пристыкована к низу документа около действий и контактов. */
  dialog { padding: 32px 24px; }
  dialog h2 { font-size: 30px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
