/* ===== Раздел «Развитие территорий» — nk.group =====
   Шрифты и цвета — из шаблона сайта (fonts2.css / styles.min.css).
   Всё под префиксом terr-, стили сайта не переопределяются. */

.terr, .terr-hero {
    --terr-orange: #f09f54;
    --terr-orange-dark: #e08a3c;
    --terr-ink: #32343d;
    --terr-text: #2d2d2d;
    --terr-muted: #54565a;
    --terr-grey-bg: #edecea;
    --terr-line: #e0e0e0;
}

/* ---------- 1. Шапка ---------- */
.terr-hero {
    background-position: 50% 50%;
}
.terr-hero .nbc_txt {
    /* размер как на «Работе в NK Group» и «Партнерам» — 25/40 */
    max-width: 1130px;
    margin: 0 auto 18px;
}
.terr-hero .nbc_txt:last-child {
    margin-bottom: 0;
}

/* ---------- общие ---------- */
.terr {
    color: var(--terr-text);
    font: 300 19px/31px DinDisplayPro, Arial, sans-serif;
}
.terr *, .terr *:before, .terr *:after {
    box-sizing: border-box;
}
/* ширина контента — повторяет .w1660 сайта на всех размерах экрана */
.terr-wrap {
    max-width: 1660px;
    margin: 0 auto;
}
@media (max-width: 1690px) { .terr-wrap { max-width: 1450px; } }
@media (max-width: 1500px) { .terr-wrap { max-width: 1300px; } }
@media (max-width: 1350px) { .terr-wrap { max-width: 1100px; } }
@media (max-width: 1150px) { .terr-wrap { max-width: 900px; padding: 0 15px; } }
/* заголовок блока — как «Индустриальные Парки» на главной (.ops_ttl h1) */
.terr-title {
    margin: 0 0 35px;
    color: var(--terr-ink);
    font: 500 27px/32px DinDisplayPro, Arial, sans-serif;
    text-transform: uppercase;
    text-align: center;
}
.terr-lead {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

/* ---------- 2. Как мы работаем ---------- */
.terr-how {
    padding: 70px 0;
}
/* заголовок → описание 20px, описание → карточки 35px (как в блоке новостей) */
.terr-how .terr-title {
    margin-bottom: 20px;
}
.terr-how .terr-lead {
    margin-top: 0;
}
.terr-how__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 35px;
}
/* карточки — как «Почему выбирают» на странице парка, но на белом фоне
   и с серой обводкой: крупная оранжевая цифра слева, заголовок по центру, текст слева */
.terr-how__card {
    display: flex;
    align-items: center;
    padding: 30px 0;
    background: #fff;
    border: 1px solid var(--terr-line);
}
.terr-how__num {
    position: relative;
    flex: 0 0 46px;
    color: var(--terr-orange);
    font: 61px/61px DinDisplayPro, Arial, sans-serif;
    text-align: right;
}
/* тонкая серая линия между цифрой и текстом — как на странице парка */
.terr-how__num:after {
    content: "";
    position: absolute;
    top: 0;
    left: 66px;
    width: 1px;
    height: 64px;
    background: #d6d6d6;
}
.terr-how__txt {
    /* цифра стоит по центру карточки, а текст — всегда от верха,
       чтобы заголовки во всех четырёх карточках были на одной линии */
    align-self: flex-start;
    flex: 1 1 auto;
    margin-left: 60px;
    padding-right: 15px;
}
.terr-how__card h3 {
    margin: 0 0 14px;
    color: #333;
    font: 700 24px/26.4px "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-align: center;
}
.terr-how__card p {
    margin: 0;
    color: #35353f;
    font: 300 19px/28px DinDisplayPro, Arial, sans-serif;
}

/* ---------- 3. Текущая территория диалога ---------- */
.terr-place {
    padding: 0 0 70px;
}
/* вариант 3: фото во всю левую половину экрана, текст справа,
   круг со стрелкой на стыке — как блоки на странице «Строительство» */
.terr-place__wide {
    width: 100%;
}
.terr-place__row {
    position: relative;
    display: flex;
    align-items: stretch;
}
.terr-place__photo {
    position: relative;
    flex: 0 0 50%;
    min-height: 570px;
    overflow: hidden;
}
/* фото увеличивается при наведении — как в блоках на «Строительстве» */
.terr-place__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform .5s;
}
.terr-place__row:hover .terr-place__bg {
    transform: scale(1.1);
}
/* круг со стрелкой на границе фото и текста */
.terr-place__arw {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -45px;
    z-index: 2;
    width: 90px;
    height: 90px;
    margin-top: -45px;
    border-radius: 100%;
    background: #f6dfa4;
}
.terr-place__arw:after {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    width: 70px;
    height: 70px;
    border-radius: 100%;
    background: #fff;
}
.terr-place__arw:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    width: 12px;
    height: 12px;
    border: solid var(--terr-orange);
    border-width: 2px 2px 0 0;
    transform: translateX(-4px) rotate(45deg);
}
.terr-place__photo:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 45%;
    background: linear-gradient(transparent, rgba(0,0,0,.55));
}
.terr-place__caption {
    position: absolute;
    left: 30px;
    bottom: 26px;
    z-index: 1;
    color: #fff;
    font: 500 18px/22px PFDinTextCondPro, Arial, sans-serif;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.terr-place__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex: 0 0 50%;
    padding: 50px 60px 50px 140px;
    background: #fff;
}
/* надпись над заголовком — как «Индустриальные здания» на главной (.otv_ttl p) */
.terr-place__label {
    display: block;
    margin-bottom: 7px;
    color: #bbb;
    font: 19px/19px DinDisplayPro, Arial, sans-serif;
    text-transform: uppercase;
}
.terr-place__text h3 {
    margin: 0 0 24px;
    color: var(--terr-ink);
    font: 500 36px/40px PFDinTextCompPro, Arial, sans-serif;
    text-transform: uppercase;
}
.terr-place__text p {
    max-width: 680px;
    margin: 0 0 16px;
    font: 300 18px/29px DinDisplayPro, Arial, sans-serif;
}
.terr-place__text p:last-child {
    margin-bottom: 0;
}

/* ---------- 4. Присоединяйтесь к диалогу ---------- */
.terr-cta {
    padding: 70px 0;
    background: var(--terr-grey-bg);
    text-align: center;
}
/* оформление как у «Построим Ваше здание» на «Строительстве»:
   оранжевая полоса, крупный заголовок, подпись и большая стрелка вниз */
.terr-cta__line {
    display: inline-block;
    width: 17px;
    height: 73px;
    margin: 0 0 28px;
    background: var(--terr-orange);
}
.terr-cta__ttl {
    margin: 0;
    color: var(--terr-ink);
    font: 500 52px/52px PFDinTextCompPro, Arial, sans-serif;
    text-transform: uppercase;
}
.terr-cta .terr-lead {
    margin: 14px auto 0;
    color: var(--terr-orange);
    font: 500 27px/32px DinDisplayPro, Arial, sans-serif;
    text-transform: uppercase;
}
.terr-cta__arw {
    margin: 34px 0 0;
    line-height: 0;
}
.terr-cta__arw img {
    width: 106px;
    height: 93px;
}
/* кнопка — как «Показать все парки» на главной (.show_all_parks_btn) */
.terr-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 35px;
    padding: 21px 40px;
    color: #fff;
    background: var(--terr-orange);
    border: 1px solid var(--terr-orange);
    border-radius: 3px;
    font: 19px/22px DinDisplayPro, Arial, sans-serif;
    text-decoration: none;
    transition: background .35s, border-color .35s;
}
.terr-cta__btn:hover, .terr-cta__btn:focus {
    color: #fff;
    background: var(--terr-orange-dark);
    border-color: var(--terr-orange-dark);
    text-decoration: none;
}
.terr-cta__vk {
    width: 28px;
    height: 28px;
    fill: currentColor;
    flex: 0 0 auto;
}

/* ---------- 5. Новости ---------- */
.terr-news {
    padding: 70px 0;
}
/* список: фото слева, текст справа, «Подробнее» у правого края,
   карточки разделены серой линией */
.terr-news__list {
    /* расстояние от заголовка до блока — 35px, как на главной (.ops_ttl) */
    margin-top: 0;
    border-top: 1px solid #e0e0e0;
}
.terr-news__card {
    display: flex;
    align-items: center;
    gap: 80px;
    padding: 17px 0;
    border-bottom: 1px solid #e0e0e0;
}
/* фото: увеличение при наведении, как на карточках парков */
.terr-news__photo {
    display: block;
    flex: 0 0 480px;
    height: 270px;
    overflow: hidden;
    background: #ececea;
}
.terr-news__photo .bg {
    display: block;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    transition: transform .5s;
}
.terr-news__card:hover .terr-news__photo .bg {
    transform: scale(1.15);
}
.terr-news__photo--stub {
    border: 1px dashed #c9c9c7;
}
.terr-news__photo--stub .bg {
    display: flex;
    align-items: center;
    justify-content: center;
}
.terr-news__photo--stub i {
    color: #9a9a97;
    font: 500 15px/18px PFDinTextCondPro, Arial, sans-serif;
    font-style: normal;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.terr-news__body {
    flex: 1 1 auto;
}
/* заголовок новости — как «Немецкие технологии» на странице «Заводы» */
.terr-news__card h3 {
    margin: 0 0 14px;
    color: var(--terr-ink);
    font: 300 30px/40px DinDisplayPro, Arial, sans-serif;
    transition: color .3s;
}
.terr-news__card:hover h3 {
    color: var(--terr-orange);
}
/* описание новости — как текст под «Немецкими технологиями» на «Заводах» */
.terr-news__card p {
    margin: 0;
    max-width: 800px;
    color: var(--terr-ink);
    font: 300 19px/25px DinDisplayPro, Arial, sans-serif;
}
/* кнопка как на карточках парков: кружок со стрелкой + текст строчными */
.terr-news__more {
    position: relative;
    flex: 0 0 auto;
    display: inline-block;
    padding: 0 0 0 48px;
    color: var(--terr-ink);
    font: 19px/36px DinDisplayPro, Arial, sans-serif;
    text-decoration: none;
    transition: color .35s;
}
.terr-news__more > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 36px;
    height: 36px;
    border-radius: 100%;
}
.terr-news__more > span:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    border: 1px solid #c9c9c7;
    border-radius: 100%;
    transition: border-color .35s;
}
.terr-news__more > span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 7px;
    height: 7px;
    border: solid var(--terr-ink);
    border-width: 1.5px 1.5px 0 0;
    transform: translateX(-2px) rotate(45deg);
    transition: border-color .35s;
}
.terr-news__card:hover .terr-news__more,
.terr-news__more:hover, .terr-news__more:focus {
    color: var(--terr-orange);
    text-decoration: none;
}
.terr-news__card:hover .terr-news__more > span:after,
.terr-news__more:hover > span:after {
    border-color: var(--terr-orange);
}
.terr-news__card:hover .terr-news__more > span:before,
.terr-news__more:hover > span:before {
    border-color: var(--terr-orange);
}

/* ---------- адаптив ---------- */
@media (max-width: 1150px) {
    .terr-how__grid { grid-template-columns: repeat(2, 1fr); }

}
@media (max-width: 950px) {
    .terr-place__row { flex-direction: column; }
    .terr-place__photo { flex: 0 0 auto; min-height: 360px; }
    .terr-place__text { padding: 36px 30px; }
    .terr-place__arw { display: none; }
    .terr-news__list { margin-top: 0; }
    .terr-news__card { gap: 26px; flex-wrap: wrap; }
    .terr-news__photo { flex: 0 0 260px; height: 150px; }
    .terr-news__more { flex: 0 0 100%; }
}
@media (max-width: 768px) {
    .terr-hero .nbc_txt { font: 300 18px/28px DinDisplayPro, Arial, sans-serif; }
    .terr { font: 300 17px/27px DinDisplayPro, Arial, sans-serif; }
    .terr-title { font: 500 24px/30px DinDisplayPro, Arial, sans-serif; margin-bottom: 28px; }
    .terr-how, .terr-cta, .terr-news { padding: 56px 0 60px; }
    .terr-place { padding-bottom: 60px; }
}
@media (max-width: 550px) {
    .terr-how__grid { grid-template-columns: 1fr; gap: 16px; }
    .terr-how__card { padding: 26px 22px 28px; }
    .terr-title { font: 500 22px/28px DinDisplayPro, Arial, sans-serif; }
    .terr-place__photo { min-height: 240px; }
    .terr-place__caption { left: 20px; bottom: 18px; font-size: 16px; }
    .terr-place__text { padding: 28px 22px; }
    .terr-place__text h3 { font: 500 30px/34px PFDinTextCompPro, Arial, sans-serif; }
    .terr-cta__btn { gap: 12px; padding: 18px 24px; font-size: 18px; }
    .terr-news__card { flex-direction: column; align-items: stretch; gap: 18px; padding: 26px 0; }
    .terr-news__photo { flex: 0 0 auto; width: 100%; height: 190px; }
}
