/* Медсекретарь, medsek.ru. Канон yord.pro + DESIGN.md приложения. Без внешних ресурсов (CSP default-src 'self'). */

@font-face { font-family: 'Unbounded'; font-weight: 600; font-display: swap; src: url(fonts/unbounded-cyrillic-600-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Unbounded'; font-weight: 600; font-display: swap; src: url(fonts/unbounded-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Unbounded'; font-weight: 600; font-display: swap; src: url(fonts/unbounded-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+20A0-20AB,U+20AD-20C0; }
@font-face { font-family: 'Golos Text'; font-weight: 400; font-display: swap; src: url(fonts/golos-text-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Golos Text'; font-weight: 400; font-display: swap; src: url(fonts/golos-text-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Golos Text'; font-weight: 400; font-display: swap; src: url(fonts/golos-text-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+20A0-20AB,U+20AD-20C0; }
@font-face { font-family: 'Golos Text'; font-weight: 500; font-display: swap; src: url(fonts/golos-text-cyrillic-500-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Golos Text'; font-weight: 500; font-display: swap; src: url(fonts/golos-text-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Golos Text'; font-weight: 500; font-display: swap; src: url(fonts/golos-text-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+20A0-20AB,U+20AD-20C0; }
@font-face { font-family: 'Golos Text'; font-weight: 600; font-display: swap; src: url(fonts/golos-text-cyrillic-600-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Golos Text'; font-weight: 600; font-display: swap; src: url(fonts/golos-text-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Golos Text'; font-weight: 600; font-display: swap; src: url(fonts/golos-text-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+20A0-20AB,U+20AD-20C0; }
@font-face { font-family: 'JetBrains Mono'; font-weight: 400; font-display: swap; src: url(fonts/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'JetBrains Mono'; font-weight: 400; font-display: swap; src: url(fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-weight: 400; font-display: swap; src: url(fonts/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+20A0-20AB,U+20AD-20C0; }
@font-face { font-family: 'JetBrains Mono'; font-weight: 500; font-display: swap; src: url(fonts/jetbrains-mono-cyrillic-500-normal.woff2) format('woff2'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'JetBrains Mono'; font-weight: 500; font-display: swap; src: url(fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-weight: 500; font-display: swap; src: url(fonts/jetbrains-mono-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+20A0-20AB,U+20AD-20C0; }

:root {
  --paper: #F3F2EE; --surface: #FFFFFF; --ink: #0B0B0B; --ink2: #5E5D58; --line: #D8D6CF;
  --deep: #0B3441; --on-deep: #FFFFFF; --signal: #1CBFD4;
  --h: 48px; --r-ctl: 4px; --r-card: 6px;
  --display: 'Unbounded', sans-serif; --ui: 'Golos Text', sans-serif; --mono: 'JetBrains Mono', monospace;
  --gut: 40px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --paper: #0A0C0D; --surface: #131618; --ink: #ECEAE5; --ink2: #8C8B86; --line: #25292B;
  --deep: #1CBFD4; --on-deep: #0A0C0D; color-scheme: dark; } }
:root[data-theme="dark"] {
  --paper: #0A0C0D; --surface: #131618; --ink: #ECEAE5; --ink2: #8C8B86; --line: #25292B;
  --deep: #1CBFD4; --on-deep: #0A0C0D; color-scheme: dark; }

/* база и сброс нативных контролов (Safari) */
*, *::before, *::after { box-sizing: border-box; }
input, select, textarea, button { font: inherit; }
select, input[type="date"], input[type="time"], input[type="datetime-local"], input[type="search"], input[type="number"] { -webkit-appearance: none; appearance: none; }
html { background: var(--paper); -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 17px/1.5 var(--ui); -webkit-font-smoothing: antialiased; overflow-x: clip; }
* { scrollbar-color: var(--line) transparent; }
::selection { background: var(--signal); color: #0A0C0D; }
:focus-visible { outline: 2px solid var(--deep); outline-offset: 2px; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.label { font: 500 12px/1.2 var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink2); }
.link { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.link:hover { text-decoration-thickness: 2px; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
svg.i { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.skip { position: absolute; left: 16px; top: -60px; background: var(--deep); color: var(--on-deep); padding: 10px 14px; border-radius: var(--r-ctl); z-index: 10; }
.skip:focus { top: 12px; }

.wrap { max-width: 1240px; margin: 0 auto; padding: 0 var(--gut); }

/* кнопки */
.btn { height: var(--h); display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; border: 1px solid transparent; border-radius: var(--r-ctl); background: var(--deep); color: var(--on-deep); font-weight: 600; font-size: 16px; line-height: 1; text-decoration: none; cursor: pointer; white-space: nowrap; transition: filter .15s ease-out; }
.btn:hover { filter: brightness(1.12); }
.btn.line { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn.line:hover { filter: none; background: color-mix(in srgb, var(--surface) 70%, transparent); }
.btn.sm { height: 40px; padding: 0 16px; font-size: 15px; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }

/* шапка */
.top { border-bottom: 1px solid var(--line); background: var(--paper); position: sticky; top: 0; z-index: 5; }
.top .wrap { display: flex; align-items: center; gap: 32px; height: 64px; }
.brand { display: flex; align-items: center; gap: 10px; font: 600 17px/1 var(--display); letter-spacing: -0.02em; text-decoration: none; color: var(--ink); }
.brand-mark { width: 28px; height: 28px; border-radius: var(--r-ctl); background: var(--deep); color: var(--on-deep); display: grid; place-items: center; font: 600 14px/1 var(--display); }
.nav { display: flex; gap: 24px; font-size: 15px; }
.nav a { color: var(--ink2); text-decoration: none; }
.nav a:hover { color: var(--ink); }
.top-end { margin-left: auto; display: flex; align-items: center; gap: 20px; font-size: 15px; }

/* секции */
.sec { padding: 112px 0; }
.sec + .sec { border-top: 1px solid var(--line); }
.h2 { font: 600 36px/1.12 var(--display); letter-spacing: -0.02em; text-wrap: balance; max-width: 22ch; }
.sec-lead { font-size: 19px; line-height: 1.5; color: var(--ink2); max-width: 58ch; margin-top: 16px; }
.sec-head { margin-bottom: 56px; }

/* первый экран */
.hero { padding: 72px 0 104px; }
.hero .wrap { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; }
.h1 { font: 600 56px/1.04 var(--display); letter-spacing: -0.02em; text-wrap: balance; }
.lead { font-size: 20px; line-height: 1.5; margin-top: 28px; max-width: 40ch; }
.hero .actions { margin-top: 40px; }
.facts { margin-top: 48px; border-top: 1px solid var(--ink); display: grid; grid-template-columns: repeat(3, 1fr); }
.facts li { padding: 14px 16px 0 0; font-size: 15px; color: var(--ink2); }
.facts b { display: block; color: var(--ink); font-weight: 600; font-size: 16px; margin-bottom: 2px; }

/* телефон-образец (плоская рамка, как разрешено каноном) */
.phone { width: 100%; max-width: 380px; margin-left: auto; border: 1px solid var(--line); border-radius: 28px; background: var(--paper); padding: 0 16px 20px; display: flex; flex-direction: column; }
.phone-status { height: 40px; display: flex; justify-content: space-between; align-items: center; padding: 0 6px; font: 500 13px var(--mono); }
.app-top { display: flex; justify-content: space-between; align-items: center; height: 52px; }
.app-top h2 { font: 600 19px/1.2 var(--display); letter-spacing: -0.02em; }
.app-top .sub { font: 400 13px var(--mono); color: var(--ink2); }
.app-top .ico { width: 48px; height: 48px; display: grid; place-items: center; margin-right: -12px; }
.example { font: 400 12px var(--mono); color: var(--ink2); text-align: center; margin-top: 12px; }

.now { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); padding: 14px 0 16px; margin-bottom: 16px; }
.now-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.now-title { font-weight: 600; font-size: 17px; }
.now-time { font: 400 13px var(--mono); color: var(--ink2); }
.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--signal); margin-right: 8px; vertical-align: 1px; animation: pulse 2s ease-out infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(28,191,212,.55); } 100% { box-shadow: 0 0 0 9px rgba(28,191,212,0); } }
.stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.stages span { height: 4px; background: var(--line); position: relative; overflow: hidden; }
.stages span.on { background: var(--deep); }
.stages span.cur::after { content: ''; position: absolute; inset: 0; background: var(--deep); transform-origin: left; transform: scaleX(.6); animation: fill 6s cubic-bezier(.16,1,.3,1) infinite; }
@keyframes fill { 0% { transform: scaleX(.08); } 70%, 100% { transform: scaleX(.92); } }
.stage-names { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 6px; font: 400 12px var(--mono); color: var(--ink2); }
.stage-names b { color: var(--ink); font-weight: 500; }

.stack { display: grid; padding-bottom: 5px; isolation: isolate; }
.stack .sheet + .sheet { margin-top: 3px; }
.stack .sheet:nth-child(1) { z-index: 4; } .stack .sheet:nth-child(2) { z-index: 3; } .stack .sheet:nth-child(3) { z-index: 2; } .stack .sheet:nth-child(4) { z-index: 1; }
.sheet { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); padding: 14px 14px 14px 16px; display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; align-items: center; position: relative; }
.sheet::after { content: ''; position: absolute; left: 6px; right: 6px; bottom: -5px; height: 4px; background: var(--surface); border: 1px solid color-mix(in srgb, var(--line) 55%, var(--ink2)); border-top: 0; border-radius: 0 0 var(--r-card) var(--r-card); z-index: -1; }
.sheet .t { font: 500 15px var(--mono); }
.sheet .w { color: var(--ink2); font-size: 14px; }
.sheet .s { grid-row: 1 / span 2; grid-column: 2; display: flex; align-items: center; gap: 4px; font: 500 13px var(--mono); }
.sheet .s svg { width: 18px; height: 18px; }
.app-btn { margin-top: 20px; height: 56px; width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: var(--r-ctl); background: var(--deep); color: var(--on-deep); font-weight: 600; font-size: 17px; }

/* как обычно / с медсекретарём */
.versus { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; }
.versus h3 { font: 600 22px/1.2 var(--display); letter-spacing: -0.02em; padding-bottom: 16px; border-bottom: 1px solid var(--ink); }
.versus li { padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 18px; }
.versus .was h3 { color: var(--ink2); }
.versus .was li { color: var(--ink2); text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: color-mix(in srgb, var(--ink2) 70%, transparent); }
.versus .now-col li { display: flex; gap: 12px; align-items: baseline; }
.versus .now-col li::before { content: ''; flex: none; width: 10px; height: 1px; background: var(--ink); transform: translateY(-5px); }

/* три шага */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; counter-reset: s; }
.step { border-top: 1px solid var(--ink); padding-top: 20px; }
.step .n { font: 500 13px var(--mono); color: var(--ink2); }
.step h3 { font: 600 22px/1.2 var(--display); letter-spacing: -0.02em; margin: 24px 0 12px; }
.step p { color: var(--ink2); max-width: 36ch; }
.step .stages, .step .stage-names { margin-top: 20px; }
.step .stage-names { margin-top: 6px; }
.chip { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; margin-top: 20px; border: 1px solid var(--line); border-radius: var(--r-ctl); background: var(--surface); font: 500 14px var(--mono); }
.chip svg { width: 18px; height: 18px; }

/* документ */
.doc-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: start; }
.said { position: sticky; top: 104px; }
.said h3 { font: 600 22px/1.2 var(--display); letter-spacing: -0.02em; margin-bottom: 16px; }
.said ol { border-top: 1px solid var(--ink); }
.said li { padding: 18px 0; border-bottom: 1px solid var(--line); }
.said q { display: block; font-size: 17px; quotes: '«' '»'; }
.said .to { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.said .to svg { width: 16px; height: 16px; color: var(--ink2); }
.said-note { color: var(--ink2); font-size: 15px; margin-top: 20px; max-width: 44ch; }

.docsheet { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-card); padding: 40px 44px; position: relative; }
.docsheet::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: -6px; height: 5px; background: var(--surface); border: 1px solid color-mix(in srgb, var(--line) 55%, var(--ink2)); border-top: 0; border-radius: 0 0 var(--r-card) var(--r-card); z-index: -1; }
.doc-wrap { position: relative; isolation: isolate; }
.doc-meta { display: flex; justify-content: space-between; gap: 12px; font: 400 12px var(--mono); color: var(--ink2); margin-bottom: 12px; }
.doc-title { font: 600 22px/1.25 var(--display); letter-spacing: -0.02em; padding-bottom: 20px; border-bottom: 1px solid var(--ink); }
.doc-head { display: grid; grid-template-columns: max-content 1fr; gap: 6px 20px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.doc-head dt { color: var(--ink2); }
.field { padding: 14px 0; border-bottom: 1px solid var(--line); }
.field:last-child { border-bottom: 0; padding-bottom: 0; }
.field .label { display: block; margin-bottom: 8px; }
.field p { font-size: 16px; max-width: 64ch; }
.field.hl { position: relative; }
.field.hl .label { color: var(--ink); }
.formula { display: grid; grid-template-columns: repeat(16, 1fr); border: 1px solid var(--line); font: 400 12px var(--mono); text-align: center; }
.formula span { padding: 5px 0; border-right: 1px solid var(--line); }
.formula span:nth-child(16n) { border-right: 0; }
.formula span:nth-child(-n+16) { border-bottom: 1px solid var(--line); }
.formula span:nth-child(8) { border-right-color: var(--ink2); }
.formula span:nth-child(24) { border-right-color: var(--ink2); }
.formula .m { background: var(--deep); color: var(--on-deep); }
.teeth { width: 100%; border-collapse: collapse; font-size: 15px; }
.teeth th { text-align: left; font: 500 12px var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink2); padding: 0 0 6px; border-bottom: 1px solid var(--line); }
.teeth td { padding: 8px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.teeth tr:last-child td { border-bottom: 0; }
.teeth td:first-child { font: 500 15px var(--mono); width: 64px; }
.doc-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; margin-top: 28px; }
.doc-foot p { color: var(--ink2); font-size: 15px; }

/* специальности */
.spec { margin-top: 64px; display: grid; grid-template-columns: 5fr 7fr; gap: 64px; border-top: 1px solid var(--ink); padding-top: 24px; }
.spec h3 { font: 600 22px/1.2 var(--display); letter-spacing: -0.02em; }
.spec p { color: var(--ink2); max-width: 56ch; }

/* данные */
.rows { border-top: 1px solid var(--ink); }
.rows li { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; padding: 24px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.rows b { font: 600 22px/1.25 var(--display); letter-spacing: -0.02em; }
.rows p { color: var(--ink2); max-width: 56ch; }

/* тарифы */
.trial { border-top: 1px solid var(--ink); display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 0; }
.trial b { font: 600 22px/1.25 var(--display); letter-spacing: -0.02em; }
.trial .p { font: 500 22px var(--mono); }
.plans { display: grid; grid-template-columns: 1fr 1fr; margin-top: 8px; }
.plan { background: var(--surface); border: 1px solid var(--line); padding: 28px; display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; align-content: start; }
.plan + .plan { margin-left: -1px; }
.plan:first-child { border-radius: var(--r-card) 0 0 var(--r-card); }
.plan:last-child { border-radius: 0 var(--r-card) var(--r-card) 0; }
.plan h3 { font-size: 19px; font-weight: 600; line-height: 1.3; }
.plan .p { font: 500 22px/1.3 var(--mono); white-space: nowrap; }
.plan p { grid-column: 1 / -1; color: var(--ink2); font-size: 16px; max-width: 40ch; }
.plan .unit { grid-column: 1 / -1; font: 400 13px var(--mono); color: var(--ink2); }
.price-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 32px; margin-top: 32px; }
.price-foot p { color: var(--ink2); font-size: 15px; max-width: 60ch; }

/* вопросы */
.faq { border-top: 1px solid var(--ink); max-width: 880px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 64px; padding: 14px 0; font-size: 18px; font-weight: 500; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary svg { width: 20px; height: 20px; color: var(--ink2); transition: transform .2s ease-out; }
.faq details[open] summary svg { transform: rotate(45deg); }
.faq summary:hover { color: var(--deep); }
.faq details p { padding: 0 48px 20px 0; color: var(--ink2); max-width: 68ch; }

/* клиники и призыв */
.pilot { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: end; }
.pilot p { color: var(--ink2); font-size: 18px; max-width: 52ch; margin-top: 16px; }
.pilot .actions { justify-content: flex-start; }
.mail { font: 500 15px var(--mono); }
.final { background: var(--surface); border-top: 1px solid var(--line); }
.final .wrap { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.final .h2 { max-width: 20ch; }
.final .note { color: var(--ink2); font-size: 15px; margin-top: 12px; }

/* подвал */
.foot { padding: 56px 0 40px; border-top: 1px solid var(--ink); font-size: 15px; }
.foot-grid { display: grid; grid-template-columns: 4fr 3fr 3fr; gap: 40px; }
.foot h2 { font: 500 12px var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ink2); margin-bottom: 14px; }
.foot li + li { margin-top: 8px; }
.foot a { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.foot a:hover { text-decoration-color: currentColor; }
.foot address { font-style: normal; color: var(--ink2); }
.foot address > span { display: block; }
.foot .legal-line { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink2); font: 400 13px var(--mono); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; }

/* страница контактов */
.page { padding: 72px 0 112px; }
.page .h1 { font-size: 44px; }
.req { margin-top: 48px; border-top: 1px solid var(--ink); max-width: 880px; }
.req div { display: grid; grid-template-columns: 220px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.req dt { color: var(--ink2); }
.req dd { font-size: 17px; }

@media (max-width: 1080px) {
  .h1 { font-size: 46px; }
  .hero .wrap, .doc-grid, .pilot { grid-template-columns: 1fr; }
  .phone { margin: 0 auto; }
  .said { position: static; }
  .nav { display: none; }
}
@media (max-width: 760px) {
  :root { --gut: 16px; }
  body { font-size: 16px; }
  .top .wrap { height: 56px; gap: 12px; }
  .top-end .login { display: none; }
  .hero { padding: 40px 0 64px; }
  .hero .wrap { gap: 48px; }
  .h1, .page .h1 { font-size: 34px; }
  .lead { font-size: 17px; margin-top: 20px; }
  .hero .actions .btn { width: 100%; }
  .facts { grid-template-columns: 1fr; }
  .facts li { padding: 12px 0; border-bottom: 1px solid var(--line); }
  .sec { padding: 64px 0; }
  .sec-head { margin-bottom: 36px; }
  .h2 { font-size: 26px; }
  .sec-lead { font-size: 17px; }
  .versus, .steps, .spec, .rows li, .plans, .foot-grid { grid-template-columns: 1fr; }
  .versus { gap: 40px; }
  .versus li { font-size: 16px; padding: 14px 0; }
  .steps { gap: 40px; }
  .step h3 { margin-top: 16px; font-size: 19px; }
  .versus h3, .said h3, .spec h3, .doc-title { font-size: 19px; }
  .docsheet { padding: 24px 16px; }
  .formula { grid-template-columns: repeat(8, 1fr); }
  .formula span:nth-child(8n) { border-right: 0; }
  .formula span:nth-child(-n+24) { border-bottom: 1px solid var(--line); }
  .spec, .rows li { gap: 8px; }
  .rows b, .trial b, .trial .p { font-size: 19px; }
  .plan { padding: 20px 16px; }
  .plan + .plan { margin: -1px 0 0; }
  .plan:first-child { border-radius: var(--r-card) var(--r-card) 0 0; }
  .plan:last-child { border-radius: 0 0 var(--r-card) var(--r-card); }
  .price-foot .btn, .pilot .btn, .final .btn, .doc-foot .btn { width: 100%; }
  .faq summary { font-size: 16px; }
  .faq details p { padding-right: 0; }
  .req div { grid-template-columns: 1fr; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .dot, .stages span.cur::after { animation: none; }
  .faq summary svg { transition: none; }
}
