:root {
            --blue-title: #153162;
            --blue: #1E4381;
            --blue-btn: #477EB5;
            --light-blue: #4F8CC9;
            --white-bg: #F1F5F8;
            --red: #BD353F;
            --dark-gray: #333333;
            --graphite: #575757;
            --muted: #8A93A3;
            --line: rgba(30, 67, 129, .14);
            --container-width: 1320px;
        }

        .passport-page {
            color: var(--graphite);
            font-family: 'Manrope', sans-serif;
            line-height: 1.5;
        }
        .passport-page .container {
            max-width: var(--container-width);
            margin: 0 auto;
            padding: 0 24px;
        }
        /* ---------- Hero ---------- */
        .hero { padding: 40px 0 56px; }
        .eyebrow {
            display: inline-flex; align-items: center; gap: 10px;
            font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
            color: var(--light-blue); font-variation-settings: 'wght' 700; margin-bottom: 18px;
        }
        .eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--light-blue); }
        .passport-page h1 {
            font-size: clamp(34px, 5vw, 56px); line-height: 1.08; color: var(--blue-title);
            font-variation-settings: 'wght' 700; max-width: 900px; margin-bottom: 20px;
        }
        .hero__lead { font-size: 19px; line-height: 1.55; color: var(--graphite); max-width: 860px; margin-bottom: 32px; }

        /* ---------- Карточки-метрики hero ---------- */
        .passport-page .kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
        .kpi {
            background: #fff; border-radius: 16px; padding: 22px 24px;
            border: 1px solid var(--line); box-shadow: 0 8px 30px rgba(21, 49, 98, .05);
        }
        .kpi__value { font-size: 40px; line-height: 1.05; color: var(--blue-title); font-variation-settings: 'wght' 800; margin-bottom: 8px; }
        .kpi__label { font-size: 13px; line-height: 1.4; color: var(--muted); }

        /* ---------- Секции ---------- */
        .passport-page .section { padding: 56px 0; background: #fff; border-top: 1px solid var(--line); }
        .passport-page .section--bg { background: var(--white-bg); }
        .passport-page h2 { font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; color: var(--blue-title); font-variation-settings: 'wght' 700; margin-bottom: 16px; max-width: 900px; }
        .section__lead { font-size: 17px; line-height: 1.6; color: var(--graphite); max-width: 820px; margin-bottom: 32px; }

        /* ---------- Таблица фактов (паспорт) ---------- */
        .facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; }
        .fact { padding: 20px 24px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 220px 1fr; gap: 16px; align-items: baseline; }
        .fact:nth-child(odd) { border-right: 1px solid var(--line); }
        .fact__key { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-variation-settings: 'wght' 600; }
        .fact__val { font-size: 16px; line-height: 1.5; color: var(--dark-gray); font-variation-settings: 'wght' 500; }

        /* ---------- Результаты ---------- */
        .results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }
        .result-card { background: var(--white-bg); border-radius: 16px; padding: 28px; border: 1px solid var(--line); }
        .section--bg .result-card { background: #fff; }
        .result-card__num { font-size: 52px; line-height: 1; color: var(--blue-title); font-variation-settings: 'wght' 800; margin-bottom: 12px; }
        .result-card__title { font-size: 16px; line-height: 1.4; color: var(--dark-gray); font-variation-settings: 'wght' 600; margin-bottom: 8px; }
        .result-card__note { font-size: 13px; line-height: 1.5; color: var(--muted); }

        /* ---------- Таблица позиций ---------- */
        .table-wrap { overflow-x: auto; border-radius: 16px; border: 1px solid var(--line); background: #fff; }
        table.positions { width: 100%; border-collapse: collapse; min-width: 560px; }
        table.positions th, table.positions td { padding: 14px 20px; text-align: left; font-size: 15px; line-height: 1.4; }
        table.positions thead th { background: var(--blue-title); color: #fff; font-variation-settings: 'wght' 600; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
        table.positions tbody tr { border-top: 1px solid var(--line); }
        table.positions tbody tr:nth-child(even) { background: #F7FAFC; }
        table.positions td.pos { color: var(--blue-title); font-variation-settings: 'wght' 800; white-space: nowrap; }

        /* ---------- Измерения (методика) ---------- */
        .measure-list { display: grid; gap: 12px; max-width: 900px; }
        .measure-item { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 20px 24px; display: grid; grid-template-columns: 56px 1fr; gap: 18px; align-items: start; }
        .measure-item__num { width: 44px; height: 44px; border-radius: 12px; background: var(--blue-title); color: #fff; display: flex; align-items: center; justify-content: center; font-variation-settings: 'wght' 700; font-size: 16px; }
        .measure-item__title { font-size: 16px; color: var(--dark-gray); font-variation-settings: 'wght' 600; margin-bottom: 4px; }
        .measure-item__text { font-size: 14px; line-height: 1.55; color: var(--muted); }

        /* ---------- Состав работ ---------- */
        .work-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
        .work-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px; }
        .section--bg .work-card { background: #fff; }
        .work-card__title { font-size: 17px; color: var(--blue-title); font-variation-settings: 'wght' 700; margin-bottom: 8px; }
        .work-card__text { font-size: 14px; line-height: 1.55; color: var(--muted); }

        /* ---------- Технологии ---------- */
        .tech-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
        .chip { background: #fff; border: 1px solid var(--line); color: var(--blue); border-radius: 999px; padding: 8px 18px; font-size: 13px; font-variation-settings: 'wght' 600; }

        /* ---------- Отзыв ---------- */
        .testimonial {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
            gap: 40px;
            align-items: end;
            padding: 32px;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 16px;
        }
        .testimonial__quote {
            margin: 0 0 18px;
            max-width: 760px;
            color: var(--blue-title);
            font-size: clamp(20px, 2.4vw, 30px);
            line-height: 1.3;
            font-variation-settings: 'wght' 650;
        }
        .testimonial__summary {
            max-width: 760px;
            margin: 0 0 18px;
            color: var(--graphite);
            font-size: 15px;
            line-height: 1.6;
        }
        .testimonial__source {
            color: var(--blue);
            font-size: 13px;
            font-variation-settings: 'wght' 650;
            text-decoration: none;
        }
        .testimonial__source:hover { text-decoration: underline; }
        .testimonial__author {
            padding-left: 24px;
            border-left: 1px solid var(--line);
        }
        .testimonial__name {
            margin-bottom: 8px;
            color: var(--blue-title);
            font-size: 17px;
            line-height: 1.35;
            font-variation-settings: 'wght' 700;
        }
        .testimonial__role {
            color: var(--muted);
            font-size: 13px;
            line-height: 1.5;
        }

        /* ---------- Подтверждение ---------- */
        .confirm { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; background: var(--blue-title); border-radius: 20px; padding: 48px; color: #fff; }
        .confirm__title { font-size: clamp(22px, 2.6vw, 30px); line-height: 1.25; font-variation-settings: 'wght' 700; margin-bottom: 14px; max-width: 760px; }
        .confirm__text { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.78); max-width: 760px; margin-bottom: 12px; }
        .sign { text-align: right; border-left: 1px solid rgba(255,255,255,.24); padding-left: 40px; min-width: 300px; }
        .sign__role { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 8px; }
        .sign__name { font-size: 20px; font-variation-settings: 'wght' 700; margin-bottom: 4px; }
        .sign__post { font-size: 13px; color: rgba(255,255,255,.6); }
        /* ---------- Адаптив ---------- */
        @media (max-width: 980px) {
            .passport-page .kpi-row { grid-template-columns: repeat(2, 1fr); }
            .passport-page .results-grid { grid-template-columns: 1fr; }
            .passport-page .work-grid { grid-template-columns: 1fr; }
            .passport-page .facts { grid-template-columns: 1fr; }
            .fact:nth-child(odd) { border-right: none; }
            .passport-page .confirm { grid-template-columns: 1fr; padding: 32px; }
            .passport-page .sign { text-align: left; border-left: none; border-top: 1px solid rgba(255,255,255,.24); padding: 24px 0 0; min-width: 0; }
            .passport-page .testimonial { grid-template-columns: 1fr; gap: 24px; }
            .passport-page .testimonial__author { padding: 24px 0 0; border-left: none; border-top: 1px solid var(--line); }
        }
        @media (max-width: 640px) {
            .passport-page .kpi-row { grid-template-columns: 1fr; }
            .fact { grid-template-columns: 1fr; gap: 4px; }
            }

        /* ---------- JSON-LD вставляется скриптом ниже, но дублируем статично для надёжности ---------- */
