/* ===== Contacts Page ===== */
.contacts-page{
    background: #161A30;
    color: var(--text-white);
}

.contacts-hero{
    position: relative;
    padding: clamp(calc(var(--nav-offset) * 5), 6vw, 5rem) 0 clamp(calc(var(--nav-offset)* 1), 7vw, 6.5rem);
    overflow: hidden;
}

/* мягкий glow как в твоих секциях */
.contacts-hero::after{
    content:"";
    position:absolute;
    width: clamp(18rem, 30vw, 26rem);
    height: clamp(18rem, 30vw, 26rem);
    top: 50%;
    right: -12rem;
    transform: translate(0,-50%);
    background: rgba(37,99,235,.45);
    box-shadow: 0 0 0 0 rgba(37,99,235,.2);
    filter: blur(10rem);
    border-radius: 999rem;
    pointer-events:none;
}
#contacts-map {
    position: relative;
    z-index: 22;
}
.contacts-hero__inner{
    display: grid;
    grid-template-columns: minmax(18rem, 26rem) 1fr;
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: start;
}

@media (max-width: 61.25rem){
    .contacts-hero__inner{
        grid-template-columns: 1fr;
    }
}

.contacts-hero__title{
    margin-bottom: 1rem;
    font-size: clamp(1.8rem, 3.4vw, 2.6rem);
    font-weight: 500;
    letter-spacing: .01em;
}

.contacts-hero__text{
    margin: 0 0 1.6rem;
    max-width: 38rem;
    color: rgba(244,245,248,.78);
    font-size: var(--fz20);
    line-height: 1.55;
}

/* карточка контактов */
.contacts-card{
    border: 1px solid rgba(244,245,248,.10);
    border-radius: 1.25rem;
    background: rgba(255,255,255,.03);
    backdrop-filter: blur(0.8rem);
    padding: 1.25rem;
}

.contacts-card__title{
    font-size: 1rem;
    letter-spacing: .06em;
    color: rgba(244,245,248,.72);
    margin-bottom: 1rem;
}

.contacts-list{
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .75rem;
}

.contacts-list__item{
    display: grid;
    grid-template-columns: 2.25rem 1fr;
    gap: .75rem;
    align-items: center;
}

.contacts-list__icon{
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999rem;
    display: grid;
    place-items: center;
}

.contacts-list__icon svg{
    width: 1.1rem;
    height: 1.1rem;
    opacity: .9;
}

.contacts-list__link{
    color: rgba(244,245,248,.92);
    text-decoration: none;
    font-size: 1.05rem;
    line-height: 1.35;
}

.contacts-list__link:hover{
    color: var(--primary);
}

.contacts-actions{
    margin-top: 1.25rem;
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
}


.btn--ghost{
    background: var(--c-white);
}

/* ===== необычная "glass-map" ===== */
.glass-map{
    position: sticky;
    top: 9rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(244,245,248,.10);
    background: rgba(255,255,255,.02);
    backdrop-filter: blur(0.9rem);
    overflow: hidden;
    min-height: clamp(22rem, 36vw, 30rem);
}

@media (max-width: 61.25rem){
    .glass-map{ position: relative; top: auto; }
}

.glass-map__header{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(244,245,248,.08);
}

.glass-map__badge{
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .5rem .75rem;
    border-radius: 999rem;
    color: rgba(244,245,248,.88);
    font-size: .95rem;
    border: 1px solid rgba(244,245,248,.12);
    background: rgba(0,0,0,.18);
    backdrop-filter: blur(.8rem);
}

.glass-map__dot{
    width: .55rem;
    height: .55rem;
    border-radius: 999rem;
    background: rgba(37,99,235,.9);
    box-shadow: 0 0 0 .35rem rgba(37,99,235,.18);
}

.glass-map__hint{
    color: rgba(244,245,248,.64);
    font-size: .95rem;
    line-height: 1.35;
    border: 1px solid rgba(244,245,248,.12);
    background: rgba(0,0,0,.18);
    backdrop-filter: blur(.8rem);
}

/* декоративная сетка */
.glass-map__grid{
    position:absolute;
    inset: 0;
    background-image:
            linear-gradient(rgba(244,245,248,.06) 0.0625rem, transparent 0.0625rem),
            linear-gradient(90deg, rgba(244,245,248,.06) 0.0625rem, transparent 0.0625rem);
    background-size: 2.75rem 2.75rem;
    opacity: .25;
    pointer-events:none;
}

/* диагональный луч */
.glass-map__beam{
    position:absolute;
    inset: -20%;
    background: linear-gradient(120deg,
    transparent 35%,
    rgba(37,99,235,.14) 50%,
    transparent 65%
    );
    opacity: .85;
    pointer-events:none;
}

/* кнопка "открыть в картах" */
.glass-map__open{
    position:absolute;
    right: 1rem;
    bottom: 1rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .75rem .95rem;
    border-radius: 999rem;
    border: 1px solid rgba(244,245,248,.14);
    background: rgba(0,0,0,.20);
    color: rgba(244,245,248,.92);
    text-decoration: none;
}

.glass-map__open-ico svg{
    width: 1.15rem;
    height: 1.15rem;
    opacity: .9;
}

.glass-map__frame{
    position:absolute;
    inset: 0; /* под header */
}

.glass-map__frame iframe{
    width: 100%;
    height: 100%;
    border: 0;
    /* необычный стиль: почти монохром + чуть синего */
    filter: grayscale(1) contrast(1.05) brightness(.85) saturate(.75) hue-rotate(200deg);
    opacity: .95;
}

/* метка */
.glass-map__pin{
    position:absolute;
    left: 62%;
    top: 54%;
    z-index: 2;
    width: 1.25rem;
    height: 1.25rem;
    transform: translate(-50%,-50%);
    display: none;
}

.glass-map__ring{
    position:absolute;
    inset: -1.2rem;
    border-radius: 999rem;
    border: 1px solid rgba(244,245,248,.18);
    background: radial-gradient(circle, rgba(37,99,235,.22), transparent 60%);
}

.glass-map__core{
    position:absolute;
    inset: 0;
    border-radius: 999rem;
    background: rgba(37,99,235,.95);
    box-shadow: 0 0 0 .45rem rgba(37,99,235,.18);
}

/* карточка на карте */
.glass-map__card{
    position:absolute;
    left: 1.1rem;
    bottom: 1rem;
    z-index: 2;
    max-width: 20rem;
    padding: .95rem 1rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(244,245,248,.12);
    background: rgba(0,0,0,.18);
    backdrop-filter: blur(.8rem);
}

.glass-map__card-title{
    font-size: 1rem;
    color: rgba(244,245,248,.92);
    margin-bottom: .35rem;
}

.glass-map__card-text{
    font-size: .95rem;
    color: rgba(244,245,248,.70);
    line-height: 1.45;
}

/* нижние блоки */
.contacts-content{
    padding: 0 0 clamp(3.5rem, 7vw, 6rem);
}

.contacts-content__inner {
    margin: var(--fz20) 0 0 0;
}

@media (max-width: 61.25rem){
    .contacts-content__inner{ grid-template-columns: 1fr; }
}

.contacts-note{
    border: 1px solid rgba(244,245,248,.10);
    border-radius: 1.25rem;
    background: rgba(255,255,255,.02);
    padding: 1.25rem;
}

.contacts-note__title{
    margin: 0 0 .5rem;
    font-size: 1.25rem;
    font-weight: 500;
}

.contacts-note__text{
    margin: 0;
    color: rgba(244,245,248,.72);
    font-size: 1rem;
    line-height: 1.55;
}
/* Yandex Maps inside glass-map */
#ymap{
    width: 100%;
    height: 100%;
}

/* делаем карту “кинематографичной” под твой стиль */
#ymap .ymaps-2-1-79-ground-pane,
#ymap .ymaps-2-1-79-copyrights-pane{
    filter: grayscale(1) contrast(1.05) brightness(.85) saturate(.8) hue-rotate(210deg);
    opacity: .96;
}

/* аккуратно притушим элементы, если появятся */
#ymap .ymaps-2-1-79-controls-pane{
    opacity: .85;
}

/* чтобы сетка/луч были поверх карты (у тебя так и есть), а кнопка не мешала клику */
.glass-map__grid,
.glass-map__beam{
    z-index: 1;
}
.glass-map__header,
.glass-map__open,
.glass-map__pin,
.glass-map__card{
    z-index: 2;
}
.glass-map__frame{
    z-index: 0;
}
