/* Контакты: фон на всю секцию, крупная форма, карта и нижняя контактная панель. */
#contacts{
    position:relative;
    isolation:isolate;
    background:#f7fbfc;
}

#contacts::before{
    content:"";
    position:absolute;
    inset:var(--header-h) 0 0;
    z-index:-3;
    background-image:var(--contacts-bg,none);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    filter:none;
}

/* Фоновая фотография показывается без размытия и без цветной/белой вуали. */
#contacts::after{
    content:"";
    position:absolute;
    inset:var(--header-h) 0 0;
    z-index:-2;
    pointer-events:none;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}

#contacts .contacts-shell{
    position:relative;
    height:calc(100vh - var(--header-h));
    min-height:564px;
    padding:34px 6.3vw 122px;
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
    grid-template-rows:auto 1fr;
    gap:18px 44px;
    align-items:stretch;
}

#contacts .standard-copy{
    min-width:0;
    max-width:none;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

#contacts .eyebrow{
    margin:0 0 10px;
    color:#8ba1ac;
    font-size:10px;
    letter-spacing:4px;
}

#contacts h2{display:none}

#contacts .lead{
    max-width:690px;
    margin:0 0 18px;
    color:var(--primary);
    font-size:clamp(20px,1.65vw,29px);
    font-weight:500;
    line-height:1.25;
    letter-spacing:-.7px;
}

#contacts .contact-form{
    width:100%;
    min-height:330px;
    margin-top:8px;
    padding:25px 27px 24px;
    display:flex;
    flex-direction:column;
    border:1px solid color-mix(in srgb,var(--primary) 24%,#d5e7eb);
    border-radius:23px;
    background:rgba(255,255,255,.90);
    box-shadow:0 18px 45px rgba(23,56,76,.08);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}

#contacts .contact-form h3{
    margin:0 0 18px;
    color:#24485b;
    font-size:clamp(22px,1.9vw,30px);
    font-weight:500;
    letter-spacing:-.8px;
}

#contacts .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px;
}

#contacts .contact-form input,
#contacts .contact-form textarea{
    width:100%;
    border:1px solid #d1e3e8;
    border-radius:12px;
    outline:none;
    background:rgba(255,255,255,.94);
    color:#24485b;
    font-size:12px;
    transition:border-color .18s,box-shadow .18s;
}

#contacts .contact-form input{height:48px;padding:0 14px;margin-bottom:10px}
#contacts .contact-form textarea{min-height:88px;padding:13px 14px;resize:vertical;margin-bottom:14px}
#contacts .contact-form input:focus,#contacts .contact-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}

#contacts .contact-submit{
    align-self:flex-start;
    min-height:44px;
    padding:0 22px;
    border:0;
    border-radius:999px;
    background:var(--primary);
    color:#fff;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}

#contacts .success-message,#contacts .error-message{
    margin:0 0 10px;
    padding:10px 12px;
    border-radius:10px;
    font-size:10px;
}

#contacts .map{
    position:relative;
    grid-column:2;
    grid-row:1 / span 2;
    min-height:0;
    height:100%;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.75);
    border-radius:25px;
    background:linear-gradient(135deg,rgba(233,245,248,.92),rgba(207,231,238,.88));
    box-shadow:0 18px 45px rgba(23,56,76,.07);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}

#contacts .map-grid{opacity:.52}
#contacts .map-label{box-shadow:0 8px 24px rgba(23,56,76,.08)}

#contacts .contact-info{
    position:absolute;
    left:6.3vw;
    right:6.3vw;
    bottom:38px;
    z-index:5;
    margin:0;
    padding:18px 0 0;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    border-top:2px solid var(--primary);
    background:transparent;
}

#contacts .contact-item{
    min-height:62px;
    padding:10px 18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid color-mix(in srgb,var(--primary) 28%,rgba(255,255,255,.9));
    border-radius:14px;
    background:
        linear-gradient(135deg,
            color-mix(in srgb,var(--primary) 22%,#ffffff) 0%,
            color-mix(in srgb,var(--primary) 11%,#ffffff) 52%,
            rgba(255,255,255,.92) 100%);
    box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 10%,transparent);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
#contacts .contact-item strong{margin:0 0 5px;color:#24485b;font-size:10px;font-weight:700}
#contacts .contact-item span{color:#5f7c89;font-size:11px;line-height:1.35}

#contacts .slide-bottom{display:none}

/* Совместимость блока «О компании» после упрощения разметки: карточки остаются аккуратными 2×2. */
.slide-about .about-stat{
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    align-content:center;
}
.slide-about .about-stat strong,
.slide-about .about-stat span{grid-column:1 !important}
.slide-about .about-benefit{display:flex;align-items:center}

@media(max-height:820px){
    #contacts .contacts-shell{padding-top:22px;padding-bottom:104px;gap:12px 34px}
    #contacts .lead{font-size:20px;margin-bottom:9px}
    #contacts .contact-form{min-height:285px;padding:18px 20px}
    #contacts .contact-form h3{margin-bottom:12px;font-size:22px}
    #contacts .contact-form input{height:42px}
    #contacts .contact-form textarea{min-height:64px}
    #contacts .contact-info{bottom:26px;padding-top:13px}
    #contacts .contact-item{min-height:56px;padding:8px 14px}
}

@media(max-width:900px){
    #contacts{overflow-y:auto}
    #contacts::before,#contacts::after{inset:var(--header-h) 0 0}
    #contacts .contacts-shell{height:auto;min-height:calc(100vh - var(--header-h));display:block;padding:30px 22px 210px}
    #contacts .contact-form{min-height:auto}
    #contacts .map{height:42vh;min-height:310px;margin-top:22px}
    #contacts .contact-info{left:22px;right:22px;bottom:24px;grid-template-columns:1fr 1fr;row-gap:10px}
}

@media(max-width:560px){
    #contacts .form-row{grid-template-columns:1fr}
    #contacts .contacts-shell{padding-bottom:360px}
    #contacts .contact-info{grid-template-columns:1fr}
    #contacts .contact-item{padding:10px 14px}
}
