.cao-page main [aria-hidden="true"] { display: none !important; }

.cao-page {
  --cao-night: #0a1523;
  --cao-graphite: #142231;
  --cao-stone: #dde2e7;
  --cao-paper: #f4f1ea;
  --cao-teal: #20c9c3;
  --cao-copper: #b9784a;
  --cao-warm: #e8b66c;
  --cao-ink: #101c28;
  --cao-muted: #61707c;
  --cao-line: rgba(16, 28, 40, .17);
  color: var(--cao-ink);
  background: var(--cao-stone);
}
.cao-page main { overflow: clip; }
.cao-page main .container > * { min-width: 0; }
.cao-page main > section {
  position: relative;
  isolation: isolate;
  min-height: 680px;
  padding: clamp(84px, 8vw, 128px) 0 clamp(188px, 15vw, 226px);
  overflow: clip;
  scroll-margin-top: 94px;
}
.cao-page main > section > :not(.cao-decor) { position: relative; z-index: 2; }
.cao-page h1,
.cao-page h2,
.cao-page h3,
.cao-page p,
.cao-page figure,
.cao-page dl,
.cao-page ol { margin-top: 0; }
.cao-page h1,
.cao-page h2 {
  max-width: 1040px;
  margin-bottom: 22px;
  font-size: clamp(40px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.cao-page h1 { font-size: clamp(48px, 6.15vw, 88px); }
.cao-page h3 { line-height: 1.14; }
.cao-page p,
.cao-page li,
.cao-page dd { line-height: 1.58; }
.cao-page a { text-underline-offset: 3px; }
.cao-page a:focus-visible,
.cao-page summary:focus-visible {
  outline: 3px solid var(--cao-warm);
  outline-offset: 4px;
}
.cao-kicker {
  margin-bottom: 14px;
  color: #157f7b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.cao-page figure {
  position: relative;
  margin-bottom: 0;
  overflow: clip;
  background: var(--cao-night);
}
.cao-page figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cao-page figcaption {
  position: absolute;
  right: 15px;
  bottom: 15px;
  left: 15px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 15px;
  color: #fff;
  background: rgba(7, 18, 30, .84);
  border: 1px solid rgba(255, 255, 255, .17);
  backdrop-filter: blur(11px);
}
.cao-page figcaption span {
  flex: none;
  color: var(--cao-teal);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .13em;
}
.cao-page figcaption strong {
  max-width: 380px;
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
}
.cao-page .button { min-height: 52px; }
.cao-page .button-primary {
  color: #071822;
  background: linear-gradient(135deg, #73ece5, var(--cao-teal));
  box-shadow: 0 14px 34px rgba(32, 201, 195, .2);
}

/* 01. Hero split: городская точка и полная платформа */
.cao-hero {
  min-height: 1040px !important;
  padding-top: clamp(132px, 12vw, 178px) !important;
  padding-bottom: 202px !important;
  color: #fff;
  background:
    linear-gradient(144deg, rgba(32, 201, 195, .11), transparent 42%),
    var(--cao-night);
}
.cao-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(380px, 1.04fr);
  align-items: stretch;
  gap: clamp(42px, 7vw, 98px);
}
.cao-hero-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 18px 0; }
.cao-hero .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  color: #9daebb;
  font-size: 12px;
}
.cao-hero .breadcrumbs a { color: #e0e7ec; }
.cao-hero .cao-kicker { color: var(--cao-teal); }
.cao-lead { max-width: 700px; margin-bottom: 28px; color: #becbd4; font-size: 18px; }
.cao-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; }
.cao-hero-inputs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 22px;
  border-block: 1px solid rgba(255,255,255,.17);
}
.cao-hero-inputs span {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 14px 10px;
  color: #d5dfe5;
  border-right: 1px solid rgba(255,255,255,.17);
  font-size: 10px;
  font-weight: 800;
}
.cao-hero-inputs span:last-child { border-right: 0; }
.cao-hero-inputs b { color: var(--cao-warm); font-size: 9px; }
.cao-hero-rate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 0;
  padding: 17px 20px;
  color: #b8c7d0;
  background: #132435;
  border-left: 5px solid var(--cao-copper);
}
.cao-hero-rate span { font-size: 9px; font-weight: 950; letter-spacing: .09em; }
.cao-hero-rate strong { color: var(--cao-warm); font-size: clamp(24px, 3vw, 34px); line-height: 1; }
.cao-hero-photo {
  min-height: 680px;
  border-radius: 0 96px 0 0;
  box-shadow: 24px 24px 0 rgba(32,201,195,.09);
}
.cao-hero-photo img { object-position: 53% center; }
.cao-section-index {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 35px;
  border-block: 1px solid rgba(255,255,255,.18);
}
.cao-section-index a {
  min-width: 0;
  padding: 14px 8px;
  color: #c3d0d8;
  border-right: 1px solid rgba(255,255,255,.14);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
}
.cao-section-index a:last-child { border-right: 0; }

/* 02. Cross-notes доступа */
.cao-access {
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(16,28,40,.08) 50%, transparent 50.1%),
    var(--cao-stone);
}
.cao-access-head {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: end;
  gap: clamp(42px, 7vw, 98px);
  margin-bottom: 40px;
}
.cao-access-head > p { margin-bottom: 21px; color: #52616d; font-size: 17px; }
.cao-access-cross {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  min-height: 570px;
}
.cao-access-photo { min-height: 570px; clip-path: polygon(0 0, 95% 0, 100% 9%, 100% 100%, 0 100%); }
.cao-access-photo img { object-position: 50% 51%; }
.cao-access-notes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: start;
  padding: 26px;
  background: #eef1f3;
  border: 1px solid var(--cao-line);
  border-left: 7px solid var(--cao-copper);
}
.cao-access-notes article { min-width: 0; padding: 20px 16px; border-right: 1px solid var(--cao-line); border-bottom: 1px solid var(--cao-line); }
.cao-access-notes article:nth-child(2n) { border-right: 0; }
.cao-access-notes span { display: block; margin-bottom: 7px; color: #167d79; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.cao-access-notes strong { font-size: 13px; line-height: 1.35; }
.cao-access-notes p,
.cao-access-notes a { grid-column: 1 / -1; }
.cao-access-notes p { margin: 23px 0 15px; color: #52616c; font-size: 13px; }
.cao-access-notes a { color: #205d5b; font-size: 12px; font-weight: 950; }

/* 03. Datum strip положения */
.cao-position {
  color: #fff;
  background:
    linear-gradient(160deg, transparent 58%, rgba(185,120,74,.1) 58.2% 74%, transparent 74.2%),
    var(--cao-graphite);
}
.cao-position-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: clamp(42px, 7vw, 100px);
}
.cao-position-copy .cao-kicker { color: var(--cao-teal); }
.cao-position-copy > p:not(.cao-kicker) { color: #b9c6cf; font-size: 17px; }
.cao-position-datum {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 28px 0 22px;
  border-top: 1px solid rgba(255,255,255,.18);
  border-left: 1px solid rgba(255,255,255,.18);
}
.cao-position-datum span { display: grid; gap: 5px; min-width: 0; padding: 17px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); color: #d2dce2; font-size: 12px; }
.cao-position-datum b { color: var(--cao-warm); font-size: 9px; letter-spacing: .1em; }
.cao-position-note { padding: 17px 19px; background: rgba(32,201,195,.13); border-left: 4px solid var(--cao-teal); font-size: 13px !important; }
.cao-position-note a { color: #8df2ec; font-weight: 900; }
.cao-position-photo { height: 650px; border-radius: 78px 0 0 0; }
.cao-position-photo img { object-position: 49% 52%; }

/* 04. Three-coupon scenario paper */
.cao-scenarios {
  background:
    repeating-linear-gradient(0deg, transparent 0 48px, rgba(185,120,74,.06) 49px),
    #eee1d1;
}
.cao-scenarios-head { display: grid; grid-template-columns: 1.16fr .84fr; align-items: end; gap: clamp(40px,7vw,96px); margin-bottom: 40px; }
.cao-scenarios-head > p { margin-bottom: 21px; color: #62594f; font-size: 17px; }
.cao-scenarios-stage { display: grid; grid-template-columns: 1.17fr .83fr; min-height: 560px; }
.cao-scenarios-photo { min-height: 560px; }
.cao-scenarios-photo img { object-position: 51% center; }
.cao-scenario-coupons { display: grid; grid-template-rows: repeat(3, 1fr); gap: 13px; padding-left: 20px; }
.cao-scenario-coupons article { position: relative; padding: 28px 25px 24px 84px; background: var(--cao-paper); border: 1px solid rgba(86,64,45,.17); box-shadow: 9px 9px 0 rgba(185,120,74,.12); }
.cao-scenario-coupons article:nth-child(2) { margin-left: 18px; transform: skewX(-1.5deg); }
.cao-scenario-coupons article:nth-child(3) { margin-right: 24px; border-radius: 0 42px 0 0; }
.cao-scenario-coupons span { position: absolute; top: 31px; left: 24px; color: #9a5b31; font-size: 9px; font-weight: 950; letter-spacing: .1em; writing-mode: vertical-rl; }
.cao-scenario-coupons h3 { margin-bottom: 8px; }
.cao-scenario-coupons p { margin-bottom: 0; color: #675f56; font-size: 13px; }

/* 05. Матрица параметров и фото */
.cao-platform {
  background:
    linear-gradient(90deg, rgba(255,255,255,.3), transparent 52%),
    #c8d2db;
}
.cao-platform-titleline { display: grid; grid-template-columns: .95fr 1.05fr; align-items: end; gap: 0 clamp(40px,7vw,100px); margin-bottom: 36px; }
.cao-platform-titleline .cao-kicker,
.cao-platform-titleline h2 { grid-column: 1; }
.cao-platform-titleline > p:last-child { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin-bottom: 22px; color: #4c5c69; font-size: 17px; }
.cao-platform-work { display: grid; grid-template-columns: .9fr 1.1fr; align-items: stretch; }
.cao-platform-matrix { display: flex; min-width: 0; flex-direction: column; padding: 22px; color: #e7edf1; background: var(--cao-night); }
.matrix-row { display: grid; grid-template-columns: .84fr 1.08fr 1.08fr; min-width: 0; border-top: 1px solid rgba(255,255,255,.15); }
.matrix-row > * { min-width: 0; padding: 16px 12px; border-right: 1px solid rgba(255,255,255,.15); font-size: 12px; line-height: 1.42; }
.matrix-row > *:last-child { border-right: 0; }
.matrix-row strong { color: var(--cao-warm); }
.matrix-row span { color: #b9c7d0; }
.matrix-head { border-top: 0; background: rgba(32,201,195,.11); }
.matrix-head span { color: var(--cao-teal); font-size: 9px; font-weight: 950; letter-spacing: .09em; }
.cao-platform-matrix > p { margin: auto 0 0; padding: 22px 12px 4px; color: #bfcbd3; font-size: 13px; }
.cao-platform-matrix a { color: #8bf0ea; font-weight: 900; }
.cao-platform-photo { min-height: 610px; clip-path: polygon(0 0, 100% 0, 100% 100%, 7% 100%, 0 91%); }
.cao-platform-photo img { object-position: 51% center; }

/* 06. Темный тройной контроль */
.cao-control {
  color: #fff;
  background:
    radial-gradient(circle at 85% 18%, rgba(232,182,108,.12), transparent 31%),
    var(--cao-night);
}
.cao-control-layout { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(42px,7vw,100px); }
.cao-control-photo { height: 650px; border: 1px solid rgba(255,255,255,.15); box-shadow: 24px 24px 0 rgba(32,201,195,.08); }
.cao-control-photo img { object-position: 50% center; }
.cao-control-copy .cao-kicker { color: var(--cao-teal); }
.cao-control-copy > p:not(.cao-kicker) { color: #bdc9d1; font-size: 17px; }
.cao-control-cards { margin-top: 28px; border-top: 1px solid rgba(255,255,255,.17); }
.cao-control-cards article { display: grid; grid-template-columns: 42px .52fr 1fr; align-items: baseline; gap: 12px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.cao-control-cards span { color: var(--cao-warm); font-size: 9px; font-weight: 950; }
.cao-control-cards h3 { margin-bottom: 0; font-size: 16px; }
.cao-control-cards p { margin-bottom: 0; color: #adbbc4; font-size: 12px; }

/* 07. Тариф и отдельные факторы */
.cao-price {
  background:
    linear-gradient(135deg, rgba(32,201,195,.09), transparent 42%),
    var(--cao-paper);
}
.cao-price-layout { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(44px,7vw,100px); }
.cao-price-copy { padding: clamp(27px,4vw,48px); background: #fff; border-top: 8px solid var(--cao-teal); box-shadow: 22px 22px 0 rgba(10,21,35,.12); }
.cao-price-copy > p:not(.cao-kicker) { color: #53616c; }
.cao-price-numbers { margin: 28px 0 25px; border-block: 1px solid var(--cao-line); }
.cao-price-numbers span { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px 18px; min-width: 0; padding: 16px 0; }
.cao-price-numbers span + span { border-top: 1px solid var(--cao-line); }
.cao-price-numbers small,
.cao-price-numbers em { color: #687680; font-size: 9px; font-style: normal; letter-spacing: .07em; }
.cao-price-numbers strong { grid-column: 2; grid-row: 1 / span 2; color: var(--cao-night); font-size: clamp(22px,3vw,33px); line-height: 1; }
.cao-price-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.cao-price-actions a:not(.button) { color: #155d5a; font-size: 12px; font-weight: 950; }
.cao-price-photo { height: 630px; border-radius: 0 0 76px 0; box-shadow: -22px 22px 0 rgba(185,120,74,.15); }
.cao-price-photo img { object-position: 48% center; }
.cao-price-factors { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 32px; color: #fff; background: var(--cao-graphite); }
.cao-price-factors span { min-width: 0; padding: 15px 10px; border-right: 1px solid rgba(255,255,255,.16); font-size: 10px; font-weight: 900; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.cao-price-factors span:last-child { border-right: 0; }

/* 08. Три колонки точки приёма */
.cao-handover { background: #d8dedf; }
.cao-handover-head { display: grid; grid-template-columns: 1.16fr .84fr; align-items: end; gap: clamp(40px,7vw,96px); margin-bottom: 39px; }
.cao-handover-head > p { margin-bottom: 21px; color: #52626a; font-size: 17px; }
.cao-handover-stage { display: grid; grid-template-columns: .82fr 1.18fr; align-items: stretch; min-height: 570px; }
.cao-handover-columns { display: grid; grid-template-rows: repeat(3,1fr) auto; color: #fff; background: var(--cao-graphite); border-right: 7px solid var(--cao-copper); }
.cao-handover-columns article { padding: 24px 27px; border-bottom: 1px solid rgba(255,255,255,.16); }
.cao-handover-columns span { color: var(--cao-teal); font-size: 9px; font-weight: 950; letter-spacing: .11em; }
.cao-handover-columns article p { margin: 8px 0 0; color: #c2ced4; font-size: 13px; }
.cao-handover-columns > p { margin-bottom: 0; padding: 22px 27px; color: #18232d; background: var(--cao-warm); font-size: 13px; }
.cao-handover-photo { min-height: 570px; }
.cao-handover-photo img { object-position: 51% center; }

/* 09. FAQ и компактная география */
.cao-faq {
  background:
    repeating-linear-gradient(90deg, transparent 0 139px, rgba(10,21,35,.035) 140px),
    #edf0f1;
}
.cao-faq-layout { display: grid; grid-template-columns: 1.08fr .92fr; align-items: start; gap: clamp(42px,7vw,98px); }
.cao-faq-list { border-top: 1px solid var(--cao-line); }
.cao-faq-list details { border-bottom: 1px solid var(--cao-line); }
.cao-faq-list summary { position: relative; padding: 20px 48px 20px 0; cursor: pointer; font-size: 15px; font-weight: 850; line-height: 1.35; list-style: none; }
.cao-faq-list summary::-webkit-details-marker { display: none; }
.cao-faq-list summary::after { content: "+"; position: absolute; top: 15px; right: 3px; display: grid; width: 30px; height: 30px; place-items: center; color: #fff; background: var(--cao-copper); border-radius: 50%; font-size: 20px; }
.cao-faq-list details[open] summary::after { content: "−"; }
.cao-faq-list details p { max-width: 760px; margin-bottom: 20px; padding-right: 42px; color: #586772; font-size: 14px; }
.cao-other-districts { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; margin-top: 28px; padding: 17px; color: #fff; background: var(--cao-night); }
.cao-other-districts span { color: #aebdc7; font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.cao-other-districts a { padding: 10px 12px; color: #071822; background: var(--cao-teal); font-size: 11px; font-weight: 950; }
.cao-faq-photo { position: sticky !important; top: 112px; height: 660px; border-radius: 72px 0 0 0; }
.cao-faq-photo img { object-position: 50% center; }

/* 10. Финальная темная contact-панель */
.cao-contact {
  color: #fff;
  background:
    linear-gradient(118deg, rgba(185,120,74,.16), transparent 45%),
    var(--cao-night);
}
.cao-contact-layout { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(42px,7vw,100px); }
.cao-contact-photo { height: 670px; clip-path: polygon(0 0, 93% 0, 100% 8%, 100% 100%, 0 100%); }
.cao-contact-photo img { object-position: 47% center; }
.cao-contact-panel { padding: clamp(26px,4vw,48px); background: rgba(20,34,49,.91); border-left: 7px solid var(--cao-warm); }
.cao-contact-panel .cao-kicker { color: var(--cao-teal); }
.cao-contact-panel > p:not(.cao-kicker) { color: #bdcbd3; font-size: 17px; }
.cao-contact-panel dl { display: grid; grid-template-columns: repeat(2,1fr); margin: 28px 0 24px; border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.cao-contact-panel dl div { display: grid; grid-template-columns: 30px 1fr; gap: 8px; padding: 15px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.cao-contact-panel dt { color: var(--cao-warm); font-size: 9px; font-weight: 950; }
.cao-contact-panel dd { margin: 0; color: #c5d0d6; font-size: 12px; }
.cao-contact-call { display: grid; gap: 3px; padding: 18px 20px; color: var(--cao-night); background: var(--cao-teal); }
.cao-contact-call small { font-size: 9px; font-weight: 950; letter-spacing: .09em; }
.cao-contact-call strong { font-size: clamp(22px,3vw,31px); }
.cao-contact-panel address { margin-top: 15px; color: #9fadb6; font-size: 12px; font-style: normal; }

@media (max-width: 1080px) {
  .cao-page main > section { padding-bottom: 210px; }
  .cao-hero-layout { grid-template-columns: 1fr 1fr; gap: 48px; }
  .cao-hero-photo { min-height: 620px; }
  .cao-access-cross,
  .cao-scenarios-stage,
  .cao-platform-work,
  .cao-handover-stage { grid-template-columns: 1fr 1fr; }
  .cao-position-photo,
  .cao-control-photo,
  .cao-price-photo,
  .cao-contact-photo { height: 580px; }
  .cao-faq-photo { height: 610px; }
}

@media (max-width: 840px) {
  .cao-page main > section { min-height: 0; padding: 78px 0 198px; }
  .cao-page h1 { font-size: clamp(45px,10vw,72px); }
  .cao-page h2 { font-size: clamp(38px,8vw,58px); }
  .cao-hero { min-height: 0 !important; padding-top: 120px !important; }
  .cao-hero-layout,
  .cao-position-layout,
  .cao-control-layout,
  .cao-price-layout,
  .cao-faq-layout,
  .cao-contact-layout { grid-template-columns: 1fr; }
  .cao-hero-photo { min-height: 570px; }
  .cao-section-index { grid-template-columns: repeat(3,1fr); }
  .cao-section-index a:nth-child(3) { border-right: 0; }
  .cao-access-head,
  .cao-scenarios-head,
  .cao-platform-titleline,
  .cao-handover-head { grid-template-columns: 1fr; gap: 0; }
  .cao-platform-titleline .cao-kicker,
  .cao-platform-titleline h2,
  .cao-platform-titleline > p:last-child { grid-column: 1; grid-row: auto; }
  .cao-access-cross,
  .cao-scenarios-stage,
  .cao-platform-work,
  .cao-handover-stage { grid-template-columns: 1fr; }
  .cao-access-photo,
  .cao-scenarios-photo,
  .cao-platform-photo,
  .cao-handover-photo { min-height: 520px; }
  .cao-scenario-coupons { grid-template-columns: repeat(3,1fr); grid-template-rows: auto; padding: 20px 0 0; }
  .cao-scenario-coupons article { padding: 54px 20px 22px; }
  .cao-scenario-coupons article:nth-child(2) { margin-left: 0; }
  .cao-scenario-coupons article:nth-child(3) { margin-right: 0; }
  .cao-scenario-coupons span { top: 20px; left: 20px; writing-mode: horizontal-tb; }
  .cao-position-photo,
  .cao-control-photo,
  .cao-price-photo,
  .cao-contact-photo { height: min(68vw,570px); min-height: 450px; }
  .cao-price-copy { order: 2; }
  .cao-handover-columns { grid-template-columns: repeat(3,1fr); grid-template-rows: auto auto; border-right: 0; border-bottom: 7px solid var(--cao-copper); }
  .cao-handover-columns article { border-right: 1px solid rgba(255,255,255,.16); }
  .cao-handover-columns > p { grid-column: 1 / -1; }
  .cao-faq-photo { position: relative !important; top: auto; height: 540px; }
}

@media (max-width: 560px) {
  .cao-page main > section { padding: 64px 0 178px; }
  .cao-page h1 { font-size: clamp(39px,12vw,57px); }
  .cao-page h2 { font-size: clamp(34px,10vw,48px); }
  .cao-page figcaption { right: 9px; bottom: 9px; left: 9px; display: grid; gap: 5px; padding: 11px; }
  .cao-page figcaption strong { max-width: none; font-size: 11px; text-align: left; }
  .cao-page figcaption span { font-size: 8px; }
  .cao-hero { padding-top: 104px !important; padding-bottom: 174px !important; }
  .cao-lead { font-size: 15px; }
  .cao-hero-actions { display: grid; }
  .cao-hero-actions .button { width: 100%; }
  .cao-hero-inputs { grid-template-columns: repeat(2,1fr); }
  .cao-hero-inputs span:nth-child(2) { border-right: 0; }
  .cao-hero-rate { display: grid; }
  .cao-hero-photo,
  .cao-access-photo,
  .cao-scenarios-photo,
  .cao-platform-photo,
  .cao-position-photo,
  .cao-control-photo,
  .cao-price-photo,
  .cao-handover-photo,
  .cao-faq-photo,
  .cao-contact-photo { height: 390px; min-height: 390px; }
  .cao-hero-photo { border-radius: 0 55px 0 0; }
  .cao-section-index { grid-template-columns: repeat(2,1fr); }
  .cao-section-index a:nth-child(2n) { border-right: 0; }
  .cao-access-notes { grid-template-columns: 1fr; padding: 19px; }
  .cao-access-notes article { border-right: 0; }
  .cao-position-datum { grid-template-columns: 1fr; }
  .cao-scenario-coupons { grid-template-columns: 1fr; }
  .cao-scenario-coupons article { min-height: 134px; }
  .cao-platform-matrix { padding: 16px; }
  .matrix-row { grid-template-columns: 1fr; margin-bottom: 12px; border: 1px solid rgba(255,255,255,.15); }
  .matrix-row > * { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .matrix-row > *:last-child { border-bottom: 0; }
  .matrix-head { display: none; }
  .matrix-row strong::before,
  .matrix-row span::before { display: block; margin-bottom: 4px; color: var(--cao-teal); font-size: 8px; font-weight: 950; letter-spacing: .08em; }
  .matrix-row strong::before { content: "ДАННЫЕ"; }
  .matrix-row span:nth-child(2)::before { content: "ЗАЧЕМ СООБЩИТЬ"; }
  .matrix-row span:nth-child(3)::before { content: "ЧТО УТОЧНИТЬ"; }
  .cao-control-cards article { grid-template-columns: 32px 1fr; }
  .cao-control-cards p { grid-column: 2; }
  .cao-price-copy { padding: 25px 20px; box-shadow: 12px 12px 0 rgba(10,21,35,.12); }
  .cao-price-numbers span { grid-template-columns: 1fr; }
  .cao-price-numbers strong { grid-column: 1; grid-row: auto; }
  .cao-price-factors { grid-template-columns: 1fr; }
  .cao-price-factors span { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .cao-handover-columns { grid-template-columns: 1fr; }
  .cao-handover-columns article { border-right: 0; }
  .cao-handover-columns > p { grid-column: 1; }
  .cao-faq-list summary { padding-block: 18px; font-size: 14px; }
  .cao-faq-list details p { padding-right: 0; font-size: 13px; }
  .cao-other-districts { grid-template-columns: 1fr; }
  .cao-other-districts a { text-align: center; }
  .cao-contact-panel { padding: 24px 20px; }
  .cao-contact-panel dl { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .cao-page main > section { padding: 56px 0 164px; }
  .cao-page h1 { font-size: 39px; }
  .cao-page h2 { font-size: 34px; }
  .cao-page p,
  .cao-page li { overflow-wrap: anywhere; }
  .cao-hero { padding-top: 96px !important; padding-bottom: 158px !important; }
  .cao-hero-inputs { grid-template-columns: 1fr; }
  .cao-hero-inputs span { border-right: 0; }
  .cao-hero-rate strong { font-size: 24px; }
  .cao-section-index a { padding-inline: 4px; font-size: 9px; }
  .cao-hero-photo,
  .cao-access-photo,
  .cao-scenarios-photo,
  .cao-platform-photo,
  .cao-position-photo,
  .cao-control-photo,
  .cao-price-photo,
  .cao-handover-photo,
  .cao-faq-photo,
  .cao-contact-photo { height: 340px; min-height: 340px; }
  .cao-access-notes,
  .cao-platform-matrix { padding-inline: 13px; }
  .cao-scenario-coupons article { padding-inline: 17px; }
  .cao-price-copy,
  .cao-contact-panel { padding-inline: 16px; }
  .cao-contact-call { padding-inline: 12px; }
  .cao-contact-call strong { font-size: 20px; }
}
