.modular-page-shell {
    --modular-dark: #172329;
    --modular-dark-soft: #1c2a30;
    --modular-paper: #f4f4f1;
    --modular-ink: #172329;
    --modular-gold: #b28b24;
    overflow-x: clip;
    overflow-y: visible;
    background: var(--modular-dark);
    color: #fff;
    font-family: "TTNorms", Arial, sans-serif;
}
.modular-page-shell *,.modular-page-shell *::before,.modular-page-shell *::after { box-sizing: border-box; }
.modular-page-shell a { color: inherit; }
.modular-page-shell .container { width: min(1440px, calc(100% - clamp(40px, 8vw, 160px))); margin-inline: auto; }
.modular-eyebrow { display:flex; align-items:center; gap:15px; margin:0; color:var(--modular-gold); font-size:12px; font-weight:700; letter-spacing:.18em; line-height:1.3; text-transform:uppercase; }
.modular-eyebrow::before { width:32px; height:1px; background:currentColor; content:""; }
.modular-hero { padding:clamp(148px,11vw,190px) 0 clamp(72px,6vw,104px); background:var(--modular-dark); }
.modular-hero__grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:clamp(48px,8vw,140px); align-items:end; }
.modular-hero h1,.modular-detail__title-row h1 { margin:25px 0 0; color:#fff; font-size:clamp(68px,6.4vw,112px); font-weight:700; letter-spacing:-.055em; line-height:.92; }
.modular-hero__lead { max-width:520px; margin:0 0 7px; color:rgba(255,255,255,.68); font-size:clamp(18px,1.4vw,24px); line-height:1.55; }
.modular-catalog { padding:0 0 clamp(78px,7vw,124px); background:var(--modular-dark); }
.modular-catalog__heading { max-width:850px; margin-bottom:clamp(54px,5vw,82px); }
.modular-catalog__heading h2 { margin:22px 0 0; color:#fff; font-size:clamp(42px,4vw,68px); font-weight:700; letter-spacing:-.045em; line-height:1; }
.modular-card { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr); gap:clamp(42px,5.5vw,94px); align-items:end; margin:0 0 clamp(78px,7vw,120px); }
.modular-card:last-child { margin-bottom:0; }
.modular-card:nth-child(even) { grid-template-columns:minmax(280px,.72fr) minmax(0,1.65fr); }
.modular-card:nth-child(even) .modular-card__visual { grid-column:2; grid-row:1; }
.modular-card:nth-child(even) .modular-card__content { grid-column:1; grid-row:1; }
.modular-card__visual { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; border-radius:clamp(16px,1.5vw,25px); background:#29363b; isolation:isolate; }
.modular-card__visual img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; transition:transform 420ms ease; }
@media (hover:hover) and (pointer:fine) { .modular-card__visual:hover img,.modular-card__visual:focus-visible img { transform:scale(1.018); } }
.modular-card__visual:focus-visible,.modular-card__content h3 a:focus-visible,.modular-link:focus-visible,.modular-breadcrumbs a:focus-visible,.modular-detail__navigation a:focus-visible,.modular-consult:focus-visible { outline:2px solid var(--modular-gold); outline-offset:5px; }
.modular-card__content { padding-bottom:5px; }
.modular-card__number { margin:0 0 22px; color:var(--modular-gold); font-size:12px; font-weight:700; letter-spacing:.18em; }
.modular-card__content h3 { margin:0; color:#fff; font-size:clamp(40px,3.8vw,66px); font-weight:700; letter-spacing:-.05em; line-height:.95; }
.modular-card__content h3 a { text-decoration:none; }
.modular-card__price { margin:18px 0 28px; color:var(--modular-gold); font-size:18px; font-weight:700; }
.modular-card dl,.modular-detail__specs dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 30px; border-top:1px solid rgba(255,255,255,.16); }
.modular-card dl div { padding:16px 12px 14px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.modular-card dt,.modular-detail__specs dt { color:rgba(255,255,255,.52); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.modular-card dd,.modular-detail__specs dd { margin:7px 0 0; color:#fff; font-size:17px; font-weight:700; }
.modular-link,.modular-consult { position:relative; display:inline-grid; grid-template-columns:auto 24px; gap:16px; align-items:center; min-width:220px; padding:0 0 13px; border:0; border-bottom:1px solid rgba(178,139,36,.72); background:transparent; color:#fff; font:inherit; font-size:12px; font-weight:700; letter-spacing:.08em; text-align:left; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.modular-link span:last-child,.modular-consult span:last-child { display:inline-block; color:var(--modular-gold); transition:transform 200ms ease; }
.modular-link:hover span:last-child,.modular-link:focus-visible span:last-child,.modular-consult:hover span:last-child,.modular-consult:focus-visible span:last-child { transform:translateX(4px); }
.modular-breadcrumbs { display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin-bottom:clamp(50px,5vw,80px); color:rgba(255,255,255,.56); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.modular-breadcrumbs a { text-decoration:none; }
.modular-detail__hero { padding:clamp(138px,10vw,176px) 0 clamp(72px,6vw,104px); background:var(--modular-dark); }
.modular-detail__title-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:end; margin-bottom:clamp(50px,5vw,82px); }
.modular-detail__title-row>p { margin:0 0 8px; color:var(--modular-gold); font-size:clamp(18px,1.4vw,24px); font-weight:700; }
.modular-detail__visual { aspect-ratio:16/8.5; margin:0; overflow:hidden; border-radius:clamp(18px,1.6vw,28px); background:#29363b; }
.modular-detail__visual img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.modular-detail__specs { padding:clamp(72px,7vw,112px) 0; background:var(--modular-paper); color:var(--modular-ink); }
.modular-detail__specs-grid { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:clamp(60px,9vw,150px); }
.modular-detail__specs h2 { margin:24px 0 0; font-size:clamp(42px,4vw,68px); font-weight:700; letter-spacing:-.045em; line-height:1; }
.modular-detail__specs dl { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:42px; border-color:rgba(23,35,41,.2); }
.modular-detail__specs dl div { padding:17px 14px 20px 0; border-bottom:1px solid rgba(23,35,41,.2); }
.modular-detail__specs dt { color:rgba(23,35,41,.58); }
.modular-detail__specs dd { color:var(--modular-ink); }
.modular-detail__specs .modular-consult { color:var(--modular-ink); }
.modular-detail__navigation { padding:clamp(58px,5vw,82px) 0; background:var(--modular-dark-soft); }
.modular-detail__navigation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.modular-detail__navigation a { display:flex; gap:22px; align-items:center; color:#fff; font-size:clamp(24px,2vw,34px); font-weight:700; text-decoration:none; }
.modular-detail__navigation a:last-child { justify-content:flex-end; text-align:right; }
.modular-detail__navigation small { display:block; margin-bottom:8px; color:rgba(255,255,255,.48); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
@media (max-width:1199px) {
    .modular-page-shell .container { width:min(100% - 64px,1120px); }
    .modular-hero__grid { gap:52px; }
    .modular-card,.modular-card:nth-child(even) { grid-template-columns:minmax(0,1.45fr) minmax(260px,.82fr); gap:42px; }
    .modular-card:nth-child(even) { grid-template-columns:minmax(260px,.82fr) minmax(0,1.45fr); }
    .modular-card__content h3 { font-size:43px; }
    .modular-detail__specs-grid { gap:64px; }
    .modular-detail__specs dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:991px) {
    .modular-hero { padding-top:132px; }
    .modular-hero__grid { grid-template-columns:1fr; gap:32px; }
    .modular-hero h1,.modular-detail__title-row h1 { font-size:clamp(62px,9vw,82px); }
    .modular-card,.modular-card:nth-child(even) { grid-template-columns:minmax(0,1.25fr) minmax(240px,.85fr); gap:32px; }
    .modular-card:nth-child(even) { grid-template-columns:minmax(240px,.85fr) minmax(0,1.25fr); }
    .modular-card__visual { aspect-ratio:4/3; }
    .modular-detail__specs-grid { grid-template-columns:1fr; gap:42px; }
}
@media (max-width:767px) {
    .modular-page-shell .container { width:calc(100% - 32px); }
    .modular-eyebrow { gap:11px; font-size:10px; }
    .modular-eyebrow::before { width:24px; }
    .modular-hero { padding:112px 0 48px; }
    .modular-hero h1,.modular-detail__title-row h1 { margin-top:18px; font-size:clamp(48px,15vw,68px); line-height:.95; }
    .modular-hero__lead { font-size:16px; line-height:1.5; }
    .modular-catalog { padding-bottom:64px; }
    .modular-catalog__heading { margin-bottom:34px; }
    .modular-catalog__heading h2 { margin-top:17px; font-size:clamp(34px,10.5vw,46px); }
    .modular-catalog__track { display:flex; gap:16px; width:calc(100% + 16px); margin-right:-16px; padding:0 16px 18px 0; overflow-x:auto; overscroll-behavior-inline:contain; scroll-padding-inline:0 16px; scroll-snap-type:x mandatory; scrollbar-width:none; }
    .modular-catalog__track::-webkit-scrollbar { display:none; }
    .modular-card,.modular-card:nth-child(even) { display:block; flex:0 0 calc(100vw - 52px); margin:0; scroll-snap-align:start; }
    .modular-card:nth-child(even) .modular-card__visual,.modular-card:nth-child(even) .modular-card__content { grid-column:auto; grid-row:auto; }
    .modular-card__visual { aspect-ratio:3/2; border-radius:16px; }
    .modular-card__content { padding-top:24px; }
    .modular-card__number { margin-bottom:13px; }
    .modular-card__content h3 { font-size:clamp(37px,11vw,48px); }
    .modular-card__price { margin:12px 0 21px; }
    .modular-card dl { margin-bottom:24px; }
    .modular-link { min-width:min(230px,100%); }
    .modular-detail__hero { padding:108px 0 56px; }
    .modular-breadcrumbs { margin-bottom:38px; font-size:10px; }
    .modular-detail__title-row { grid-template-columns:1fr; gap:20px; margin-bottom:36px; }
    .modular-detail__title-row>p { font-size:17px; }
    .modular-detail__visual { aspect-ratio:3/2; border-radius:16px; }
    .modular-detail__specs { padding:58px 0 64px; }
    .modular-detail__specs-grid { gap:34px; }
    .modular-detail__specs h2 { margin-top:18px; font-size:clamp(36px,11vw,48px); }
    .modular-detail__specs dl { margin-bottom:32px; }
    .modular-detail__navigation-grid { gap:18px; }
    .modular-detail__navigation a { gap:10px; align-items:flex-start; font-size:19px; line-height:1.05; }
    .modular-detail__navigation small { font-size:8px; }
}
@media (max-width:390px) {
    .modular-card,.modular-card:nth-child(even) { flex-basis:calc(100vw - 46px); }
    .modular-detail__navigation a { font-size:17px; }
}
@media (prefers-reduced-motion:reduce) {
    .modular-card__visual img,.modular-link span:last-child,.modular-consult span:last-child { transition:none; }
    .modular-card__visual:hover img,.modular-card__visual:focus-visible img,.modular-link:hover span:last-child,.modular-link:focus-visible span:last-child,.modular-consult:hover span:last-child,.modular-consult:focus-visible span:last-child { transform:none; }
}

/* Shared modular project detail system */
.modular-project-hero {
    min-height: min(920px, 100svh);
    padding: clamp(132px, 8.5vw, 164px) 0 clamp(64px, 5vw, 88px);
    background: var(--modular-dark);
}
.modular-project-hero .modular-breadcrumbs {
    margin-bottom: clamp(38px, 3.2vw, 58px);
}
.modular-project-hero__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: clamp(48px, 8vw, 136px);
    align-items: end;
    margin-bottom: clamp(38px, 3.5vw, 62px);
}
.modular-project-hero__heading h1 {
    margin: 18px 0 0;
    color: #fff;
    font-size: clamp(66px, 6.2vw, 108px);
    font-weight: 700;
    letter-spacing: -.06em;
    line-height: .88;
    text-transform: uppercase;
}
.modular-project-hero__heading > p {
    max-width: 520px;
    margin: 0 0 5px;
    color: rgba(255,255,255,.66);
    font-size: clamp(17px, 1.25vw, 22px);
    line-height: 1.5;
}
.modular-project-hero__composition {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(260px, 21vw, 340px);
    gap: clamp(34px, 4vw, 68px);
    align-items: end;
}
.modular-project-hero__visual {
    aspect-ratio: 16/9;
    margin: 0;
    overflow: hidden;
    border-radius: clamp(16px, 1.4vw, 24px);
    background: #26343a;
}
.modular-project-hero__visual img,
.modular-project-story__visual img,
.modular-project-gallery__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}
.modular-project-summary {
    padding-bottom: 8px;
}
.modular-project-summary__price {
    margin: 0 0 26px;
    color: var(--modular-gold);
    font-size: clamp(20px, 1.55vw, 27px);
    font-weight: 700;
}
.modular-project-summary dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}
.modular-project-summary dl div {
    padding: 14px 12px 14px 0;
    border-top: 1px solid rgba(255,255,255,.18);
}
.modular-project-summary dt {
    color: rgba(255,255,255,.48);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.modular-project-summary dd {
    margin: 7px 0 0;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}
.modular-project-summary__line {
    position: relative;
    display: block;
    height: 1px;
    margin-top: 24px;
    background: rgba(178,139,36,.68);
}
.modular-project-summary__line::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid var(--modular-gold);
    border-right: 1px solid var(--modular-gold);
    content: "";
    transform: translateY(-50%) rotate(45deg);
}
.modular-project-story {
    padding: clamp(88px, 8vw, 138px) 0;
    background: var(--modular-dark-soft);
}
.modular-project-story__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
    align-items: center;
}
.modular-project-story__visual {
    aspect-ratio: 16/10;
    margin: 0;
    overflow: hidden;
    border-radius: clamp(16px, 1.4vw, 24px);
}
.modular-project-story__visual img {
    object-position: 54% 48%;
}
.modular-project-story__copy {
    position: relative;
    z-index: 1;
    margin-left: clamp(-96px, -5vw, -54px);
    padding: clamp(34px, 3.5vw, 58px);
    background: rgba(23,35,41,.96);
    box-shadow: 0 20px 55px rgba(0,0,0,.16);
}
.modular-project-story__copy h2 {
    margin: 20px 0 24px;
    color: #fff;
    font-size: clamp(46px, 4vw, 70px);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: .95;
    text-transform: uppercase;
}
.modular-project-story__copy > p:not(.modular-eyebrow) {
    margin: 0;
    color: rgba(255,255,255,.65);
    font-size: 17px;
    line-height: 1.55;
}
.modular-project-story__copy > span {
    display: block;
    margin-top: 34px;
    color: var(--modular-gold);
    font-size: 28px;
}
.modular-project-technical {
    padding: clamp(88px, 7vw, 124px) 0;
    background: var(--modular-dark);
}
.modular-project-technical__heading {
    display: grid;
    grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr);
    gap: 40px;
    align-items: end;
    margin-bottom: clamp(52px, 5vw, 84px);
}
.modular-project-technical__heading h2 {
    max-width: 870px;
    margin: 0;
    color: #fff;
    font-size: clamp(48px, 4.5vw, 76px);
    font-weight: 700;
    letter-spacing: -.052em;
    line-height: .96;
}
.modular-project-technical__grid {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    gap: clamp(70px, 9vw, 150px);
    align-items: start;
}
.modular-project-technical__list {
    margin: 0;
    border-top: 1px solid rgba(255,255,255,.2);
}
.modular-project-technical__list div {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    padding: 19px 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
}
.modular-project-technical__list dt {
    color: rgba(255,255,255,.54);
    font-size: 13px;
}
.modular-project-technical__list dd {
    margin: 0;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}
.modular-project-plan__topline {
    display: flex;
    gap: 28px;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.2);
}
.modular-project-plan h3 {
    margin: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
}
.modular-project-plan__tabs {
    display: flex;
    gap: 18px;
}
.modular-project-plan__tabs button {
    padding: 0 0 6px;
    border: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: rgba(255,255,255,.5);
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.modular-project-plan__tabs button[aria-current="true"] {
    border-color: var(--modular-gold);
    color: var(--modular-gold);
}
.modular-project-plan__visual {
    display: grid;
    min-height: 430px;
    place-items: center;
    padding: 34px;
}
.modular-project-plan__visual img {
    width: min(100%, 620px);
    max-height: 470px;
    object-fit: contain;
}
.modular-project-plan__empty {
    display: grid;
    min-height: 330px;
    place-items: center;
    align-content: center;
    gap: 24px;
    border-bottom: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.48);
    text-align: center;
}
.modular-project-plan__empty span {
    width: 74px;
    height: 74px;
    border: 1px solid rgba(178,139,36,.5);
    border-radius: 50%;
}
.modular-project-plan__empty p {
    margin: 0;
    font-size: 14px;
}
.modular-project-gallery {
    padding: clamp(56px, 4.2vw, 64px) 0;
    background: var(--modular-paper);
    color: var(--modular-ink);
}
.modular-project-gallery__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, .4fr);
    gap: 40px;
    align-items: end;
    margin-bottom: clamp(40px, 3vw, 48px);
}
.modular-project-gallery__heading h2 {
    margin: 18px 0 0;
    font-size: clamp(52px, 4vw, 60px);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: .94;
}
.modular-project-gallery__heading > p {
    margin: 0 0 6px;
    color: rgba(23,35,41,.58);
    font-size: 14px;
    line-height: 1.5;
    text-align: right;
}
.modular-project-gallery__track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.modular-project-gallery__track::-webkit-scrollbar { display:none; }
.modular-project-gallery__slide {
    flex: 0 0 100%;
    height: clamp(500px, 38.5vw, 620px);
    margin: 0;
    overflow: hidden;
    border-radius: clamp(16px, 1.4vw, 24px);
    scroll-snap-align: center;
}
.modular-project-gallery__track--single {
    overflow: visible;
    scroll-snap-type: none;
}
.modular-project-cta {
    padding: clamp(74px, 6vw, 104px) 0;
    background: var(--modular-dark);
}
.modular-project-cta__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 60px;
    align-items: end;
}
.modular-project-cta h2 {
    margin: 20px 0 0;
    color: #fff;
    font-size: clamp(46px, 4vw, 68px);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: .98;
}
.modular-project-cta .modular-consult {
    min-width: 280px;
    margin-bottom: 8px;
}

.block_footer_contact--modular {
    padding: 46px 0;
    background: var(--modular-dark-soft);
    color: rgba(255,255,255,.76);
}
.block_footer_contact--modular .footer-contact-grid {
    grid-template-columns: minmax(0,1fr) minmax(0,.92fr);
    gap: clamp(48px,5vw,78px);
    align-items: start;
}
.block_footer_contact--modular .pic {
    width: 100%;
    height: auto;
    max-height: 238px;
    margin-bottom: 12px;
    aspect-ratio: 16/6;
}
.block_footer_contact--modular .text {
    margin-bottom: 8px;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    line-height: 1.4;
}
.block_footer_contact--modular .showroom-map-trigger {
    min-height: 36px;
    margin: 0 0 8px;
    border-color: rgba(255,255,255,.2);
    color: rgba(255,255,255,.78);
    font-size: 13px;
}
.block_footer_contact--modular .showroom-map-trigger:hover {
    border-color: rgba(178,139,36,.72);
    color: #fff;
}
.block_footer_contact--modular .goldbutton {
    min-height: 46px;
    padding-inline: 24px;
}
.block_footer_contact--modular h2 {
    max-width: 520px;
    margin: 0 0 22px;
    color: #f4f4f1;
    font-size: clamp(26px,2vw,32px);
    line-height: 1.12;
}
.block_footer_contact--modular .avatar {
    min-height: 56px;
    margin-bottom: 12px;
    padding-left: 68px;
    color: #fff;
    background-size: 56px;
}
.block_footer_contact--modular .avatar .desc {
    color: rgba(255,255,255,.52);
}
.block_footer_contact--modular .line {
    min-height: 34px;
    color: rgba(255,255,255,.62);
}
.block_footer_contact--modular .halfline {
    min-height: 34px;
    padding: 4px 0;
    color: #f4f4f1;
}
.block_footer_contact--modular .halfline:hover {
    color: var(--modular-gold);
    background: transparent;
}
.block_footer_contact--modular .line--social {
    min-height: 40px;
    margin-top: 8px;
}
.block_footer_contact--modular .tg,
.block_footer_contact--modular .wa {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    background-size: 31px;
}

@media (max-width: 1199px) {
    .modular-project-hero { min-height: auto; }
    .modular-project-hero__heading { grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr); gap: 54px; }
    .modular-project-hero__composition { grid-template-columns: minmax(0,1fr) 280px; gap: 34px; }
    .modular-project-story__grid { grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); }
    .modular-project-technical__grid { gap: 60px; }
    .modular-project-gallery__slide {
        height: auto;
        max-height: 560px;
        aspect-ratio: 16/9;
    }
    .block_footer_contact--modular { padding: 42px 0; }
    .block_footer_contact--modular .footer-contact-grid { gap: 44px; }
    .block_footer_contact--modular .pic { max-height: 220px; }
}
@media (max-width: 991px) {
    .modular-project-hero__heading { grid-template-columns: 1fr; gap: 25px; }
    .modular-project-hero__heading > p { max-width: 680px; }
    .modular-project-hero__composition { grid-template-columns: 1fr; }
    .modular-project-summary { display:grid; grid-template-columns: 180px 1fr; gap:30px; align-items:start; padding:0; }
    .modular-project-summary__price { margin:14px 0 0; }
    .modular-project-summary__line { display:none; }
    .modular-project-story__grid { grid-template-columns: 1fr; }
    .modular-project-story__copy { width: min(88%, 620px); margin: -76px 0 0 auto; }
    .modular-project-technical__heading { grid-template-columns: 1fr; gap: 22px; }
    .modular-project-technical__grid { grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr); gap: 42px; }
    .modular-project-gallery__heading { grid-template-columns: 1fr; gap: 20px; }
    .modular-project-gallery__heading > p { max-width: 440px; text-align:left; }
}
@media (max-width: 767px) {
    .modular-project-hero { min-height: auto; padding:108px 0 52px; }
    .modular-project-hero .modular-breadcrumbs { margin-bottom: 34px; }
    .modular-project-hero__heading { margin-bottom: 30px; }
    .modular-project-hero__heading h1 { font-size:clamp(48px,15vw,66px); }
    .modular-project-hero__heading > p { font-size:16px; }
    .modular-project-hero__visual { aspect-ratio:3/2; border-radius:16px; }
    .modular-project-summary { display:block; padding-top:24px; }
    .modular-project-summary__price { margin:0 0 20px; }
    .modular-project-summary dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .modular-project-story { padding:58px 0 66px; }
    .modular-project-story__visual { aspect-ratio:3/2; border-radius:16px; }
    .modular-project-story__copy { width:calc(100% - 18px); margin:-30px 0 0 auto; padding:30px 26px; }
    .modular-project-story__copy h2 { font-size:40px; }
    .modular-project-story__copy > p:not(.modular-eyebrow) { font-size:15px; }
    .modular-project-story__copy > span { margin-top:24px; }
    .modular-project-technical { padding:64px 0 68px; }
    .modular-project-technical__heading { margin-bottom:36px; }
    .modular-project-technical__heading h2 { font-size:clamp(38px,11vw,50px); }
    .modular-project-technical__grid { grid-template-columns:1fr; gap:46px; }
    .modular-project-plan__empty { min-height:230px; }
    .modular-project-gallery { padding:54px 0 58px; }
    .modular-project-gallery__heading { margin-bottom:32px; }
    .modular-project-gallery__heading h2 { font-size:clamp(38px,11vw,50px); }
    .modular-project-gallery__track { width:calc(100% + 16px); margin-right:-16px; padding-right:16px; }
    .modular-project-gallery__slide { height:auto; max-height:none; flex-basis:calc(100vw - 48px); aspect-ratio:3/2; border-radius:16px; scroll-snap-align:start; }
    .modular-project-gallery__track--single { width:100%; margin-right:0; padding-right:0; }
    .modular-project-gallery__track--single .modular-project-gallery__slide { flex-basis:100%; }
    .modular-project-cta { padding:62px 0 66px; }
    .modular-project-cta__grid { grid-template-columns:1fr; gap:38px; }
    .modular-project-cta h2 { font-size:clamp(38px,11vw,50px); }
    .modular-project-cta .modular-consult { min-width:min(280px,100%); margin:0; }
    .block_footer_contact--modular { padding: 36px 0 38px; }
    .block_footer_contact--modular .footer-contact-grid { gap: 28px; }
    .block_footer_contact--modular .pic { max-height:none; margin-bottom:12px; aspect-ratio:3/2; }
    .block_footer_contact--modular .text { margin-bottom:6px; }
    .block_footer_contact--modular .showroom-map-trigger { min-height:40px; margin-bottom:8px; }
    .block_footer_contact--modular .goldbutton { min-height:48px; }
    .block_footer_contact--modular h2 { margin-bottom:18px; font-size:clamp(24px,6.5vw,28px); }
    .block_footer_contact--modular .avatar { margin-bottom:10px; }
    .block_footer_contact--modular .line,
    .block_footer_contact--modular .halfline { min-height:38px; }
    .block_footer_contact--modular .line--social { margin-top:6px; }
}

/* Keep the modular contact above the later shared footer.css cascade. */
.modular-page-shell .block_footer_contact--modular {
    padding: 56px 0;
    background: var(--modular-dark-soft);
    color: rgba(255,255,255,.7);
}
.modular-page-shell .block_footer_contact--modular .footer-contact-grid {
    grid-template-columns: minmax(520px,560px) minmax(0,1fr);
    gap: clamp(60px,5vw,78px);
    align-items: center;
}
.modular-page-shell .block_footer_contact--modular .footer-contact-showroom {
    display: grid;
    grid-template-columns: minmax(190px,1fr) auto auto;
    gap: 12px 18px;
    align-items: center;
}
.modular-page-shell .block_footer_contact--modular .pic {
    grid-column: 1/-1;
    width: 100%;
    height: auto;
    max-height: 320px;
    margin: 0;
    aspect-ratio: 16/9;
    background-position: center;
    background-size: cover;
}
.modular-page-shell .block_footer_contact--modular .text {
    margin: 0;
    color: rgba(255,255,255,.64);
    font-size: 13px;
    line-height: 1.35;
}
.modular-page-shell .block_footer_contact--modular .showroom-map-trigger {
    min-height: 40px;
    margin: 0;
    border-color: rgba(255,255,255,.2);
    color: rgba(255,255,255,.8);
    font-size: 13px;
}
.modular-page-shell .block_footer_contact--modular .showroom-map-trigger:hover {
    border-color: rgba(178,139,36,.72);
    color: #fff;
}
.modular-page-shell .block_footer_contact--modular .goldbutton {
    width: auto;
    min-height: 48px;
    padding: 0 22px;
}
.modular-page-shell .block_footer_contact--modular .footer-contact-details {
    align-self: center;
}
.modular-page-shell .block_footer_contact--modular h2 {
    max-width: 560px;
    margin: 0 0 30px;
    color: #f4f4f1;
    font-size: clamp(30px,2.15vw,34px);
    line-height: 1.13;
}
.modular-page-shell .block_footer_contact--modular .avatar {
    min-height: 58px;
    margin: 0 0 26px;
    padding-left: 72px;
    color: #f4f4f1;
    background-size: 58px;
}
.modular-page-shell .block_footer_contact--modular .avatar .desc {
    color: rgba(255,255,255,.5);
}
.modular-page-shell .block_footer_contact--modular .line {
    min-height: 32px;
    margin: 0 0 12px;
    color: rgba(255,255,255,.56);
}
.modular-page-shell .block_footer_contact--modular .halfline {
    min-height: 32px;
    margin: 0;
    padding: 3px 0;
    color: #f4f4f1;
}
.modular-page-shell .block_footer_contact--modular .halfline:hover {
    color: var(--modular-gold);
    background: transparent;
}
.modular-page-shell .block_footer_contact--modular .line--social {
    min-height: 40px;
    margin: 12px 0 0;
    gap: 10px;
}
.modular-page-shell .block_footer_contact--modular .tg,
.modular-page-shell .block_footer_contact--modular .wa {
    width: 40px;
    height: 40px;
    margin: 0;
    flex-basis: 40px;
    background-size: 31px;
}

@media (max-width:1199px) {
    .modular-page-shell .block_footer_contact--modular {
        padding: 52px 0;
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-grid {
        grid-template-columns: minmax(400px,.95fr) minmax(0,1.05fr);
        gap: 44px;
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-showroom {
        grid-template-columns: 1fr auto;
        gap: 10px 16px;
    }
    .modular-page-shell .block_footer_contact--modular .pic {
        max-height: 300px;
    }
    .modular-page-shell .block_footer_contact--modular .text {
        grid-column: 1/-1;
    }
    .modular-page-shell .block_footer_contact--modular h2 {
        margin-bottom: 26px;
        font-size: clamp(27px,3vw,31px);
    }
    .modular-page-shell .block_footer_contact--modular .avatar {
        margin-bottom: 22px;
    }
}

@media (max-width:767px) {
    .modular-page-shell .block_footer_contact--modular {
        padding: 36px 0 40px;
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-grid {
        grid-template-columns: minmax(0,1fr);
        gap: 30px;
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-showroom {
        display: flex;
        flex-direction: column;
        gap: 0;
        align-items: stretch;
    }
    .modular-page-shell .block_footer_contact--modular .pic {
        max-height: none;
        margin-bottom: 12px;
        aspect-ratio: 3/2;
    }
    .modular-page-shell .block_footer_contact--modular .text {
        margin-bottom: 4px;
    }
    .modular-page-shell .block_footer_contact--modular .showroom-map-trigger {
        min-height: 40px;
        margin-bottom: 8px;
    }
    .modular-page-shell .block_footer_contact--modular .goldbutton {
        width: 100%;
        min-height: 48px;
    }
    .modular-page-shell .block_footer_contact--modular h2 {
        margin-bottom: 20px;
        font-size: clamp(24px,6.5vw,28px);
    }
    .modular-page-shell .block_footer_contact--modular .avatar {
        margin-bottom: 16px;
    }
    .modular-page-shell .block_footer_contact--modular .line {
        min-height: 38px;
        margin-bottom: 6px;
    }
    .modular-page-shell .block_footer_contact--modular .halfline {
        min-height: 38px;
    }
    .modular-page-shell .block_footer_contact--modular .line--social {
        margin-top: 8px;
    }
}

@media (max-width:991.98px) {
    .modular-page-shell .block_footer_contact--modular {
        padding: 40px 0 44px;
        background: var(--modular-paper);
        color: var(--modular-ink);
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-grid {
        grid-template-columns: minmax(0,1fr);
        gap: 32px;
        align-items: stretch;
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-showroom {
        display: flex;
        min-width: 0;
        flex-direction: column;
        align-items: stretch;
    }
    .modular-page-shell .block_footer_contact--modular .pic {
        width: 100%;
        max-height: none;
        margin: 0 0 18px;
        aspect-ratio: 3/2;
        background-position: center;
        background-size: cover;
    }
    .modular-page-shell .block_footer_contact--modular .text {
        margin: 0 0 16px;
        color: #4f5a60;
        font-size: 14px;
        line-height: 1.45;
    }
    .modular-page-shell .block_footer_contact--modular .showroom-map-trigger {
        min-height: 40px;
        margin: 0 0 16px;
        border-color: rgba(31,40,45,.24);
        color: #303a3f;
        font-size: 14px;
    }
    .modular-page-shell .block_footer_contact--modular .showroom-map-trigger:hover {
        border-color: rgba(178,139,36,.72);
        color: var(--modular-ink);
    }
    .modular-page-shell .block_footer_contact--modular .goldbutton {
        width: 100%;
        min-height: 50px;
        padding: 0 20px;
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-details {
        min-width: 0;
        align-self: stretch;
    }
    .modular-page-shell .block_footer_contact--modular h2 {
        max-width: 620px;
        margin: 0 0 22px;
        color: var(--modular-ink);
        font-size: clamp(25px,4vw,31px);
        line-height: 1.15;
    }
    .modular-page-shell .block_footer_contact--modular .avatar {
        min-height: 58px;
        margin: 0 0 24px;
        padding-left: 72px;
        color: var(--modular-ink);
        background-size: 58px;
    }
    .modular-page-shell .block_footer_contact--modular .avatar .desc {
        color: #7b8489;
    }
    .modular-page-shell .block_footer_contact--modular .line {
        display: flex;
        min-width: 0;
        min-height: 36px;
        margin: 0 0 14px;
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
        color: #626d72;
    }
    .modular-page-shell .block_footer_contact--modular .halfline {
        min-width: 0;
        min-height: 36px;
        margin: 0;
        padding: 3px 0;
        color: var(--modular-ink);
        white-space: nowrap;
        overflow-wrap: normal;
    }
    .modular-page-shell .block_footer_contact--modular .halfline:hover {
        color: var(--modular-gold);
        background: transparent;
    }
    .modular-page-shell .block_footer_contact--modular .line--social {
        min-height: 44px;
        margin: 8px 0 0;
        gap: 10px;
    }
    .modular-page-shell .block_footer_contact--modular .tg,
    .modular-page-shell .block_footer_contact--modular .wa {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        background-size: 33px;
    }
}

@media (max-width:359.98px) {
    .modular-page-shell .block_footer_contact--modular {
        padding: 34px 0 38px;
    }
    .modular-page-shell .block_footer_contact--modular .footer-contact-grid {
        gap: 28px;
    }
    .modular-page-shell .block_footer_contact--modular h2 {
        font-size: 24px;
    }
    .modular-page-shell .block_footer_contact--modular .line {
        font-size: 14px;
    }
    .modular-page-shell .block_footer_contact--modular .halfline {
        font-size: 14px;
    }
}
