  :root {
    --bg:      #F7EFE8;
    --navy:    #031f3c;
    --gold:    #ccad6c;
    --muted:   #d7d7d7;
    --serif:   'Cormorant Garamond', 'Times New Roman', serif;
    --sans:    'Manrope', system-ui, sans-serif;

    /* fluid базовый шрифт: синхронизирован с главной страницей (body 14-15px). Уменьшение root
       пропорционально сжимает все rem-based размеры (заголовки, отступы, max-width контейнеров),
       поэтому переносы строк в заголовках сохраняются автоматически. */
    font-size: clamp(10px, 0.93vw, 15px);
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { overflow-x: hidden; }
  body {
    background: var(--bg);
    color: var(--navy);
    font-family: var(--sans);
    -webkit-font-smoothing: antialiased;
  }
  img { display: block; max-width: 100%; }

  .page {
    width: 100%;
    max-width: 100rem; /* 1440 при 16px root */
    margin: 0 auto;
    position: relative;
    background: var(--bg);
  }

  /* ---------- MENU (72px) ---------- */
  .nav {
    height: 4.5rem;
    padding: 0 2.5rem;
    display: grid;
    grid-template-columns: 3rem 1fr 3rem;
    align-items: center;
    background: var(--bg);
  }
  .nav .logo-wrap {
    width: 3rem;
    height: 3.255rem;
    overflow: hidden;
    position: relative;
  }
  .nav .logo-wrap img {
    position: absolute;
    left: -13.5%;
    top: -8.9%;
    width: 138%;
    height: auto;
    max-width: none;
  }
  .nav ul {
    list-style: none;
    display: flex;
    gap: 2.5rem;
    justify-content: center;
    align-items: center;
    color: var(--navy);
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  .nav .burger-wrap {
    width: 3rem;
    height: 1.775rem;
    overflow: hidden;
    position: relative;
    justify-self: end;
  }
  .nav .burger-wrap img {
    position: absolute;
    left: -55%;
    top: -128%;
    width: 211.4%;
    height: auto;
    max-width: none;
  }

  /* ---------- HERO ---------- */
  .hero {
    position: relative;
    padding: 1.25rem 2.5rem 3.75rem;
    display: grid;
    grid-template-columns: minmax(0, 26.6875rem) minmax(0, 1fr);
    gap: 5.8125rem;
    overflow: hidden;
  }

  /* фон-иллюстрация здание */
  .hero-right {
    position: absolute;
    top: 1.25rem;
    right: -8.75rem;
    width: 40.9375rem;   /* 655px */
    height: 40.9375rem;
    pointer-events: none;
    z-index: 0;
    opacity: 0.9;
  }
  .hero-right .building {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: none;
  }
  .hero-left, .hero-middle { position: relative; z-index: 2; }

  /* left column */
  .portrait {
    width: 100%;
    max-width: 26.6875rem;      /* 427 */
    height: 45.375rem;           /* 726 — как в Figma image div */
    object-fit: cover;
    object-position: center top;
    background: #eee;
    border-radius: 0.5rem;       /* 8px */
  }
  .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 2.5rem;           /* 40 */
    line-height: 0.94;
    color: var(--navy);
    margin-top: 1.375rem;
  }
  .tagline {
    font-weight: 600;
    font-size: 1.125rem;         /* 18 */
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--gold);
    margin-top: 0.5rem;
  }
  .lead {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--navy);
    margin-top: 0.75rem;
    max-width: 26.6875rem;
  }

  /* middle column */
  .hero-middle {
    padding-top: 4.375rem;       /* 70 */
  }
  .hero-title {
    font-family: var(--serif);
    font-weight: 600;
    color: var(--gold);
    font-size: 5rem;             /* 80 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    max-width: 40.625rem;        /* 650 */
  }
  .hero-title .accent {
    color: var(--gold);
    font-size: 3.5rem;           /* 56 — уменьшено с 5.25rem */
    text-transform: uppercase;
  }
  .hero-desc-line {
    width: 29.75rem;             /* 476 */
    max-width: 100%;
    height: 2px;
    background: var(--gold);
    margin: 1.625rem 0 0.875rem;
  }
  .hero-desc {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--navy);
    max-width: 29.6875rem;       /* 475 */
  }

  .section-title {
    margin-top: 2.625rem;        /* 42 */
    text-align: center;
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.5rem;           /* 24 */
    line-height: 1.1;
    letter-spacing: 0.06em;
    color: var(--navy);
    text-transform: uppercase;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1.25rem;
    max-width: 57.5rem;          /* 920 */
  }
  .section-title::before,
  .section-title::after {
    content: '';
    height: 2px;
    background: var(--gold);
  }
  .section-title::before { justify-self: end; width: 16.875rem; }   /* 270 */
  .section-title::after  { justify-self: start; width: 10.5rem; }   /* 168 */

  .qa-row {
    margin-top: 2rem;
    max-width: 57.5rem;
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    grid-template-rows: auto auto auto;
    gap: 0.75rem 1.5rem;
    align-items: start;
  }
  .qa-divider {
    width: 1px;
    height: 18.5rem;             /* 296 */
    background: var(--gold);
    opacity: 0.5;
    grid-row: span 3;
    align-self: start;
  }
  .qa-col {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0.5rem;
  }
  .qa-head {
    display: grid;
    grid-template-columns: 5rem 1fr;      /* 80 */
    gap: 0.375rem;
    align-items: start;
    min-height: 5rem;
  }
  .qa-icon-wrap {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
  }
  .qa-icon-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .qa-q {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    color: var(--navy);
  }
  .qa-name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--gold);
    margin-top: 0.75rem;
  }
  .qa-a {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.2;
    color: var(--navy);
  }

  /* chip */
  .cont {
    margin: 2.5rem auto 0;
    display: flex;
    gap: 0.625rem;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    width: fit-content;
    color: var(--muted);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.3;
    text-transform: lowercase;
  }
  .cont .arrow {
    width: 0.92rem;              /* 14.7 */
    height: 0.8125rem;           /* 13 */
    display: block;
  }

  /* ---------- BLOCK 3: опыт, подход ---------- */
  .experience {
    position: relative;
    padding: 0.875rem 0 2.5rem;
    overflow: hidden;
  }
  .experience-title {
    display: flex;
    align-items: center;
    gap: 1.875rem;
    margin: 0 0 0 3.125rem;               /* 50px от левого края (Figma: 40 block + 10 inner) */
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.5rem;                    /* 24 */
    line-height: 1.1;
    letter-spacing: 0.06em;
    color: var(--navy);
    text-transform: uppercase;
    text-align: center;
  }
  .experience-title > span {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .experience-title::before,
  .experience-title::after {
    content: '';
    flex: 0 0 15.4rem;                    /* фикс 246px обе линии — равные */
    height: 2px;
    background: var(--gold);
  }
  .experience-decor {
    position: absolute;
    top: 0.9375rem;                       /* 15 */
    right: 3.75rem;                       /* 60px = 40 block + 20 inner */
    width: 15.23rem;                      /* 243.685 */
    height: 15.23rem;
    z-index: 0;
    pointer-events: none;
  }
  .experience-decor img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .experience-row {
    position: relative;
    z-index: 1;
    margin: 3rem 0 0 5.25rem;             /* 84px = 40 block + 44 inner (Figma left=44) */
    max-width: 63.8125rem;                /* 1021 */
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 1.25rem;
    align-items: center;
  }
  .experience-qa {
    display: grid;
    grid-template-columns: 7.5rem 1fr;    /* 120px icon + text */
    gap: 0.875rem;
    align-items: center;
    min-height: 7.5rem;
  }
  .experience-icon {
    width: 7.5rem;
    height: 7.5rem;
    flex-shrink: 0;
  }
  .experience-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .experience-q {
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.2;
    color: var(--navy);
  }
  .experience-divider {
    width: 1px;
    height: 9.3125rem;                    /* 149 */
    background: var(--gold);
    opacity: 0.5;
    justify-self: center;
  }
  .experience-answer { display: flex; flex-direction: column; gap: 0.5rem; }
  .experience-answer .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.5rem;                    /* 24 */
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }
  .experience-answer .a {
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.2;
    color: var(--navy);
  }

  /* ---------- BLOCK 4: как распознать премиум ---------- */
  .premium {
    padding: 0.875rem 2.5rem 2.5rem;      /* 14 40 40 — block at x=40 в page */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.875rem;                        /* 14 */
  }

  /* --- top row --- */
  .premium-top {
    display: flex;
    gap: 1.25rem;                         /* 20 */
    align-items: center;
    width: 100%;
  }
  .premium-house {
    width: 19.3rem;                       /* 308.81 */
    height: 19.3rem;
    flex-shrink: 0;
  }
  .premium-house img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .premium-title-block {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;                          /* 24 */
    flex: 1 1 auto;
    min-width: 0;
  }
  .premium-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                      /* 64 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    color: var(--navy);
    max-width: 32.9rem;                   /* 526 */
    margin: 0;
  }
  .premium-title .accent {
    color: var(--gold);
  }
  .premium-desc-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;                        /* 14 */
    width: 27.0625rem;                    /* 433 */
  }
  .premium-desc-line {
    height: 2px;
    background: var(--gold);
    width: 100%;
  }
  .premium-desc {
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.5;
    color: var(--navy);
    margin: 0;
  }
  .premium-hero-card {
    width: 30.1875rem;                    /* 483 */
    height: 21.5rem;                      /* 344 */
    background: var(--navy);
    border-radius: 1rem;                  /* 16 */
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .premium-hero-card img {
    width: 40.55rem;                      /* 648.889 */
    height: 22.8125rem;                   /* 365 */
    object-fit: cover;
    max-width: none;
  }

  /* --- 4-column grid with vertical dividers --- */
  .premium-grid {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr;
    gap: 0.625rem;                        /* 10 */
    width: 100%;
    align-items: start;
  }
  .premium-col {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;                        /* 14 */
    min-width: 0;
  }
  .premium-col .icon-wrap {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
  }
  .premium-col .icon-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .premium-col .q {
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0.25rem 0 0;
  }
  .premium-col .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }
  .premium-col .a {
    font-weight: 400;
    font-size: 1rem;                      /* 16 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0.25rem 0 0;
  }
  .premium-col .a p + p { margin-top: 0.5rem; }
  .premium-col .photo {
    width: 20.3125rem;                    /* 325 */
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    margin-top: 0.5rem;
  }
  .premium-col .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .premium-col.card-h-5 .photo { height: 21.9375rem; } /* 351 */
  .premium-col.card-h-6 .photo { height: 16.6875rem; } /* 267 */
  .premium-col.card-h-7 .photo { height: 19.375rem;  } /* 310 */
  .premium-col.card-h-8 .photo { height: 13.125rem;  } /* 210 */

  .premium-vdivider {
    width: 1px;
    height: 41.875rem;                    /* 670 */
    background: var(--gold);
    opacity: 0.5;
    align-self: start;
  }

  /* ---------- BLOCK 5: независимый взгляд ---------- */
  .independent {
    padding: 0.875rem 2.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.875rem;
    position: relative;
    overflow: hidden;
  }

  /* top row */
  .ind-top {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    width: 100%;
  }
  .ind-plant {
    width: 9.386rem;                     /* 150.17 */
    height: 9.386rem;
    flex-shrink: 0;
  }
  .ind-plant img {
    width: 100%; height: 100%;
    object-fit: contain;
  }
  .ind-title-block {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;                          /* 24 */
    width: 33.75rem;                      /* 540 */
    flex-shrink: 0;
  }
  .ind-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                      /* 64 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    color: var(--navy);
    margin: 0;
  }
  .ind-title .accent { color: var(--gold); }

  .ind-desc-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;                        /* 14 */
    width: 100%;
  }
  .ind-desc-line {
    height: 2px;
    background: var(--gold);
    width: 100%;
  }
  .ind-desc {
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.5;
    color: var(--navy);
    margin: 0;
  }
  .ind-hero-card {
    flex: 1 1 auto;
    height: 18.4375rem;                   /* 295 */
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .ind-hero-card img {
    width: 40.55rem;                      /* 648.889 */
    height: 22.8125rem;                   /* 365 */
    object-fit: cover;
    max-width: none;
  }

  /* bottom row: photo | Q9 | Q10 */
  .ind-bottom {
    display: grid;
    grid-template-columns: 17.5rem 1px 1fr 1px 1fr;
    gap: 0.625rem;
    align-items: start;
    width: 68.25rem;                      /* 1092 */
    max-width: 100%;
    margin: 0 auto 0 0;
    position: relative;
    z-index: 1;
  }
  .ind-photo {
    width: 17.5rem;                       /* 280 */
    height: 30.5625rem;                   /* 489 */
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    flex-shrink: 0;
  }
  .ind-photo img {
    width: 26.5rem;                       /* 424 */
    height: 100%;
    object-fit: cover;
    margin-left: -3.35rem;                /* -53.54 */
    display: block;
  }
  .ind-vdiv-s {
    width: 1px;
    height: 14.3125rem;                   /* 229 */
    background: var(--gold);
    opacity: 0.5;
    align-self: center;
  }
  .ind-vdiv-l {
    width: 1px;
    height: 29.75rem;                     /* 476 */
    background: var(--gold);
    opacity: 0.5;
    align-self: center;
  }
  .ind-col {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
  }
  .ind-col .icon-wrap { width: 5rem; height: 5rem; flex-shrink: 0; }
  .ind-col .icon-wrap img { width: 100%; height: 100%; object-fit: contain; display: block; }
  .ind-col .q {
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0.25rem 0 0;
  }
  .ind-col .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }
  .ind-col .a {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0.25rem 0 0;
  }
  .ind-col .a p + p { margin-top: 0.5rem; }

  /* декоративные цветы в правом нижнем углу */
  .ind-flowers {
    position: absolute;
    bottom: 5.5rem;
    right: 3.5rem;
    width: 17.65rem;                      /* 282.532 */
    height: 17.65rem;
    z-index: 0;
    pointer-events: none;
  }
  .ind-flowers img { width: 100%; height: 100%; object-fit: contain; }

  /* ---------- BLOCK 6: искусство точного выбора ---------- */
  .artchoice {
    padding: 0.875rem 2.5rem 2.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
    align-items: start;
    max-width: 100rem;
  }

  .artchoice-left {
    display: flex;
    flex-direction: column;
    padding-right: 1.25rem;
    padding-top: 1.25rem;
    min-width: 0;
    gap: 1.875rem;
  }
  .artchoice-header {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
  }
  .artchoice-eyebrow {
    font-weight: 800;
    font-size: 1rem;                     /* 16 */
    line-height: 0.875;
    text-transform: uppercase;
    color: var(--gold);
    letter-spacing: 0.02em;
    margin: 0;
  }
  .artchoice-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                     /* 64 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    color: var(--navy);
    margin: 0;
  }
  .artchoice-title .accent { color: var(--gold); }

  .artchoice-qa-list {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    max-width: 41.4375rem;                /* 663 */
  }
  .artchoice-qa {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: 0.875rem;
    align-items: start;
  }
  .artchoice-qa .icon {
    width: 5rem;
    height: 5rem;
    padding-top: 0.875rem;
  }
  .artchoice-qa .icon img {
    width: 100%;
    height: 5rem;
    object-fit: contain;
    display: block;
  }
  .artchoice-qa-text {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
  }
  .artchoice-qa .q {
    font-weight: 600;
    font-size: 1.5rem;                    /* 24 */
    line-height: 1.2;
    color: var(--gold);
    margin: 0;
  }
  .artchoice-qa .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.3;
    color: var(--navy);
    margin: 0;
  }
  .artchoice-qa .a {
    font-weight: 400;
    font-size: 1rem;                      /* 16 */
    line-height: 1.5;
    color: var(--navy);
    margin: 0;
  }
  .artchoice-qa .a p + p { margin-top: 0.5rem; }
  .artchoice-divider {
    height: 2px;
    background: var(--gold);
    width: 42.6875rem;                    /* 683 */
    max-width: 100%;
  }

  /* RIGHT column: stack of dark cards */
  .artchoice-right {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;                         /* 28 */
    align-self: stretch;
  }
  .artchoice-card-big {
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    height: 43.375rem;                    /* 694 */
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
  }
  .artchoice-card-big img {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 71.0625rem;                    /* 1137 */
    height: 47.375rem;                    /* 758 */
    object-fit: cover;
    max-width: none;
  }
  .artchoice-mini-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
    height: 12.1875rem;                   /* 195 */
  }
  .artchoice-mini {
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
  }
  .artchoice-mini img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-width: none;
  }
  .artchoice-card-bottom {
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    height: 30.5rem;                      /* 488 */
    position: relative;
  }
  .artchoice-card-bottom img {
    position: absolute;
    left: 50%;
    top: -1.2rem;                         /* -19.4 */
    transform: translateX(-50%);
    width: 56.35rem;                      /* 901.57 */
    height: 31.7125rem;                   /* 507.4 */
    object-fit: cover;
    max-width: none;
  }

  /* ---------- BLOCK 7: недвижимость как капитал ---------- */
  .capital {
    padding: 0.875rem 2.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.375rem;                        /* 22 */
    position: relative;
  }

  /* Top row: title left + dark card right */
  .cap-top {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    width: 100%;
  }
  .cap-title-block {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    width: 33.75rem;                      /* 540 */
    flex-shrink: 0;
  }
  .cap-eyebrow {
    font-weight: 800;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.3;
    color: var(--gold);
    text-transform: uppercase;
    margin: 0;
  }
  .cap-eyebrow p { margin: 0; }
  .cap-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                      /* 64 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    color: var(--navy);
    margin: 0;
  }
  .cap-title .accent { color: var(--gold); }

  .cap-hero-card {
    flex: 1 1 auto;
    height: 18.4375rem;                   /* 295 */
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cap-hero-card img {
    width: 50rem;                         /* 800 */
    height: 28.125rem;                    /* 450 */
    object-fit: cover;
    max-width: none;
  }

  /* 3 Q&A columns */
  .cap-qa-row {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    gap: 0.625rem;
    align-items: start;
    width: 100%;
  }
  .cap-vdivider {
    width: 1px;
    height: 21rem;                        /* 336 */
    background: var(--gold);
    opacity: 0.5;
    align-self: center;
  }
  .cap-col {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
  }
  .cap-col .icon-wrap {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
  }
  .cap-col .icon-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .cap-col .q {
    font-weight: 600;
    font-size: 1.5rem;                    /* 24 */
    line-height: 1.2;
    color: var(--gold);
    margin: 0.25rem 0 0;
  }
  .cap-col .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--navy);
    margin: 0;
  }
  .cap-col .a {
    font-weight: 400;
    font-size: 1rem;                      /* 16 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0.25rem 0 0;
  }

  /* Full-width divider */
  .cap-hdiv {
    width: 100%;
    height: 1px;
    background: var(--gold);
  }

  /* 4 features row */
  .cap-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    width: 100%;
  }
  .cap-feat {
    display: flex;
    gap: 0.875rem;
    align-items: center;
  }
  .cap-feat .icon {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  .cap-feat .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .cap-feat .label {
    font-weight: 600;
    font-size: 1.25rem;                   /* 20 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }

  /* ---------- BLOCK 8: Москва — ценность локации ---------- */
  .moscow {
    padding: 0.875rem 2.5rem 2.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;                         /* 28 */
    max-width: 100rem;
    align-items: start;
  }

  .msk-col {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;                         /* 20 */
    min-width: 0;
  }

  /* Left title */
  .msk-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                      /* 64 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    color: var(--navy);
    margin: 0;
  }

  /* Q row: photo card + text */
  .msk-q-row {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
  }
  .msk-photo-card {
    width: 17.5rem;                       /* 280 */
    height: 14.75rem;                     /* 236 for Q17 / 19.75rem 316 for Q18 */
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .msk-photo-card.tall { height: 19.75rem; }  /* 316 for Q18 */
  .msk-photo-card img {
    width: 100%;
    height: auto;
    min-height: 100%;
    object-fit: cover;
    max-width: none;
  }
  .msk-q-text {
    width: 23.5rem;                       /* 376 */
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .msk-q-num {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                      /* 64 */
    line-height: 1;
    color: var(--gold);
    margin: 0;
  }
  .msk-q-text .q {
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.5;
    color: var(--navy);
    margin: 0;
  }
  .msk-name-line {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  .msk-name-line::before {
    content: '';
    width: 5rem;                          /* 80 */
    height: 2px;
    background: var(--gold);
  }
  .msk-name-line .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.5rem;                    /* 24 */
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }

  /* Feature icons row (7 items in Q17 area, 3 items in bordered box) */
  .msk-feats {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.875rem;
    width: 100%;
  }
  .msk-feat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-align: center;
    min-width: 0;
  }
  .msk-feat .icon {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  .msk-feat .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .msk-feat .label {
    font-weight: 600;
    font-size: 0.8125rem;                 /* 13 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }

  .msk-answer {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--navy);
    margin: 0;
    max-width: 29rem;                     /* 464 */
  }

  /* Q19 block */
  .msk-q19 {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
  }
  .msk-q19-head {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
    gap: 0.875rem;
  }
  .msk-q19-head .num {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;
    line-height: 1;
    color: var(--gold);
    margin: 0;
  }
  .msk-q19-head-text {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  .msk-q19-head-text .q {
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--navy);
    margin: 0;
  }
  .msk-q19-head-text .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }
  .msk-q19-answer {
    display: flex;
    gap: 1.25rem;
    align-items: center;
  }
  .msk-q19-answer .icon {
    width: 4.0625rem;                     /* 65 */
    height: 4.0625rem;
    flex-shrink: 0;
  }
  .msk-q19-answer .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .msk-q19-answer .a {
    font-weight: 400;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.5;
    color: var(--navy);
    margin: 0;
  }

  /* Right column: big hero card */
  .msk-hero-card {
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    height: 18.4375rem;                   /* 295 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .msk-hero-card img {
    width: 47.46rem;                      /* 759 */
    height: 26.71rem;                     /* 427 */
    object-fit: cover;
    max-width: none;
  }

  /* Bordered box with 3 icons */
  .msk-info-box {
    border: 1px solid var(--gold);
    padding: 1.25rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.875rem;
    width: 100%;
  }
  .msk-info-item {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    min-width: 0;
  }
  .msk-info-item .icon {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  .msk-info-item .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .msk-info-item .label {
    font-weight: 600;
    font-size: 0.8125rem;                 /* 13 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }

  /* ---------- BLOCK 9: дорогие ошибки ---------- */
  .mistakes {
    padding: 0.875rem 2.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    max-width: 100rem;
  }

  /* Title row */
  .mst-title-row {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
    width: 100%;
  }
  .mst-logo {
    width: 10.6rem;
    height: 11.5rem;
    flex-shrink: 0;
    overflow: hidden;
  }
  .mst-logo img {
    width: 155%;
    height: auto;
    margin-left: -28%;
    margin-top: -18%;
    max-width: none;
  }
  .mst-title-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
  }
  .mst-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                     /* 64 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    color: var(--navy);
    margin: 0;
  }
  .mst-subtitle {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 3.375rem;                 /* 54 */
    line-height: 0.94;
    color: var(--gold);
    margin: 0;
  }
  .mst-hdiv {
    width: 100%;
    height: 1px;
    background: var(--gold);
  }

  /* 3 Q&A cols */
  .mst-q-row {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    gap: 0.625rem;
    align-items: start;
    width: 100%;
  }
  .mst-vdiv {
    width: 1px;
    height: 38.8rem;                     /* 621 */
    background: var(--gold);
    opacity: 0.5;
    align-self: center;
  }
  .mst-col {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
  }
  .mst-q-head {
    display: flex;
    gap: 0.875rem;
    align-items: center;
  }
  .mst-q-num {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 4rem;                     /* 64 */
    line-height: 0.94;
    color: var(--gold);
    margin: 0;
  }
  .mst-q-text {
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
    flex: 1;
  }
  .mst-name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.5rem;                   /* 24 */
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }
  .mst-answer-row {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
  }
  .mst-photo-col {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .mst-photo {
    width: 100%;
    height: 23.0625rem;                  /* 369 */
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mst-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .mst-answer-text {
    flex: 1 1 0;
    min-width: 0;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .mst-answer-text p + p { margin-top: 0.5rem; }
  .mst-feat-inline {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-top: 0.5rem;
  }
  .mst-feat-inline .icon {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  .mst-feat-inline .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mst-feat-inline .label {
    flex: 1;
    font-weight: 600;
    font-size: 0.8125rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }

  /* Q23 mega row */
  .mst-q23 {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    width: 100%;
  }
  .mst-q23-photo {
    width: 17.5rem;                      /* 280 */
    height: 19.5625rem;                  /* 313 */
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    flex-shrink: 0;
  }
  .mst-q23-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .mst-q23-right {
    flex: 1 1 auto;
    max-width: 66.25rem;                 /* 1060 */
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
  }
  .mst-q23-head {
    display: flex;
    gap: 0.875rem;
    align-items: center;
  }
  .mst-q23-mini-row {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr 1px 1fr;
    gap: 0.625rem;
    align-items: start;
  }
  .mst-mini-vdiv {
    width: 1px;
    height: 11.8125rem;                  /* 189 */
    background: var(--gold);
    opacity: 0.5;
    align-self: center;
  }
  .mst-mini {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    min-width: 0;
  }
  .mst-mini .icon {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  .mst-mini .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mst-mini .text {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }

  /* Row 4: final */
  .mst-final-row {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
    width: 100%;
  }
  .mst-final-answer {
    flex: 1 1 0;
    min-width: 0;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .mst-final-answer p + p { margin-top: 0.5rem; }
  .mst-final-note {
    width: 23.125rem;                    /* 370 */
    flex-shrink: 0;
    display: flex;
    gap: 0.375rem;
    align-items: flex-start;
    padding-left: 0.875rem;
    border-left: 1px solid rgba(204, 173, 108, 0.5);
  }
  .mst-final-note .icon {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  .mst-final-note .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mst-final-note .text {
    flex: 1;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }

  /* ---------- BLOCK 10: стандарты ---------- */
  .standards {
    padding: 0.875rem 2.5rem 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    max-width: 100rem;
  }

  /* Top row */
  .std-top {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    width: 100%;
  }
  .std-title-col {
    width: 28.75rem;                      /* 460 */
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.875rem;
  }
  .std-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 3rem;                      /* 48 */
    line-height: 0.94;
    letter-spacing: -0.005em;
    color: var(--navy);
    text-align: left;
    margin: 0;
  }
  .std-title .accent { color: var(--gold); }
  .std-house-wrap {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    align-items: center;
  }
  .std-house-line {
    width: 18.8rem;                       /* 300 */
    height: 2px;
    background: var(--gold);
    align-self: flex-start;
  }
  .std-house {
    width: 20rem;                          /* уменьшил с 26.35 */
    height: 14.65rem;                      /* уменьшил пропорционально с 19.3 */
    overflow: hidden;
  }
  .std-house img {
    width: 100%;
    height: 137%;
    object-fit: cover;
    object-position: center bottom;
    margin-top: -17%;
    display: block;
  }
  .std-hero-card {
    flex: 1 1 auto;
    height: 31.25rem;                     /* 500 */
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .std-hero-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Bottom row: 3 Q&A cols */
  .std-q-row {
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    gap: 0.875rem;
    align-items: stretch;
    width: 100%;
  }
  .std-vdiv {
    width: 1px;
    height: 15.875rem;                    /* 254 */
    background: var(--gold);
    opacity: 0.5;
    align-self: center;
  }
  .std-col {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
  }
  .std-q-head {
    display: flex;
    gap: 0.875rem;
    align-items: center;
  }
  .std-q-head .icon {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
  }
  .std-q-head .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .std-q-head .q {
    flex: 1;
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .std-col .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }
  .std-col .a {
    font-weight: 400;
    font-size: 1rem;                      /* 16 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .std-photo {
    width: 27.125rem;                     /* 434 */
    max-width: 100%;
    height: 16.875rem;                    /* 270 */
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;                     /* прижать к низу колонки */
  }
  .std-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* ---------- BLOCK 11: место силы ---------- */
  .mesto {
    padding: 0 2.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.75rem;
    max-width: 100rem;
  }

  /* Decoration header — вплотную между блоками */
  .mesto-header {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin-top: -1rem;
  }
  .mesto-header::before,
  .mesto-header::after {
    content: '';
    height: 2px;
    background: var(--gold);
    flex: 1 1 auto;
    max-width: 30rem;
  }
  .mesto-decor {
    width: 30rem;
    height: 20rem;
    flex-shrink: 0;
    margin: 0 -3rem;
  }
  .mesto-decor img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* Main row */
  .mesto-main {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 1.25rem;
    align-items: stretch;
    width: 100%;
  }
  .mesto-hdiv {
    width: 1px;
    background: var(--gold);
    opacity: 0.5;
    align-self: stretch;
    justify-self: center;
  }

  /* Left col */
  .mesto-left {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-width: 0;
  }
  .mesto-title-row {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
  }
  .mesto-title {
    flex: 1;
    font-family: var(--serif);
    font-weight: 600;
    font-size: 3rem;                      /* 48 */
    line-height: 0.94;
    color: var(--navy);
    margin: 0;
  }
  .mesto-key {
    width: 7.5rem;                        /* 120 */
    height: 7.5rem;
    flex-shrink: 0;
  }
  .mesto-key img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mesto-line {
    width: 17.5rem;                       /* 280 */
    height: 2px;
    background: var(--gold);
  }
  .mesto-card {
    flex: 1 1 0;
    min-height: 15rem;
    background: var(--navy);
    border-radius: 1rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mesto-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Right col */
  .mesto-right {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    min-width: 0;
  }
  .mesto-q {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }
  .mesto-q-head {
    display: flex;
    gap: 0.875rem;
    align-items: center;
  }
  .mesto-q-icon {
    width: 5rem;
    height: 5rem;
    flex-shrink: 0;
  }
  .mesto-q-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mesto-q-text {
    flex: 1;
    font-weight: 600;
    font-size: 1.125rem;                  /* 18 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .mesto-q .name {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--gold);
    margin: 0;
  }
  .mesto-q .a {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .mesto-q .a p + p { margin-top: 0.5rem; }

  /* Quote card */
  .mesto-quote {
    background: var(--bg);
    border: 1px solid var(--gold);
    border-radius: 1rem;
    padding: 2.5rem;
    display: flex;
    gap: 1.25rem;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .mesto-quote-icon {
    width: 7.75rem;                       /* 124 */
    height: 7.75rem;
    flex-shrink: 0;
  }
  .mesto-quote-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .mesto-quote-text {
    flex: 1;
    font-family: var(--serif);
    font-weight: 700;
    font-size: 1.625rem;                  /* 26 */
    line-height: 1.5;
    color: var(--gold);
    text-align: center;
    margin: 0;
  }

  /* ---------- BLOCK 12: конец ---------- */
  .ending {
    padding: 0.875rem 2.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 100rem;
    margin: 0 auto;
  }

  /* Top: 4 columns (title + 3 Q&A) */
  .end-row {
    display: grid;
    grid-template-columns: 20.3125rem 1fr 1fr 1fr;
    gap: 0.875rem;
    align-items: stretch;
    width: 100%;
  }
  .end-title-col {
    border-right: 1px solid var(--gold);
    padding-right: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    align-items: flex-start;
  }
  .end-title {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 3rem;                     /* 48 */
    line-height: 1.1;
    color: var(--navy);
    margin: 0;
  }
  .end-leaf {
    width: 17rem;
    height: 14.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-10deg);
    margin: -2rem 0 0 -3rem;
  }
  .end-leaf img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .end-col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .end-col-head {
    display: flex;
    gap: 0.875rem;
    align-items: center;
  }
  .end-num {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    border: 1.5px solid var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sans);
    font-weight: 700;
    font-size: 2.75rem;                  /* 44 */
    line-height: 1;
    color: var(--gold);
    flex-shrink: 0;
    padding-bottom: 0.25rem;
  }
  .end-q {
    flex: 1;
    font-weight: 600;
    font-size: 1rem;                     /* 16 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .end-photo {
    width: 100%;
    height: 17.5rem;                     /* 280 */
    background: var(--navy);
    border-radius: 0.625rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .end-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .end-answer {
    display: flex;
    gap: 0.875rem;
    align-items: flex-start;
  }
  .end-icon {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
  }
  .end-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .end-answer-text {
    flex: 1;
    font-weight: 400;
    font-size: 0.875rem;                 /* 14 */
    line-height: 1.2;
    color: var(--navy);
    margin: 0;
  }
  .end-answer-text p + p { margin-top: 0.5rem; }
  .end-answer-text .bold { font-weight: 600; text-transform: uppercase; }

  /* Closing card */
  .end-close {
    background: var(--navy);
    border-radius: 1rem;
    padding: 1.5rem 3.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    width: 100%;
    height: 15rem;                       /* 240 */
    box-sizing: border-box;
    overflow: hidden;
  }
  .end-close-icon {
    width: 12.15rem;
    height: 12.15rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .end-close-icon.small {
    width: 16rem;
    height: 12.15rem;
  }
  .end-close-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .end-close-quote {
    flex: 1;
    font-family: var(--serif);
    font-weight: 400;
    font-size: 2.25rem;                  /* 36 */
    line-height: 1.1;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0.75rem;
  }
  .end-close-quote-mark {
    display: block;
    width: clamp(38px, 3vw, 48px);
    height: auto;
    max-height: 40px;
    object-fit: contain;
    flex: 0 0 auto;
    margin-top: -1rem;
    align-self: flex-start;
  }
  .end-close-quote-text {
    display: inline-block;
  }

  /* ---------- ADAPTIVE BREAKPOINTS ---------- */

  /* 1300: узкий десктоп / после 125% zoom на 1440 экране */
  @media (max-width: 1300px) {
    /* HERO — уменьшаем gap и здание */
    .hero { gap: 3rem; }
    .hero-right { right: -6rem; width: 32rem; height: 32rem; }

    /* BLOCK 4 top row — hero-card переезжает вниз чтобы title+house помещались */
    .premium-top {
      flex-wrap: wrap;
      justify-content: center;
      row-gap: 1.5rem;
    }
    .premium-hero-card {
      order: 3;
      width: 100%;
      max-width: 46rem;
      height: auto;
      aspect-ratio: 483 / 344;
    }
    .premium-hero-card img { width: 100%; height: 100%; }
    .premium-title-block { flex: 1 1 20rem; min-width: 0; }

    /* BLOCK 5 top row — то же самое */
    .ind-top {
      flex-wrap: wrap;
      justify-content: center;
      row-gap: 1.5rem;
    }
    .ind-hero-card {
      order: 3;
      width: 100%;
      flex-basis: 100%;
      max-width: 46rem;
      height: auto;
      aspect-ratio: 648 / 295;
    }
    .ind-hero-card img { width: 100%; height: 100%; }
    .ind-title-block { flex: 1 1 20rem; min-width: 0; width: auto; }

    /* BLOCK 7 top row — то же самое */
    .cap-top {
      flex-wrap: wrap;
      justify-content: center;
      row-gap: 1.5rem;
    }
    .cap-hero-card {
      order: 3;
      width: 100%;
      flex-basis: 100%;
      max-width: 46rem;
      height: auto;
      aspect-ratio: 800 / 295;
    }
    .cap-hero-card img { width: 100%; height: 100%; }
    .cap-title-block { flex: 1 1 20rem; width: auto; }
  }

  /* 1200: Block 4 в 2 колонки */
  @media (max-width: 1200px) {
    .premium-grid {
      grid-template-columns: 1fr 1px 1fr;
      gap: 2rem 1.25rem;
    }
    .premium-vdivider:nth-of-type(2n) { display: none; }
    .premium-vdivider { height: auto; align-self: stretch; }
    .premium-col .photo { width: 100%; max-width: 22rem; }

    /* BLOCK 5 bottom — photo + Q&A стек */
    .ind-bottom {
      width: 100%;
      grid-template-columns: 17.5rem 1px 1fr;
      grid-template-rows: auto auto;
      gap: 1.5rem 0.625rem;
    }
    .ind-vdiv-l { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 1px; margin: 1rem 0; }
    .ind-col:nth-of-type(2) { grid-column: 1 / -1; grid-row: 3; }
    .ind-flowers { position: absolute; bottom: 3rem; right: 2rem; width: 12rem; height: 12rem; opacity: 0.6; }

    /* BLOCK 6 — оставляем 2-кол, уменьшаем text и images */
    .artchoice-title { font-size: 3rem; }
    .artchoice-qa .q { font-size: 1.25rem; }
    .artchoice-card-big { height: 32rem; }
    .artchoice-card-big img { width: 55rem; height: 36rem; }
    .artchoice-card-bottom { height: 24rem; }
    .artchoice-card-bottom img { width: 42rem; height: 24rem; margin-top: 0; }
  }

  /* 900: планшет — всё в одну колонку */
  @media (max-width: 900px) {
    :root { font-size: 14px; }

    /* MENU: скрываем nav, оставляем лого + бургер */
    .nav {
      grid-template-columns: auto 1fr auto;
      padding: 0 1.25rem;
    }
    .nav ul { display: none; }

    /* HERO */
    .hero {
      grid-template-columns: 1fr;
      gap: 2rem;
      padding: 1.25rem 1.25rem 2rem;
      overflow: visible;
    }
    .hero-right {
      position: relative;
      right: auto; top: auto;
      width: 100%;
      max-width: 26rem;
      margin: 0 auto;
      aspect-ratio: 1;
      height: auto;
      opacity: 0.85;
    }
    .hero-right .building { width: 100%; height: 100%; }
    .hero-left { max-width: 100%; }
    .portrait {
      max-width: 100%;
      height: auto;
      aspect-ratio: 427 / 726;
      width: 100%;
    }
    .hero-middle { padding-top: 0; }
    .hero-title { font-size: 2.5rem; max-width: 100%; }
    .hero-title .accent { font-size: 2.7rem; }
    .hero-desc-line { width: 100%; max-width: 100%; }
    .hero-desc { max-width: 100%; }
    .section-title {
      max-width: 100%;
      grid-template-columns: 1fr auto 1fr;
    }
    .section-title::before { width: auto; }
    .section-title::after { width: auto; }
    .qa-row {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .qa-divider { display: none; }
    .qa-icon-wrap { width: 4rem; height: 4rem; }
    .qa-head { grid-template-columns: 4rem 1fr; min-height: 4rem; }

    /* BLOCK 3 */
    .experience { padding: 1rem 1.25rem; }
    .experience-title {
      margin-left: 0;
      justify-content: center;
      text-align: center;
    }
    .experience-title::before,
    .experience-title::after {
      flex: 1 1 0;
      max-width: 5rem;
    }
    .experience-decor {
      position: relative;
      top: auto; right: auto;
      margin: 1rem auto;
      width: 10rem; height: 10rem;
    }
    .experience-row {
      margin: 1.5rem 0 0;
      grid-template-columns: 1fr;
      gap: 1rem;
    }
    .experience-divider { display: none; }
    .experience-qa { grid-template-columns: 5rem 1fr; }

    /* BLOCK 4 */
    .premium {
      padding: 1rem 1.25rem;
      gap: 1.5rem;
    }
    .premium-top {
      flex-direction: column;
      align-items: stretch;
      gap: 1.5rem;
    }
    .premium-house {
      width: 12rem; height: 12rem;
      align-self: center;
    }
    .premium-title-block { align-items: center; text-align: center; }
    .premium-title { font-size: 2.5rem; max-width: 100%; text-align: center; }
    .premium-desc-wrap { width: 100%; align-items: center; text-align: center; }
    .premium-hero-card {
      width: 100%;
      height: auto;
      aspect-ratio: 483 / 344;
    }
    .premium-hero-card img {
      width: 100%; height: 100%;
    }
    .premium-grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .premium-vdivider { display: none; }
    .premium-col .photo {
      width: 100%;
      max-width: 22rem;
      margin-left: auto;
      margin-right: auto;
    }

    /* BLOCK 5 — full stack */
    .independent { padding: 1rem 1.25rem; gap: 1.5rem; }
    .ind-top { flex-direction: column; align-items: stretch; gap: 1.5rem; }
    .ind-plant { width: 9rem; height: 9rem; align-self: center; }
    .ind-title-block { width: 100%; align-items: center; text-align: center; }
    .ind-title { text-align: center; font-size: 2.5rem; }
    .ind-desc-wrap { align-items: center; text-align: center; }
    .ind-hero-card { width: 100%; height: auto; aspect-ratio: 648 / 295; max-width: none; }
    .ind-bottom {
      display: flex;
      flex-direction: column;
      width: 100%;
      gap: 1.5rem;
    }
    .ind-vdiv-s, .ind-vdiv-l { display: none; }
    .ind-photo { width: 100%; max-width: 22rem; height: auto; aspect-ratio: 280 / 489; margin: 0 auto; }
    .ind-photo img { width: 100%; height: 100%; margin-left: 0; object-position: center; }
    .ind-flowers { display: none; }

    /* BLOCK 6 — full stack */
    .artchoice {
      grid-template-columns: 1fr;
      padding: 1rem 1.25rem;
      gap: 1.5rem;
    }
    .artchoice-left { padding: 0; }
    .artchoice-title { font-size: 2.5rem; text-align: center; }
    .artchoice-header { align-items: center; text-align: center; }
    .artchoice-qa-list { max-width: 100%; }
    .artchoice-qa { grid-template-columns: 4rem 1fr; }
    .artchoice-qa .icon { width: 4rem; height: 4rem; padding-top: 0.5rem; }
    .artchoice-qa .icon img { height: 4rem; }
    .artchoice-qa .q { font-size: 1.125rem; }
    .artchoice-divider { width: 100%; }
    .artchoice-right { gap: 1rem; }
    .artchoice-card-big { height: auto; aspect-ratio: 663 / 694; }
    .artchoice-card-big img { position: static; transform: none; width: 100%; height: 100%; }
    .artchoice-card-bottom { height: auto; aspect-ratio: 663 / 488; }
    .artchoice-card-bottom img { position: static; transform: none; width: 100%; height: 100%; margin-top: 0; }

    /* BLOCK 7 — full stack */
    .capital { padding: 1rem 1.25rem; gap: 1.5rem; }
    .cap-top { flex-direction: column; align-items: stretch; gap: 1.5rem; }
    .cap-title-block { width: 100%; align-items: center; text-align: center; }
    .cap-eyebrow { text-align: center; }
    .cap-title { font-size: 2.5rem; text-align: center; }
    .cap-hero-card { width: 100%; height: auto; aspect-ratio: 800 / 295; max-width: none; }
    .cap-qa-row { grid-template-columns: 1fr; gap: 2rem; }
    .cap-vdivider { display: none; }
    .cap-features { grid-template-columns: 1fr 1fr; gap: 1rem; }
    .cap-feat .label { font-size: 1rem; }

    /* BLOCK 8 — full stack */
    .moscow { grid-template-columns: 1fr; padding: 1rem 1.25rem; gap: 1.5rem; }
    .msk-title { font-size: 2.5rem; text-align: center; }
    .msk-q-row { flex-direction: column; }
    .msk-photo-card, .msk-photo-card.tall { width: 100%; height: auto; aspect-ratio: 280 / 236; max-width: none; }
    .msk-q-text { width: 100%; }
    .msk-feats { grid-template-columns: repeat(3, 1fr); }
    .msk-info-box { grid-template-columns: 1fr; }
    .msk-hero-card { height: auto; aspect-ratio: 665 / 295; }
    .msk-hero-card img { width: 100%; height: 100%; }
    .msk-q19-answer { flex-direction: column; align-items: center; text-align: center; }

    /* BLOCK 9 — stack */
    .mistakes { padding: 1rem 1.25rem; gap: 1.5rem; }
    .mst-title-row { flex-direction: column; align-items: center; text-align: center; gap: 1rem; }
    .mst-title { font-size: 2rem; text-align: center; }
    .mst-subtitle { font-size: 1.5rem; text-align: center; }
    .mst-q-row { grid-template-columns: 1fr; gap: 2rem; }
    .mst-vdiv { display: none; }
    .mst-answer-row { flex-direction: column; }
    .mst-photo { width: 100%; height: auto; aspect-ratio: 4/5; }
    .mst-q23 { flex-direction: column; }
    .mst-q23-photo { width: 100%; height: auto; aspect-ratio: 280 / 313; max-width: 22rem; margin: 0 auto; }
    .mst-q23-mini-row { grid-template-columns: 1fr; gap: 1.5rem; }
    .mst-mini-vdiv { display: none; }
    .mst-final-row { flex-direction: column; }
    .mst-final-note { width: 100%; border-left: none; border-top: 1px solid rgba(204, 173, 108, 0.5); padding-left: 0; padding-top: 0.875rem; }
    .mst-q-num { font-size: 3rem; }

    /* BLOCK 10 — stack */
    .standards { padding: 1rem 1.25rem; gap: 1.5rem; }
    .std-top { flex-direction: column; align-items: stretch; }
    .std-title-col { width: 100%; }
    .std-title { font-size: 2rem; }
    .std-house { width: 100%; max-width: 22rem; height: auto; aspect-ratio: 421 / 308; }
    .std-hero-card { height: auto; aspect-ratio: 888 / 500; }
    .std-hero-card img { width: 100%; height: 100%; }
    .std-q-row { grid-template-columns: 1fr; gap: 2rem; }
    .std-vdiv { display: none; }
    .std-photo { width: 100%; max-width: 27rem; height: auto; aspect-ratio: 434 / 270; margin: 0.5rem auto 0; }

    /* BLOCK 11 — stack */
    .mesto { padding: 1rem 1.25rem; gap: 1.5rem; }
    .mesto-header::before, .mesto-header::after { display: none; }
    .mesto-decor { width: 100%; max-width: 18rem; height: auto; aspect-ratio: 496 / 331; margin: 0; }
    .mesto-main { grid-template-columns: 1fr; }
    .mesto-hdiv { display: none; }
    .mesto-title { font-size: 2rem; }
    .mesto-key { width: 5rem; height: 5rem; }
    .mesto-card { min-height: 15rem; aspect-ratio: 776 / 437; }
    .mesto-quote { flex-direction: column; padding: 1.5rem; }
    .mesto-quote-icon { width: 5rem; height: 5rem; }
    .mesto-quote-text { font-size: 1.125rem; }

    /* BLOCK 12 — stack */
    .ending { padding: 1rem 1.25rem; gap: 1.5rem; }
    .end-row { grid-template-columns: 1fr; gap: 2rem; }
    .end-title-col { border-right: none; border-bottom: 1px solid var(--gold); padding-right: 0; padding-bottom: 1rem; align-items: center; text-align: center; }
    .end-title { font-size: 2rem; text-align: center; }
    .end-leaf { transform: none; margin: 0; width: 12rem; height: 10rem; }
    .end-close { flex-direction: column; height: auto; padding: 1.5rem; text-align: center; }
    .end-close-icon { width: 7rem; height: 7rem; }
    .end-close-icon.small { width: 7rem; height: 4rem; }
    .end-close-quote { font-size: 1.375rem; padding-left: 0; }
    .end-close-quote::before { display: none; }
  }

  /* 640: мобильный */
  @media (max-width: 640px) {
    :root { font-size: 13px; }
    .nav { height: 4rem; padding: 0 1rem; }
    .nav .logo-wrap { width: 2.5rem; height: 2.7rem; }
    .nav .burger-wrap { width: 2.5rem; height: 1.5rem; }

    .hero-title { font-size: 2rem; }
    .hero-title .accent { font-size: 2.1rem; }
    .name { font-size: 2rem; }

    .premium-title { font-size: 2rem; }
    .premium-house { width: 9rem; height: 9rem; }

    /* Убираем боковой overflow */
    body, html { overflow-x: hidden; }
  }

  /* Override: chip «продолжение интервью» вынесен из .hero-middle как sibling
     колонок — растягиваем на все колонки грида и центрируем margin:auto. */
  .hero > .cont.hero-cont-full {
    grid-column: 1 / -1;
    margin: 2.5rem auto 0;
    justify-self: center;
  }

/* === «продолжение интервью» chip — прижать к соседним блокам (23.09) === */
.cont:has(> img.arrow) { margin-top: 0.75rem !important; }
section:has(> .cont > img.arrow) { padding-bottom: 0.75rem !important; }
section:has(> .cont > img.arrow) + section { padding-top: 0.5rem !important; }
/* hero — chip внутри grid-контейнера, у неё свой override 40 */
.hero > .cont.hero-cont-full { margin-top: 0.75rem !important; }
.hero:has(> .cont.hero-cont-full) { padding-bottom: 0.75rem !important; }

/* Hero: сжимаем row-gap перед chip + подтягиваем колонку интервью ближе (23.09) */
.hero { row-gap: 0.75rem !important; column-gap: 2rem !important; }

/* Hero-middle: убрать верхний отступ, интервью начинается с уровня фото (23.09) */
.hero-middle { padding-top: 0 !important; }

/* Premium cards: фото прижаты вниз, единый нижний уровень (23.09) */
.premium-grid { align-items: stretch !important; }
.premium-col .photo { margin-top: auto !important; }

/* ind-hero.png: растянуть на весь контейнер, без боковых полос (23.09) */
.ind-hero-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* capital-hero.png: растянуть на весь контейнер, без боковых полос (23.09) */
.cap-hero-card img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* artchoice: chip и золотая полоса — на всю ширину, каждый своей строкой (23.09) */
section.artchoice > .cont,
section.artchoice > .cap-hdiv { grid-column: 1 / -1; }
section.artchoice > .cont { justify-self: center; }

/* artchoice: максимально сжать вертикальные отступы вокруг chip (23.09) */
section.artchoice { row-gap: 0 !important; padding-bottom: 4px !important; }
section.artchoice > .cont { margin-top: 4px !important; }
section.artchoice + section { padding-top: 4px !important; }
