/* 2026-08-12 unified compact visual system. Loaded after the legacy sheet. */
:root {
  --page-compact: min(1240px, calc(100% - 40px));
  --green-975: #041a13;
  --green-925: #092d23;
  --mint-soft: #e9f3ed;
  --paper-warm: #f6f7f4;
}

[hidden] { display: none !important; }

html { scroll-padding-top: 82px; }

body {
  background: var(--paper-warm);
  letter-spacing: 0;
}

h1,
h2,
h3,
p,
a,
button,
label,
span,
small { letter-spacing: 0; }

h1 { font-size: clamp(3rem, 4.5vw, 4rem); line-height: .98; }
h2 { font-size: clamp(2.15rem, 3.5vw, 3rem); line-height: 1.02; }

/* Header: one stable hierarchy on every public page. */
.site-header {
  min-height: 72px;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 10px;
  padding: 7px max(18px, calc((100vw - 1420px) / 2));
}

.site-header .header-identity { gap: 10px; overflow: hidden; }

.site-header .umma-home-link {
  min-width: 196px;
  min-height: 48px;
  gap: 8px;
  padding-right: 12px;
}

.site-header .umma-home-link > img {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
}

.umma-wording strong { font-size: 1.18rem; }
.umma-wording small { max-width: 145px; font-size: .59rem; line-height: 1.05; }

.site-header .brand-family {
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, auto));
  gap: 3px;
}

.site-header .brand-family a,
.site-header .brand-family a + a,
body:not([data-page="home"]) .site-header .brand-family a,
body:not([data-page="home"]) .site-header .brand-family a:not([aria-current="page"]) {
  min-height: 44px;
  grid-template-columns: 26px minmax(0, auto);
  gap: 5px;
  padding: 4px 7px;
}

.site-header .brand-family img,
body:not([data-page="home"]) .site-header .brand-family img {
  width: 26px !important;
  height: 26px !important;
}

.site-header .brand-family span { font-size: .72rem; }
.header-cabinet-link { min-height: 44px; padding-inline: 12px; }
.header-cta { min-height: 44px; padding-inline: 15px; }
.menu-button { border-radius: 7px; }
.site-nav { top: 72px; }

/* Video placeholders read as an intentional coming-soon state, not a black hole. */
.video-shell {
  padding: 7px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .12);
}

.video-placeholder {
  min-height: 260px;
  border-color: rgba(255, 255, 255, .2);
  background: #082b22;
}

.video-placeholder .play-mark {
  width: 56px;
  height: 56px;
  margin-bottom: 15px;
  background: rgba(255, 255, 255, .08);
}

.video-placeholder strong { font-size: clamp(1.4rem, 2vw, 1.8rem); }
.video-placeholder > span:last-child { max-width: 430px; margin-top: 8px; }

/* Umbrella page: one video, four strong choices, trust, people and status. */
.home-hero { min-height: 540px; }

.home-hero__inner {
  width: var(--page-compact);
  min-height: 540px;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .82fr);
  gap: 42px;
  padding: 38px 0;
}

.home-hero h1 { margin-bottom: 14px; font-size: clamp(3.25rem, 5vw, 4.15rem); }
.hero-lead { max-width: 620px; font-size: 1.04rem; line-height: 1.42; }
.home-hero__cta { margin-top: 19px; }
.hero-proof-link { margin-top: 14px; padding: 11px 13px; }

.direction-intro,
.content-section,
.product-section { width: var(--page-compact); padding: 50px 0; }

.direction-intro { padding-top: 56px; padding-bottom: 56px; }
.compact-title { margin-bottom: 22px; }
.compact-title h2 { margin: 0; font-size: clamp(2.4rem, 4vw, 3.2rem); }

.direction-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

.direction-card {
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 178px auto 48px;
  overflow: hidden;
  border-color: #cddbd3;
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(5, 45, 31, .09);
}

.direction-card__brand {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  background: #dbe7df;
}

.direction-card__brand::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4, 28, 20, .04), rgba(4, 28, 20, .48));
  pointer-events: none;
}

.direction-card__object {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
}

.direction-card:hover .direction-card__object { transform: scale(1.035); }

.direction-card__lockup {
  position: absolute;
  z-index: 2;
  left: 16px;
  bottom: 14px;
  width: min(190px, 54%);
  max-height: 72px;
  padding: 7px 9px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .93);
  object-fit: contain;
  box-shadow: 0 8px 24px rgba(4, 28, 20, .15);
}

.safe-brand-lockup {
  display: flex;
  align-items: center;
  min-width: 0;
}

.safe-brand-lockup > img {
  flex: 0 0 auto;
  object-fit: contain;
}

.safe-brand-lockup > span {
  display: grid;
  min-width: 0;
}

.safe-brand-lockup strong,
.safe-brand-lockup small {
  display: block;
  letter-spacing: 0;
}

.direction-card__lockup.safe-brand-lockup--card {
  gap: 8px;
  max-height: none;
  color: var(--green-950);
}

.safe-brand-lockup--card > img { width: 38px; height: 46px; }
.safe-brand-lockup--card strong { font-family: Montserrat, Inter, system-ui, sans-serif; font-size: 1.03rem; line-height: 1.05; }
.safe-brand-lockup--card small { margin-top: 4px; font-size: .58rem; line-height: 1.2; font-weight: 700; }

.direction-card__copy { align-self: stretch; padding: 17px 18px 14px; }
.direction-card__copy h3 { margin-bottom: 6px; font-size: 1.25rem; }
.direction-card__copy p { font-size: .91rem; line-height: 1.38; }

.direction-card__action {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 0 18px;
  border-top: 1px solid var(--line);
  color: var(--green-900);
  font-size: .84rem;
  font-weight: 900;
}

.trust-overview {
  width: var(--page-compact);
  min-height: 300px;
  grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
}

.trust-overview__intro { padding: 28px 30px; }
.trust-overview__intro h2 { font-size: 2.1rem; }
.trust-overview__facts div { padding: 20px; }

.member-entry-band { padding: 28px 20px; }
.member-entry-band h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.member-entry-band__inner { gap: 26px; }

.about-team { width: var(--page-compact); padding: 58px 0 64px; }
.about-team__heading { gap: 34px; margin-bottom: 20px; }
.about-team__lead { font-size: 1rem; line-height: 1.42; }

.team-carousel-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}

.team-carousel-counter { display: inline-flex; align-items: baseline; gap: 5px; color: var(--green-700); font-weight: 850; }
.team-carousel-counter strong { color: var(--green-950); font-size: 1.22rem; }
.team-carousel-actions { display: flex; gap: 7px; }
.team-carousel-actions button { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--green-900); }
.team-carousel-actions button:disabled { opacity: .35; }

.team-grid {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 2px 2px 12px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--green-700) #e0e9e3;
}

.team-card { flex: 0 0 292px; scroll-snap-align: start; }
.team-card__portrait { height: 215px; aspect-ratio: auto; }
.team-card__copy { min-height: 190px; padding: 17px 18px 19px; }
.team-card__copy h3 { font-size: 1.2rem; }
.team-card__role { font-size: .86rem; }
.team-card__value { margin-top: 10px; font-size: .86rem; line-height: 1.38; }

.cooperative-status { padding: 48px 20px; }
.cooperative-status__inner { gap: 24px 44px; }
.cooperative-status__heading h2 { font-size: clamp(2rem, 3.4vw, 2.9rem); }
.cooperative-status__copy { gap: 9px; }
.cooperative-status__copy p { font-size: .91rem; line-height: 1.4; }
.cooperative-status__facts span { min-height: 58px; padding: 12px 16px; }

.site-footer { gap: 17px; padding-top: 34px; padding-bottom: 30px; }
.footer-family a { min-height: 48px; }
.footer-contact { gap: 8px; }
.footer-contact h2 { font-size: 1.75rem; }
.footer-phone { font-size: 1.45rem; }
.footer-legal { padding-top: 12px; }

/* Direction pages: tighter rhythm and exactly one video in the hero. */
.detail-hero__inner {
  width: var(--page-compact);
  min-height: 540px;
  grid-template-columns: minmax(0, 1fr) minmax(370px, .76fr);
  gap: 38px;
  padding: 38px 0;
}

.detail-lockup { width: 190px; max-height: 68px; margin-bottom: 15px; }
.safe-brand-lockup--hero { width: max-content; max-width: 100%; gap: 12px; margin-bottom: 15px; color: var(--green-950); }
.safe-brand-lockup--hero > img { width: 58px; height: 62px; }
.safe-brand-lockup--hero strong { font-family: Montserrat, Inter, system-ui, sans-serif; font-size: 1.62rem; line-height: 1.05; }
.safe-brand-lockup--hero small { margin-top: 5px; color: rgba(5, 63, 43, .74); font-size: .72rem; line-height: 1.22; font-weight: 700; }
.detail-hero h1 { margin-bottom: 14px; font-size: clamp(2.8rem, 4.2vw, 3.55rem); }
.detail-hero p:not(.eyebrow) { font-size: 1rem; line-height: 1.42; }
.cooperative-kicker { margin-bottom: 13px; }
.hero-actions { margin-top: 18px; }

.story-section { padding-top: 38px; padding-bottom: 42px; }
.story-band { min-height: 420px; }
.story-band__copy { width: min(760px, 70%); min-height: 420px; padding: 40px; align-content: center; }
.story-band__copy h2 { margin-bottom: 13px; font-size: clamp(2.25rem, 3.8vw, 2.85rem); }
.story-band__copy > p:not(.eyebrow) { font-size: .98rem; }
.story-points { margin-top: 23px; padding-top: 16px; }

.section-heading { margin-bottom: 20px; }
.section-heading.split { gap: 28px; }
.section-heading.split > p { font-size: .94rem; }

.journey-heading {
  min-height: 190px;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 22px;
  margin-bottom: 18px;
  padding: 24px 28px;
}

.journey-heading__copy h2 { margin-bottom: 8px; font-size: clamp(2.15rem, 3.5vw, 2.75rem); }
.journey-heading__copy > p:last-child { font-size: .95rem; line-height: 1.4; }
.journey-heading__visual { width: 165px; max-height: 150px; }

.journey-list { gap: 11px; }
.journey-step { min-height: 136px; grid-template-columns: 88px minmax(0, 1fr); gap: 12px; padding: 13px 18px 13px 10px; }
.journey-step__sticker { width: 84px; height: 84px; }
.journey-step h3 { margin-bottom: 6px; font-size: 1.1rem; }
.journey-step p { font-size: .86rem; line-height: 1.36; }

.model-definition { padding-top: 40px; }
.model-definition__title { padding: 26px; }
.model-definition__title h2 { font-size: 2rem; }
.model-definition__title > p:not(.eyebrow) { margin-top: 12px; color: rgba(255, 255, 255, .78); font-size: .86rem; line-height: 1.43; }
.model-definition__facts p { padding: 19px 16px; }

.calculator { gap: 13px; padding: 20px; }
.calculator__heading h3 { font-size: 1.5rem; }
.form-grid { gap: 10px; }
.result-grid article { min-height: 80px; padding: 12px; }
.result-grid strong { font-size: 1.05rem; }
.first-payment-control { padding: 12px; }

.house-showcase {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  overflow-x: auto;
  padding: 2px 2px 12px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--green-700) #e1e9e4;
}

.house-model-card { flex: 0 0 292px; scroll-snap-align: start; }
.house-model-card img { height: 164px; aspect-ratio: auto; }
.house-model-card > span { padding: 11px 13px 12px; }
.house-model-card--concept::before {
  content: "Новая серия";
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  padding: 5px 8px;
  border-radius: 4px;
  background: rgba(5, 43, 31, .9);
  color: #fff;
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
}
.house-model-card { position: relative; }

.house-catalog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 13px 15px;
  border: 1px solid #cfe0d6;
  border-radius: 7px;
  background: var(--mint-soft);
}

.house-catalog-actions p { font-size: .86rem; }
.house-catalog-actions .secondary-button { flex: 0 0 auto; border-color: var(--green-700); background: #fff; color: var(--green-900); }

.case-grid { gap: 11px; }
.case-card img,
.case-card:first-child img { height: 265px; }
.case-card__copy { padding: 16px; }

.lead-panel { gap: 24px; }
.lead-cta-card { min-height: 180px; padding: 22px; }
.faq-list { gap: 7px; }
details.faq-item summary { padding-top: 15px; padding-bottom: 15px; }

.house-project-actions { grid-template-columns: minmax(170px, 1fr) auto auto auto; }
.house-project-actions > a.secondary-button { border-color: var(--green-700); background: #f5f9f6; color: var(--green-900); }

@media (max-width: 1360px) {
  .site-header .umma-home-link { min-width: 172px; }
  .umma-wording small { display: none; }
  .site-header .brand-family span { font-size: .67rem; }
}

@media (max-width: 1180px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto 44px; }
  .header-cta { display: none; }
  .trust-overview { grid-template-columns: 1fr; }
  .trust-overview__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .trust-overview__facts div { padding: 16px; }
  .model-definition { grid-template-columns: 1fr; }
  .model-definition__title { border-radius: 8px 8px 0 0; }
  .model-definition__facts { border-left: 1px solid var(--line); border-radius: 0 0 8px 8px; }
}

/* Keep the original one-line header on laptops without allowing labels to collide. */
@media (min-width: 721px) and (max-width: 980px) {
  .site-header {
    min-height: 72px;
    grid-template-columns: minmax(0, 1fr) auto 44px;
    grid-template-rows: 1fr;
    gap: 7px;
    padding: 7px 10px;
  }

  .site-header .header-identity {
    min-width: 0;
    gap: 6px;
    overflow: hidden;
  }

  .site-header .umma-home-link {
    min-width: 118px;
    gap: 6px;
    padding-right: 7px;
  }

  .site-header .umma-home-link > img {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
  }

  .umma-wording strong { font-size: 1.05rem; }

  .site-header .brand-family {
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
  }

  .site-header .brand-family a,
  .site-header .brand-family a + a,
  body:not([data-page="home"]) .site-header .brand-family a,
  body:not([data-page="home"]) .site-header .brand-family a:not([aria-current="page"]) {
    min-width: 0;
    min-height: 42px;
    grid-template-columns: 18px minmax(0, auto);
    gap: 3px;
    justify-content: center;
    padding: 3px 5px;
    overflow: hidden;
  }

  .site-header .brand-family img,
  body:not([data-page="home"]) .site-header .brand-family img {
    width: 18px !important;
    height: 18px !important;
  }

  .site-header .brand-family span {
    min-width: 0;
    overflow: hidden;
    font-size: 0 !important;
    line-height: 1;
    white-space: nowrap;
  }

  .site-header .brand-family span::after {
    display: block !important;
    font-size: .68rem;
    line-height: 1;
  }

  .site-header .brand-family a:nth-child(1) span::after { content: "Строй"; }
  .site-header .brand-family a:nth-child(2) span::after { content: "Земля"; }
  .site-header .brand-family a:nth-child(3) span::after { content: "Авто"; }

  .site-header > .header-cabinet-link {
    min-height: 42px;
    padding-inline: 9px;
  }

  .site-header > .menu-button {
    width: 42px;
    height: 42px;
  }

  .site-nav { top: 72px; }
}

@media (max-width: 900px) {
  .home-hero__inner,
  .detail-hero__inner { grid-template-columns: 1fr; gap: 25px; }
  .home-hero__copy,
  .detail-hero__copy { max-width: 780px; }
  .home-hero,
  .home-hero__inner,
  .detail-hero__inner { min-height: 0; }
  .home-hero__inner,
  .detail-hero__inner { padding-top: 35px; padding-bottom: 35px; }
  .video-placeholder { min-height: 300px; }
  .direction-card { grid-template-rows: 160px auto 46px; }
  .story-band__copy { width: 86%; }
  .result-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cooperative-status__inner { grid-template-columns: 1fr; gap: 20px; }
  .cooperative-status__facts,
  .cooperative-status__links { grid-column: 1; }
}

@media (max-width: 720px) {
  :root { --page-compact: calc(100% - 30px); }
  html { scroll-padding-top: 114px; }

  .site-header {
    min-height: 110px;
    grid-template-columns: minmax(0, 1fr) auto 44px;
    grid-template-rows: 47px 48px;
    gap: 3px 7px;
    padding: 5px 9px 7px;
  }

  .site-header .header-identity { display: contents; }
  .site-header .umma-home-link { grid-column: 1; grid-row: 1; min-width: 0; padding: 0; border: 0; }
  .site-header .umma-home-link > img { width: 31px; height: 31px; flex-basis: 31px; }
  .umma-wording strong { font-size: 1.05rem; }

  .site-header .brand-family {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 3px;
  }

  .site-header .brand-family a,
  .site-header .brand-family a + a,
  body:not([data-page="home"]) .site-header .brand-family a,
  body:not([data-page="home"]) .site-header .brand-family a:not([aria-current="page"]) {
    min-height: 46px;
    grid-template-columns: 1fr;
    grid-template-rows: 18px auto;
    gap: 2px;
    justify-items: center;
    align-content: center;
    padding: 3px 1px;
    background: #f1f6f3;
  }

  .site-header .brand-family img,
  body:not([data-page="home"]) .site-header .brand-family img { width: 18px !important; height: 18px !important; }
  .site-header .brand-family span { font-size: .68rem !important; line-height: 1; }
  .site-header .brand-family span::after { display: none !important; content: none !important; }
  .site-header > .header-cabinet-link { grid-column: 2; grid-row: 1; min-height: 42px; padding-inline: 9px; }
  .site-header > .menu-button { grid-column: 3; grid-row: 1; width: 42px; height: 42px; }
  .site-nav { top: 110px; max-height: calc(100dvh - 120px); }

  .home-hero__inner,
  .detail-hero__inner { padding-top: 28px; padding-bottom: 30px; }
  .home-hero h1 { font-size: 2.78rem; line-height: .98; }
  .detail-hero h1 { font-size: 2.48rem; line-height: 1; }
  .hero-lead,
  .detail-hero p:not(.eyebrow) { font-size: .96rem; }
  .hero-proof-link { margin-top: 12px; }
  .video-placeholder { min-height: 195px; aspect-ratio: 16 / 9; padding: 18px; }
  .video-placeholder .play-mark { width: 48px; height: 48px; margin-bottom: 12px; }
  .video-placeholder strong { font-size: 1.35rem; }
  .video-placeholder > span:last-child { font-size: .82rem; }

  .direction-intro,
  .content-section,
  .product-section { padding: 38px 0; }
  .direction-intro { padding-top: 42px; }
  .compact-title h2 { font-size: 2.3rem; }
  .direction-cards {
    display: flex;
    gap: 12px;
    margin-right: -15px;
    overflow-x: auto;
    padding: 2px 15px 13px 1px;
    scroll-padding-inline: 1px 15px;
    scroll-snap-type: x mandatory;
    scrollbar-color: var(--green-700) #e1e9e4;
  }
  .direction-card { flex: 0 0 min(86vw, 318px); min-height: 0; grid-template-rows: 148px auto 46px; scroll-snap-align: start; }
  .direction-card__brand { padding: 0; }
  .direction-card__lockup { width: 182px; max-height: 65px; left: 13px; bottom: 12px; }
  .safe-brand-lockup--card > img { width: 34px; height: 42px; }
  .safe-brand-lockup--card strong { font-size: .93rem; }
  .safe-brand-lockup--card small { font-size: .54rem; }
  .direction-card__object { top: 0; right: 0; width: 100%; height: 100%; }
  .direction-card__copy { padding: 14px 15px 12px; }
  .direction-card__copy h3 { font-size: 1.15rem; }
  .direction-card__action { padding-inline: 15px; }

  .trust-overview { width: var(--page-compact); }
  .trust-overview__intro { padding: 24px 20px; }
  .trust-overview__intro h2 { font-size: 1.9rem; }
  .trust-overview__facts { grid-template-columns: 1fr 1fr; }
  .trust-overview__facts div { padding: 15px; }
  .trust-overview__facts dd { font-size: .87rem; }

  .member-entry-band { padding: 24px 15px; }
  .member-entry-band h2 { font-size: 2.15rem; }
  .about-team { padding: 43px 0 48px; }
  .about-team__heading { gap: 14px; margin-bottom: 16px; }
  .about-team__heading h2 { font-size: 2.15rem; }
  .team-card { flex-basis: calc(100% - 30px); }
  .team-card__portrait { height: auto; aspect-ratio: 1; }
  .team-card__copy { min-height: 185px; }

  .detail-lockup { width: 170px; margin-bottom: 12px; }
  .safe-brand-lockup--hero { gap: 10px; margin-bottom: 12px; }
  .safe-brand-lockup--hero > img { width: 50px; height: 54px; }
  .safe-brand-lockup--hero strong { font-size: 1.42rem; }
  .safe-brand-lockup--hero small { font-size: .66rem; }
  .story-section { padding-top: 28px; padding-bottom: 32px; }
  .story-band { min-height: 390px; }
  .story-band__copy { width: 100%; min-height: 390px; padding: 29px 20px; align-content: end; }
  .story-band__copy h2 { font-size: 2.15rem; }
  .story-band__copy > p:not(.eyebrow) { font-size: .91rem; }
  .story-points { grid-template-columns: 1fr; gap: 8px; margin-top: 17px; padding-top: 13px; }
  .story-points span,
  .story-points span + span { padding: 0; border: 0; }

  .section-heading.split { grid-template-columns: 1fr; gap: 7px; }
  .journey-heading { min-height: 0; grid-template-columns: minmax(0, 1fr) 82px; gap: 7px 10px; padding: 20px; }
  .journey-heading__copy { display: contents; }
  .journey-heading__copy .eyebrow { grid-column: 1; grid-row: 1; align-self: center; }
  .journey-heading__copy h2 { grid-column: 1 / -1; grid-row: 2; margin: 5px 0 2px; font-size: 2.05rem; }
  .journey-heading__copy > p:last-child { grid-column: 1 / -1; grid-row: 3; }
  .journey-heading__visual { grid-column: 2; grid-row: 1; position: static; width: 80px; max-height: 80px; }
  .journey-list {
    display: flex;
    gap: 9px;
    margin-right: -15px;
    overflow-x: auto;
    padding: 1px 15px 12px 0;
    scroll-padding-inline: 0 15px;
    scroll-snap-type: x mandatory;
    scrollbar-color: var(--green-700) #e1e9e4;
  }
  .journey-step {
    flex: 0 0 min(86vw, 318px);
    min-height: 128px;
    grid-template-columns: 72px minmax(0, 1fr);
    padding: 10px 13px 10px 8px;
    scroll-snap-align: start;
  }
  .journey-step__sticker { width: 68px; height: 68px; }
  .journey-step h3 { font-size: 1.04rem; }
  .journey-step p { font-size: .82rem; }

  .model-definition { padding-top: 28px; }
  .model-definition__title { padding: 21px; }
  .model-definition__title h2 { font-size: 1.85rem; }
  .model-definition__facts { grid-template-columns: 1fr; }
  .model-definition__facts p { padding: 15px; }

  .house-showcase { margin-inline: -1px; }
  .house-model-card { flex-basis: 82vw; }
  .house-model-card img { height: 178px; }
  .house-catalog-actions { display: grid; gap: 10px; }
  .house-catalog-actions .secondary-button { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .result-grid--two,
  .result-grid--three,
  .result-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .first-payment-entry { grid-template-columns: 1fr; gap: 6px; }
  .calculator > .primary-button { width: 100%; }

  .case-grid { grid-template-columns: 1fr; }
  .case-card img,
  .case-card:first-child img { height: 230px; }
  .lead-panel { grid-template-columns: 1fr; gap: 14px; }
  .lead-cta-card { min-height: 160px; }
  .info-band { grid-template-columns: 1fr; gap: 16px; padding: 21px; }

  .cooperative-status { padding: 39px 15px; }
  .cooperative-status__heading h2 { font-size: 2rem; }
  .cooperative-status__facts { grid-template-columns: 1fr; }
  .cooperative-status__facts span + span { border-top: 1px solid #bcd2c5; border-left: 0; }
  .cooperative-status__links { display: grid; gap: 11px; }

  .house-project-actions { grid-template-columns: 1fr 1fr; }
  .house-project-actions > div { display: none; }
  .house-project-actions > a.secondary-button { grid-column: 1 / -1; }
  .house-project-actions.is-concept .house-project-lead-button { grid-column: 1 / -1; }
  .house-project-actions .primary-button,
  .house-project-actions .secondary-button { width: 100%; }

  .site-footer { padding-top: 27px; padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
  .footer-family { gap: 3px; }
  .footer-family a { min-height: 44px; padding: 4px; }
  .footer-family a > img,
  .footer-family img { width: 28px; height: 28px; }
  .footer-family a > span { font-size: .66rem; }
  .footer-contact h2 { font-size: 1.55rem; }
}

@media (max-width: 380px) {
  .site-header .brand-family span { font-size: .62rem !important; }
  .site-header > .header-cabinet-link { font-size: .75rem; padding-inline: 7px; }
  .home-hero h1 { font-size: 2.55rem; }
  .detail-hero h1 { font-size: 2.25rem; }
  .compact-title h2 { font-size: 2.12rem; }
  .result-grid--three,
  .result-grid--four { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .direction-card__object,
  .journey-heading__visual,
  .story-band__image img { transition: none; animation: none; }
}
