/* ── контакты: шоурум, карта во всю ширину ── */
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px}
.visit__card{display:flex;flex-direction:column;gap:22px;padding:clamp(24px,3vw,44px);border-radius:28px;color:#f3f1ec;
    background:linear-gradient(128deg,#25272a,#1b1c1e 50%,#222326);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 24px 40px -28px rgba(0,0,0,.6)}
/* перелив за курсором: серебристое пятно + мягкий вытянутый блик + тонкий блик по кромке листа. Позиция — --mx/--my из JS, на касание/без мыши пятно спрятано */
.visit__card{position:relative;isolation:isolate;overflow:hidden;--mx:70%;--my:20%;--o:0}
.visit__card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--o);transition:opacity .4s;
    /* серебристый перелив: мягкое светлое пятно + косая полоса блика, как по металлу */
    background:
      radial-gradient(260px circle at var(--mx) var(--my),rgba(255,255,255,.14),rgba(220,224,230,.06) 45%,transparent 70%),
      radial-gradient(520px 200px at var(--mx) var(--my),rgba(225,230,238,.05),transparent 70%);   /* блик — вытянутый мягкий эллипс вместо резкой полосы */
    mix-blend-mode:screen}
.visit__card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;opacity:var(--o);transition:opacity .4s;
    background:radial-gradient(240px circle at var(--mx) var(--my),rgba(255,255,255,.6),rgba(200,206,214,.25) 45%,transparent 72%);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
@media(prefers-reduced-motion:reduce){
  .visit__card::before,.visit__card::after{display:none}
}
.visit__card .h2{color:#f3f1ec;font-size:clamp(36px,3.6vw,56px)}
.visit__lead{margin:0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.7)}
.visit__list{display:grid;gap:0;margin:0}
.visit__list>div{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.1)}
.visit__list dt{font-size:13px;color:rgba(255,255,255,.5)}
.visit__list dd{margin:0;font-size:15px;font-weight:600}
.visit__list a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.visit__list a:hover{border-color:var(--y)}
.visit__card a.tel{margin-top:auto;font-family:var(--font-head);font-weight:800;font-size:clamp(34px,3.2vw,48px);line-height:1;color:var(--y);text-decoration:none}
.visit__route{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:44px;padding:0 18px;border-radius:99px;
    color:#f3f1ec;text-decoration:none;font-size:15px;font-weight:600;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.2);transition:background .2s,color .2s}
.visit__route:hover{background:var(--y);color:var(--ink);box-shadow:none}
.visit__route:hover .arr{transform:translateX(3px)}
/* карта на листе: белый поясок вокруг, как у работ портфолио */
.visit__map{min-height:520px;padding:8px;border-radius:28px;
    background:linear-gradient(128deg,#fff 0%,#f3f3f2 30%,#fff 44%,#fafaf9 62%,#efefee 86%,#fff 100%);
    box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(20,18,18,.05),0 1px 2px rgba(20,18,18,.08),0 24px 40px -28px rgba(20,18,18,.35)}
/* карта не перехватывает колесо и свайп, пока по ней не кликнули. Прозрачная крышка поверх iframe; клик/тап снимает её, уход курсора или прокрутка карты за экран — возвращает */
.visit__map{position:relative}
.visit__lock{position:absolute;inset:8px;z-index:1;display:grid;place-items:end center;padding:0 0 18px;border:0;border-radius:21px;background:transparent;cursor:pointer}
.visit__lock span{padding:9px 16px;border-radius:99px;background:rgba(20,18,18,.82);color:#fff;font:600 14px/1.2 var(--font-body);opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;pointer-events:none}
.visit__lock:hover span,.visit__lock:focus-visible span,.visit__lock.is-hint span{opacity:1;transform:none}
.visit__lock:focus-visible{outline:3px solid var(--y);outline-offset:-3px}
.visit__map.is-live .visit__lock{display:none}
.visit__map iframe{display:block;width:100%;height:100%;min-height:504px;border:0;border-radius:21px;background:var(--panel)}
@media(max-width:900px){
  .visit{grid-template-columns:1fr}
  .visit__map{min-height:340px}
  .visit__map iframe{min-height:324px}
}
