/* Apartment page only: preserve shared header, footer, forms and other routes. */
.page-kvartira .apartment-label { display: block; color: var(--teal); font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.page-kvartira .apartment-rooms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.page-kvartira .apartment-room { border-top: 3px solid var(--teal); padding-top: 22px; }
.page-kvartira .apartment-room h3 { font-size: 22px; }
.page-kvartira .apartment-room p { color: var(--muted); margin: 14px 0 0; }
.page-kvartira .apartment-detail { padding-top: 16px; margin-top: 18px; border-top: 1px solid var(--line); }
.page-kvartira .apartment-airflow { display: grid; grid-template-columns: 1.35fr 1fr; gap: 36px; align-items: center; }
.page-kvartira .apartment-figure { margin: 0; min-width: 0; }
.page-kvartira .apartment-figure img { width: 100%; height: auto; border-radius: var(--radius); }
.page-kvartira .apartment-figure figcaption, .page-kvartira .apartment-caption { color: var(--muted); font-size: 14px; margin: 12px 0 0; }
.page-kvartira .apartment-air-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 24px; }
.page-kvartira .apartment-air-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 16px; }
.page-kvartira .apartment-air-steps li > span { color: var(--teal); font-size: 24px; font-weight: 700; }
.page-kvartira .apartment-air-steps h3 { font-size: 20px; }
.page-kvartira .apartment-air-steps p { margin: 6px 0 0; color: var(--muted); }
.page-kvartira .apartment-note { margin-top: 32px; padding: 24px 28px; border-left: 4px solid var(--teal); background: var(--soft); border-radius: 0 var(--radius) var(--radius) 0; }
.page-kvartira .apartment-note strong { color: var(--steel); font-size: 18px; }
.page-kvartira .apartment-note p { color: var(--muted); margin: 8px 0 0; }
.page-kvartira .apartment-stage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.page-kvartira .apartment-stage { display: flex; flex-direction: column; }
.page-kvartira .apartment-stage-image { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.page-kvartira .apartment-stage .card-body { padding: 26px; flex: 1; display: flex; flex-direction: column; align-items: start; }
.page-kvartira .apartment-stage h3 { font-size: 25px; }
.page-kvartira .apartment-stage ul { color: var(--muted); padding-left: 20px; margin: 18px 0 0; }
.page-kvartira .apartment-stage li + li { margin-top: 7px; }
.page-kvartira .apartment-stage .mini-link { margin-top: auto; padding-top: 22px; }
.page-kvartira .apartment-solutions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.page-kvartira .apartment-solutions .card { display: flex; }
.page-kvartira .apartment-solutions .card-body { display: flex; flex-direction: column; width: 100%; padding: 26px; }
.page-kvartira .apartment-solutions .mini-link { margin-top: auto; padding-top: 22px; }
.page-kvartira .apartment-reading { color: var(--muted); margin: 24px 0 0; }
.page-kvartira .apartment-reading a { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
.page-kvartira .apartment-process { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 0; padding: 0; }
.page-kvartira .apartment-process-media { position: relative; overflow: hidden; border-radius: var(--radius); background: var(--soft); }
.page-kvartira .apartment-process-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.page-kvartira .apartment-process-media .step-number { position: absolute; top: 12px; left: 12px; margin: 0; border: 2px solid white; box-shadow: 0 2px 8px #0002; }
.page-kvartira .apartment-process-caption { margin-top: 24px; }
.page-kvartira .apartment-process h3 { font-size: 20px; margin-top: 18px; }
.page-kvartira .apartment-process p { color: var(--muted); margin: 12px 0 0; }
.page-kvartira .apartment-estimate { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: start; }
.page-kvartira .apartment-estimate h2 { margin-bottom: 22px; }
.page-kvartira .apartment-estimate p:not(.lead) { color: var(--muted); }
.page-kvartira .apartment-cost-list { margin: 0; }
.page-kvartira .apartment-cost-list > div { padding: 22px 0; border-top: 1px solid var(--line); }
.page-kvartira .apartment-cost-list > div:first-child { padding-top: 0; border-top: 0; }
.page-kvartira .apartment-cost-list dt { color: var(--steel); font-size: 20px; font-weight: 700; }
.page-kvartira .apartment-cost-list dd { margin: 8px 0 0; color: var(--muted); }
.page-kvartira .apartment-faq { max-width: 980px; margin: 0 auto; border-top: 1px solid var(--line); }
.page-kvartira .apartment-faq details { border-bottom: 1px solid var(--line); }
.page-kvartira .apartment-faq summary { cursor: pointer; padding: 22px 36px 22px 0; color: var(--steel); font-size: 19px; font-weight: 700; position: relative; list-style: none; }
.page-kvartira .apartment-faq summary::-webkit-details-marker { display: none; }
.page-kvartira .apartment-faq summary::after { content: '+'; position: absolute; right: 4px; top: 18px; font-size: 26px; color: var(--teal); }
.page-kvartira .apartment-faq details[open] summary::after { content: '−'; }
.page-kvartira .apartment-faq p { margin: 0; padding: 0 36px 24px 0; max-width: 850px; color: var(--muted); }
.page-kvartira .apartment-faq summary:focus-visible, .page-kvartira .mini-link:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }
@media (max-width: 1050px) {
  .page-kvartira .apartment-rooms, .page-kvartira .apartment-process { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .page-kvartira .apartment-airflow { grid-template-columns: 1fr; }
  .page-kvartira .apartment-air-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .page-kvartira .apartment-air-steps li { grid-template-columns: 1fr; gap: 8px; }
  .page-kvartira .apartment-solutions { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .page-kvartira .apartment-process { grid-template-columns: 1fr; gap: 34px; }
  .page-kvartira .apartment-stage-grid, .page-kvartira .apartment-estimate { grid-template-columns: 1fr; gap: 28px; }
  .page-kvartira .apartment-stage .card-body, .page-kvartira .apartment-solutions .card-body { padding: 22px; }
  .page-kvartira .apartment-air-steps { grid-template-columns: 1fr; }
  .page-kvartira .apartment-air-steps li { grid-template-columns: 38px 1fr; gap: 12px; }
  .page-kvartira .apartment-note { padding: 20px; }
}
@media (max-width: 480px) {
  .page-kvartira .apartment-rooms, .page-kvartira .apartment-process { grid-template-columns: 1fr; gap: 28px; }
  .page-kvartira .apartment-stage h3 { font-size: 23px; }
}
