/* Контакты: два понятных маршрута обращения. */
.contacts-page .contact-hero { padding-top: 30px; padding-bottom: 48px; }
.contacts-page .contact-breadcrumb { display:flex; gap:12px; margin:0 0 48px; padding:0; width:auto; font-size:13px; color:#9798a7; }
.contacts-page .contact-breadcrumb a { color:#c4c4ce; }
.contacts-page .contact-breadcrumb a:hover { color:var(--home-red); }
.contacts-page .contact-heading { display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:end; }
.contacts-page .contact-heading h1 { font-size:clamp(44px,5.4vw,76px); margin:22px 0 0; letter-spacing:-2px; line-height:1.08; }
.contacts-page .contact-heading > p { font-size:18px; color:var(--home-muted); line-height:1.8; padding-bottom:6px; }
.contacts-page .contact-channels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-bottom:80px; }
.contacts-page .contact-channel { display:flex; flex-direction:column; min-width:0; padding:34px; background:#24252e; border:1px solid #45434e; border-top:3px solid var(--home-red); border-radius:4px; transition:background .35s,border-color .35s,transform .35s; }
.contacts-page .channel-top { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#c6c6d1; font-size:11px; letter-spacing:1.3px; }

.contacts-page .contact-channel h2 { font-size:clamp(25px,2.6vw,35px); letter-spacing:-.6px; margin:27px 0 18px; }
.contacts-page .contact-channel > p { color:var(--home-muted); font-size:16px; line-height:1.8; margin-bottom:36px; max-width:470px; }
.contacts-page .channel-email { display:flex; align-items:center; gap:12px; justify-content:space-between; margin-top:auto; padding-top:24px; border-top:1px solid #494550; color:var(--home-light); text-decoration:none; font-size:clamp(18px,2.05vw,29px); letter-spacing:-.5px; transition:color .25s; }
.contacts-page .channel-email span { font-size:24px; flex-shrink:0; }
.contacts-page .channel-email:hover, .contacts-page .channel-email:focus-visible { color:var(--home-red); text-decoration:none; }
.contacts-page .channel-caption { display:block; color:#a8a8b7; font-size:13px; line-height:1.6; margin-top:10px; }
.contacts-page .contact-preparation { padding:75px 0; background:#17181f; border-block:1px solid var(--home-line); }
.contacts-page .contact-preparation-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; }
.contacts-page .contact-preparation h2 { font-size:clamp(30px,3.1vw,43px); margin-bottom:27px; }
.contacts-page .contact-preparation-layout > div > p:not(.home-kicker) { max-width:430px; font-size:16px; color:var(--home-muted); line-height:1.8; margin-top:16px; }
.contacts-page .contact-guides details { border-bottom:1px solid #45434e; }
.contacts-page .contact-guides details:first-child { border-top:1px solid #45434e; }
.contacts-page .contact-guides summary { display:flex; align-items:center; gap:16px; padding:25px 0; list-style:none; cursor:pointer; font-size:18px; line-height:1.5; color:#f5f5f7; }
.contacts-page .contact-guides summary::-webkit-details-marker { display:none; }
.contacts-page .contact-guides summary > span { font-size:12px; color:#df7185; }
.contacts-page .contact-guides summary::after { content:'+'; margin-left:auto; font-size:24px; color:#df7185; }
.contacts-page .contact-guides details[open] summary::after { content:'−'; }
.contacts-page .contact-guides summary:hover { color:#eaa5b1; }
.contacts-page .contact-guides summary:focus-visible { outline:2px solid #df7185; outline-offset:5px; }
.contacts-page .guide-body { padding:0 16px 25px 33px; }
.contacts-page .guide-body ul { margin:0; padding-left:18px; }
.contacts-page .guide-body li { padding:5px 0; color:var(--home-muted); font-size:15px; line-height:1.8; }
.contacts-page .guide-body li::marker { color:#df7185; }
.contacts-page .contact-bottom { padding-block:38px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.contacts-page .contact-bottom > p { color:var(--home-muted); font-size:16px; }
@media(hover:hover) and (pointer:fine) { .contacts-page .contact-channel:hover { background:#302630; border-color:#a8394d; transform:translateY(-4px); } }
@media(max-width:1000px) { .contacts-page .contact-channel { padding:26px; } .contacts-page .contact-preparation-layout { gap:40px; } .contacts-page .contact-heading { gap:30px; } .contacts-page .contact-heading > p { font-size:16px; } }
@media(max-width:760px) { .contacts-page .contact-heading,.contacts-page .contact-channels,.contacts-page .contact-preparation-layout { grid-template-columns:1fr; } .contacts-page .contact-breadcrumb { margin-bottom:34px; } .contacts-page .contact-heading > p br { display:none; } .contacts-page .contact-heading > p { max-width:480px; } .contacts-page .contact-channels { padding-bottom:50px; gap:20px; } .contacts-page .channel-email { font-size:clamp(18px,4.8vw,28px); } .contacts-page .contact-channel > p { margin-bottom:28px; } .contacts-page .contact-preparation { padding:50px 0; } .contacts-page .contact-bottom { flex-direction:column; align-items:flex-start; gap:12px; } }
@media(max-width:420px) { .contacts-page .contact-channel { padding:22px 18px; } .contacts-page .channel-email { letter-spacing:-.6px; gap:6px; } .contacts-page .contact-guides summary { font-size:16px; gap:12px; } .contacts-page .contact-heading h1 { font-size:42px; letter-spacing:-1.4px; } }
@media(prefers-reduced-motion:reduce) { .contacts-page .contact-channel,.contacts-page .channel-email { transition:none; } .contacts-page .contact-channel:hover { transform:none; } }

.contacts-page .email-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:16px; }
.contacts-page .copy-email { background:transparent; border:1px solid #625863; border-radius:3px; padding:9px 12px; color:var(--home-light); font:inherit; font-size:13px; cursor:pointer; }
.contacts-page .copy-email[hidden] { display:none; }
.contacts-page .copy-email:hover { background:#302630; border-color:#a8394d; }
.contacts-page .copy-status { font-size:13px; color:var(--home-muted); }
.contacts-page .contact-geography { display:grid; grid-template-columns:1fr 1.2fr; gap:60px; padding-bottom:65px; }
.contacts-page .contact-geography h2 { font-size:clamp(30px,3vw,43px); }
.contacts-page .contact-geography > div > p:not(.home-kicker) { color:var(--home-muted); line-height:1.8; margin-top:16px; }
.contacts-page .contact-channel:hover { transform:none; background:#282730; border-color:#65525c; }
@media(max-width:760px) { .contacts-page .contact-geography { grid-template-columns:1fr; gap:16px; padding-bottom:45px; } }

/* First-screen contact composition, with natural overflow on short screens. */
.contacts-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contacts-page .contact-first-screen{display:flex;flex-direction:column;min-height:calc(100vh - var(--contact-top,77px));min-height:calc(100dvh - var(--contact-top,77px));box-sizing:border-box;padding-top:24px;gap:28px}
.contacts-page .contact-channels{padding-bottom:0;gap:24px}
.contacts-page .contact-channel{container-type:inline-size;padding:24px 28px}
.contacts-page .contact-channel h2{font-size:clamp(17px,2vw,29px);font-size:clamp(17px,4.5cqi,29px);white-space:nowrap;line-height:1.25;letter-spacing:-.5px;margin:20px 0 14px}
.contacts-page .contact-channel>p{font-size:15px;line-height:1.65;margin-bottom:20px;max-width:none}
.contacts-page .channel-email{padding-top:16px;font-size:clamp(18px,1.8vw,26px)}
.contacts-page .email-tools{margin-top:12px}
.contacts-page .contact-geography{margin-top:auto;padding-top:22px;padding-bottom:28px;border-top:1px solid var(--home-line);gap:40px}
.contacts-page .contact-geography h2{font-size:clamp(25px,2.5vw,36px);line-height:1.2}
.contacts-page .contact-geography>div>p:not(.home-kicker){font-size:15px;line-height:1.65;margin-top:0;margin-bottom:12px}
.contacts-page .contact-geography>div>p:last-child{margin-bottom:0}
@media(max-width:760px){
 .contacts-page .contact-first-screen{gap:24px;padding-top:20px}
 .contacts-page .contact-channels{gap:18px}
 .contacts-page .contact-channel{padding:22px}
 .contacts-page .contact-geography{gap:16px}
 .contacts-page .channel-email{font-size:clamp(18px,4.8vw,26px)}
}

/* Center the cards vertically in the space above geography. */
.contacts-page .contact-first-screen>.contact-channels{margin-top:auto;margin-bottom:auto}
.contacts-page .contact-first-screen>.contact-geography{margin-top:0}

/* Heading and cards remain one vertically centered group. */
.contacts-page .contact-primary{margin-block:auto}
.contacts-page .contact-primary-heading{margin-bottom:28px}
.contacts-page .contact-primary-heading h1{font-family:inherit;font-size:clamp(32px,3.6vw,50px);font-weight:700;line-height:1.15;letter-spacing:-1px;margin:0;text-align:left}
@media(max-width:760px){.contacts-page .contact-primary-heading{margin-bottom:22px}}
