/* XL company pages: the existing white, blue and outlined-XL composition. */
.info-page { color:#19253a; }
.info-page__inner { padding:clamp(18px,3vh,42px) 0 clamp(20px,3.2vh,46px); }
.info-page .inner__title { font-size:clamp(34px,4.2vw,64px); line-height:1.08; margin:0 0 clamp(22px,4.2vh,58px); color:#17243a; }
.info-page ._container { max-width:1640px; }
/* Разделы «О нас» занимают ровно один экран: главный блок растягивается на всё
   свободное место между шапкой и подвалом, содержимое центрируется в нём —
   иначе текст жался к заголовку, а снизу оставалась пустая полоса. */
.page-about-refined .info-page { display:flex; flex-direction:column; }
.page-about-refined .info-page__inner { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; }
.page-about-refined .inner__body { display:grid; grid-template-columns:200px minmax(0,1fr); gap:clamp(34px,4.4vw,92px); align-content:center; flex:1 1 auto; background-position:35% 25%; background-size:58% auto; }
.page-about-refined .inner__contant { margin:0; padding:0; min-width:0; }
.page-about-refined .inner__left { min-width:0; }
.page-about-refined .submenu { margin:0; }
.page-about-refined .submenu__item { font-size:clamp(21px,1.5vw,28px); line-height:1.15; }
.page-about-refined .submenu__link { display:block; padding:clamp(7px,1.3vh,14px) 0; position:relative; transition:color .2s,transform .2s; }
.page-about-refined .submenu__link:hover { transform:translateX(4px); }
.page-about-refined .submenu__link.here { color:#055eb7; }
.page-about-refined .submenu__link.here::before { content:''; position:absolute; width:3px; top:12px; bottom:12px; left:-12px; background:#ee1b3c; }
.info-intro { font-size:clamp(15px,1.02vw,19px); line-height:1.55; }
.info-intro p+p { margin-top:clamp(9px,1.5vh,18px); }
.about-overview { display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(30px,3.2vw,72px); align-items:start; }
.about-facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,2.4vh,32px) clamp(16px,1.5vw,28px); margin:0; padding:0; }
.about-facts .facts__item { border-color:#c9d2df; padding-top:10px; }
.about-facts .facts__num { font-size:clamp(34px,3.3vw,54px); }
.about-facts .facts__label { font-size:clamp(12px,.85vw,15px); line-height:1.4; letter-spacing:0; color:#64728a; }
.about-history { margin-top:clamp(20px,3.6vh,52px); padding-top:clamp(14px,2.4vh,30px); border-top:1px solid #d9dfe8; }
.about-history h2 { font-size:clamp(19px,1.5vw,26px); color:#233b5e; margin-bottom:clamp(10px,1.8vh,20px); }
.about-history ol { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr); gap:clamp(14px,1.5vw,30px); list-style:none; }
.about-history li { position:relative; }
.about-history strong { display:block; font-family:Oswald,sans-serif; font-weight:500; font-size:clamp(18px,1.45vw,25px); color:#2d5d85; padding-bottom:8px; border-bottom:1px solid #c9d2df; margin-bottom:8px; }
.about-history p { font-size:clamp(13px,.92vw,16px); line-height:1.45; color:#576478; }
.business-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(350px,.98fr); gap:clamp(28px,3.2vw,72px); align-items:stretch; }
.business-summary { display:flex; flex-direction:column; gap:clamp(14px,2.2vh,30px); min-width:0; }
.info-points { display:grid; gap:0; }
.info-points li { display:flex; align-items:baseline; gap:10px; padding:clamp(5px,.9vh,10px) 0; border-bottom:1px solid #e1e6ed; font-size:clamp(13px,.92vw,16px); line-height:1.5; }
.info-index { font-size:12px; color:#7890aa; font-weight:500; letter-spacing:.03em; flex:0 0 18px; }
.business-contact { margin-top:auto; padding-top:2px; }
.contact-symbol { display:inline-flex; justify-content:center; align-items:center; width:34px; height:34px; flex:0 0 34px; border:1px solid #d6e0ed; border-radius:8px; background:#f6f8fc; color:#2b5984; transition:background .25s,color .25s,border-color .25s,transform .25s; }
.contact-symbol svg,.contact-copy svg,.info-email svg,.enquiry__ok svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.contact-phone { border:1px solid #cbd6e5; border-radius:8px; padding:13px 16px; background:linear-gradient(120deg,#fff,#f5f8fc); transition:border-color .25s,box-shadow .25s; min-width:0; }
.contact-phone:hover,.contact-phone:focus-within { border-color:#7d9abc; box-shadow:0 5px 18px #1f3a5c0b; }
.contact-phone__top { display:flex; align-items:center; gap:10px; color:#607188; font-size:10px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.contact-phone__top .contact-symbol { width:28px; height:28px; flex-basis:28px; }
.contact-phone__number { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; color:#1b3458; font-size:clamp(18px,1.5vw,24px); font-weight:600; line-height:1.25; letter-spacing:-.035em; text-transform:none; white-space:nowrap; }
.contact-phone__number:hover { color:#055eb7; }
.contact-phone__arrow { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border:1px solid #bfcde0; border-radius:50%; transition:transform .25s,background .25s; flex:0 0 26px; }
.contact-phone__arrow svg,.info-email>svg:last-child,.enquiry__submit svg,.contact-card__arrow svg,.contact-map__routes svg,.admin-card__link svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.contact-phone__number:hover .contact-phone__arrow { transform:translateX(3px); background:#e7eef8; }
.contact-copy { position:relative; margin-left:auto; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:5px; color:#75859b; transition:color .2s,background .2s; flex-shrink:0; }
.contact-copy:hover { color:#055eb7; background:#e8eef8; }
.contact-copy__status { position:absolute; right:0; bottom:calc(100% + 6px); font-size:10px; line-height:1.5; background:#172b4b; color:white; border-radius:5px; padding:5px 8px; white-space:nowrap; text-transform:none; font-weight:400; letter-spacing:0; }
.contact-copy__status:empty { display:none; }
.info-email { display:flex; align-items:center; gap:10px; font-size:12px; line-height:1.4; text-transform:none; margin-top:10px; }
.career-directions { display:grid; gap:clamp(7px,1.1vh,14px); }
.career-directions details { border:1px solid #d8e0ea; border-radius:6px; background:#ffffffb3; overflow:hidden; transition:border-color .2s; }
.career-directions details[open] { border-color:#8da7c7; }
.career-directions summary { display:flex; gap:8px; align-items:center; cursor:pointer; list-style:none; padding:clamp(11px,1.8vh,20px) 14px; font-size:clamp(13px,.95vw,17px); line-height:1.45; font-weight:500; }
.career-directions summary:hover { color:#055eb7; }
.career-directions summary::-webkit-details-marker,.contact-transit summary::-webkit-details-marker { display:none; }
.career-plus { width:14px; height:14px; position:relative; flex:0 0 14px; margin-left:auto; color:#6d819e; }
.career-plus::before,.career-plus::after { content:''; position:absolute; left:0; top:6px; height:1px; width:14px; background:currentColor; transition:transform .25s; }
.career-plus::after { transform:rotate(90deg); }
details[open]>summary .career-plus::after { transform:rotate(0); }
.career-directions details>div { padding:0 13px 14px 39px; font-size:15px; line-height:1.5; color:#576478; }

/* One considered form instead of a stack of generic inputs. */
.enquiry { position:relative; display:grid; gap:clamp(8px,1.05vh,13px); padding:clamp(14px,1.7vh,23px); background:#fff; border:1px solid #ccd6e4; border-radius:10px; box-shadow:0 12px 36px #192e4c0b; }
.enquiry::before { content:''; position:absolute; left:20px; top:-1px; width:42px; height:2px; background:#ee1b3c; }
.enquiry__kicker { display:block; color:#738099; font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; margin-bottom:5px; }
.enquiry__heading h2 { font-size:30px; line-height:1.15; color:#213858; }
.enquiry__heading p { font-size:14px; line-height:1.4; color:#718097; margin-top:5px; }
.enquiry__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.enquiry__field { display:flex; flex-direction:column; gap:4px; min-width:0; }
.enquiry__field>span { font-size:14px; font-weight:500; line-height:1.3; color:#52637a; }
.enquiry input:not([type=hidden]),.enquiry select,.enquiry textarea { width:100%; min-width:0; border:1px solid #d4ddea; border-radius:5px; padding:9px 11px; font:400 16px/1.3 Inter,Arial,sans-serif; color:#192e4d; background:#f9fbfd; transition:background .2s,border-color .2s,box-shadow .2s; }
.enquiry select { height:41px; padding-right:24px; }
.enquiry textarea { min-height:65px; resize:vertical; }
.enquiry input::placeholder,.enquiry textarea::placeholder { color:#8593a7; font-size:14px; }
.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus { background:#fff; border-color:#2e699e; box-shadow:0 0 0 3px #2264a610; outline:none; }
.enquiry__submit { display:flex; justify-content:space-between; align-items:center; width:100%; gap:15px; border:1px solid #243e62; border-radius:5px; background:linear-gradient(120deg,#172b4b,#305d85); color:#fff; font-size:15px; font-weight:500; padding:11px 14px; line-height:1.3; transition:background .25s,box-shadow .25s; }
.enquiry__submit:hover { background:#174878; box-shadow:0 5px 16px #1b43631f; }
.enquiry__submit svg { transition:transform .25s; }
.enquiry__submit:hover svg { transform:translateX(3px); }
.enquiry__submit:disabled { cursor:wait; opacity:.7; }
.enquiry__note { color:#728097; font-size:12px; line-height:1.4; margin-top:8px; }
.enquiry__error { color:#9b1835; font-size:14px; line-height:1.5; }
.enquiry__ok { display:none; align-items:center; gap:12px; padding:16px; border:1px solid #bbd4c9; border-radius:6px; background:#f1f8f5; color:#23503d; font-size:16px; line-height:1.5; }
.enquiry.sent .enquiry__ok { display:flex; }
.enquiry.sent>.enquiry__row,.enquiry.sent>.enquiry__field,.enquiry.sent>.enquiry__footer { display:none; }
.enquiry__ok svg { flex:0 0 22px; }
.page-about-refined .contact-phone { padding:12px 15px; }
.page-about-refined .contact-phone__top { font-size:12px; letter-spacing:.025em; }
.page-about-refined .contact-phone__number { font-size:26px; }
.page-about-refined .contact-copy__status { font-size:12px; }
.page-about-refined .info-email { font-size:15px; }
.visitor-rules .info-intro { max-width:780px; margin-bottom:clamp(16px,2.8vh,38px); }
.visitor-rules .spoiler__label { font-family:Inter,Arial,sans-serif; font-weight:500; font-size:clamp(15px,1.05vw,19px); line-height:1.45; text-transform:none; padding:clamp(13px,2.1vh,24px) 0; }
.visitor-rules .spoiler__item { border-color:#d9e1eb; }
.visitor-rules .spoiler__label span { flex-basis:18px; width:18px; height:18px; }
.visitor-rules .spoiler__label span::before,.visitor-rules .spoiler__label span::after { width:18px; height:1px; }
.visitor-rules .spoiler__text { font-size:16px; line-height:1.5; color:#576478; padding:0 32px 16px 0; }
.visitor-rules .spoiler__text p:last-child { margin-bottom:0; }
/* ссылка на полный текст правил (страница документа /documents/…) */
.rules-full { display:inline-flex; align-items:center; gap:10px; margin-top:clamp(16px,2.8vh,34px); font-size:clamp(15px,1.02vw,18px); font-weight:500; line-height:1.4; color:#055eb7; text-transform:none; }
.rules-full svg { flex:0 0 auto; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.rules-full>svg:last-child { width:18px; height:18px; transition:transform .2s; }
.rules-full span { padding-bottom:2px; border-bottom:1px solid rgba(5,94,183,.3); transition:border-color .2s; }
.rules-full:hover span { border-color:currentColor; }
.rules-full:hover>svg:last-child { transform:translateX(4px); }
/* Полоса прокрутки на этих страницах есть всегда: когда раскрытые пункты
   перестают помещаться в экран, она появлялась, страница сужалась — все кегли
   на vw пересчитывались, текст «прыгал» по размеру. scrollbar-gutter здесь не
   годится: пустой резерв закрашивается фоном страницы и даёт белую полосу
   рядом с тёмным подвалом. */
html:has(> body.page-about-refined) { overflow-y:scroll; }

/* Contacts: useful actions, restrained frames, one icon style. */
.contact-top { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:start; }
.contact-map { padding:12px; border:1px solid #ccd7e5; border-radius:10px; background:#fff; box-shadow:0 10px 30px #1d35530a; }
.contact-map__header { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:11px; font-weight:500; color:#253c5c; }
.contact-map__address { margin-left:auto; font-size:10px; color:#7d8a9b; }
.contact-map__canvas { position:relative; height:clamp(285px,37vh,410px); border:1px solid #dbe2eb; border-radius:5px; overflow:hidden; background:#f2f5f8; }
.contact-map iframe { display:block; width:100%; height:100%; border:0; }
.contact-map__routes { display:flex; gap:10px; margin-top:12px; }
.contact-map__routes a { display:flex; align-items:center; justify-content:space-between; gap:14px; flex:1; padding:11px 12px; border:1px solid #c9d5e5; border-radius:5px; font-size:10px; font-weight:500; color:#294d75; text-transform:none; }
.contact-map__routes a:hover { background:#f0f5fb; border-color:#829fbf; }
.contact-map__routes svg { flex:0 0 18px; transition:transform .25s; }
.contact-map__routes a:hover svg { transform:translateX(3px); }
.contact-summary { display:grid; gap:12px; }
.contact-card { position:relative; padding:14px; display:flex; align-items:flex-start; gap:12px; border:1px solid #d3dce8; border-radius:8px; background:#fff; transition:border-color .25s,background .25s; min-width:0; }
.contact-card:hover { border-color:#89a2c0; background:#fafcfe; }
.contact-card:hover .contact-symbol,.contact-phone:hover .contact-symbol,.admin-card:hover>.contact-symbol { border-color:#a8bed9; background:#eaf1fa; transform:translateY(-1px); }
.contact-label { display:block; font-size:10px; font-weight:500; letter-spacing:.025em; line-height:1.5; color:#687b94; text-transform:uppercase; }
.contact-card p { margin-top:5px; font-size:13px; line-height:1.5; text-transform:none; color:#1e3453; }
.contact-card__arrow { margin:auto 0 auto auto; color:#617895; flex-shrink:0; }
.contact-summary__pair { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:12px; }
.contact-card--hours { display:grid; grid-template-columns:28px 1fr; gap:7px 10px; align-items:center; padding:13px; }
.contact-card--hours .contact-symbol { width:28px; height:28px; flex-basis:28px; }
.contact-card--hours strong { grid-column:1/-1; white-space:nowrap; font-size:19px; font-weight:500; letter-spacing:-.04em; line-height:1.2; color:#213b60; }
.contact-card--hours strong span { color:#90a0b4; padding:0 6px; font-size:14px; }
.contact-summary .contact-phone__number { font-size:19px; }
.contact-hours-note { margin:-2px 4px 0; font-size:10px; line-height:1.5; color:#7b889c; }
.contact-card--parking { background:#f6f9fd; }
.contact-card--parking p { font-size:11px; color:#5c6c82; }
.contact-transit { border:1px solid #d4deeb; border-radius:8px; background:#fff; }
.contact-transit summary { display:flex; align-items:center; gap:12px; padding:12px 14px; list-style:none; cursor:pointer; font-size:12px; font-weight:500; color:#2c4668; }
.contact-transit summary:hover { color:#055eb7; }
.contact-transit ul { padding:0 18px 16px 59px; }
.contact-transit li { position:relative; font-size:11px; line-height:1.6; color:#64748b; margin-bottom:8px; }
.contact-transit li::before { content:''; position:absolute; left:-12px; top:.6em; width:4px; height:4px; border-radius:50%; background:#728baa; }
.contact-summary .social { margin:0; }
.contact-administration { margin-top:28px; padding-top:20px; border-top:1px solid #d9e1eb; }
.contact-administration__heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.contact-administration__heading>span { color:#7d8b9e; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.contact-administration__heading h2 { font-size:28px; color:#213958; }
.contact-administration__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.admin-card { min-width:0; padding:15px; border:1px solid #ced9e8; border-radius:8px; background:#f8fafc; transition:border-color .25s,box-shadow .25s; }
.admin-card:hover { border-color:#89a3c2; box-shadow:0 6px 22px #203c5e09; }
.admin-card .contact-phone { padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.admin-card .contact-phone__number { font-size:21px; }
.admin-card__link { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #dce4ee; margin-top:13px; padding-top:11px; color:#426183; font-size:10px; line-height:1.3; text-transform:none; }
.admin-card__link svg { flex-shrink:0; }
.admin-card--hours { display:grid; grid-template-columns:28px 1fr; gap:6px 10px; align-content:start; }
.admin-card--hours>.contact-symbol { width:28px; height:28px; flex-basis:28px; }
.admin-card--hours p { grid-column:1/-1; font-size:12px; line-height:1.6; color:#3f536f; margin-top:4px; }
.info-page a:focus-visible,.info-page button:focus-visible,.info-page summary:focus-visible { outline:2px solid #055eb7; outline-offset:3px; }
/* Обратная связь (15.10.2026): предложения, жалобы, благодарности — та же форма,
   что у заявок арендаторов, слева — о чём можно написать. */
.contact-feedback { margin-top:28px; padding-top:20px; border-top:1px solid #d9e1eb; }
.contact-feedback__body { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,3vw,64px); align-items:start; }
.contact-feedback__intro { display:grid; gap:16px; }
.contact-feedback__intro>p { font-size:clamp(15px,1.02vw,18px); line-height:1.55; color:#2c3e57; max-width:520px; }
.contact-feedback .enquiry textarea { min-height:110px; }
#contact-feedback { scroll-margin-top:92px; }

/* Невысокий экран: раздел всё равно обязан умещаться целиком, поэтому
   ужимается то, что занимает высоту, — поля формы, цифры и подписи. */
@media(min-width:1024px) and (max-height:900px) {
 .info-page__inner { padding:16px 0 20px; }
 .page-about-refined .info-page__inner { padding-bottom:16px; }
 .info-page .inner__title { font-size:clamp(30px,3vw,44px); margin-bottom:clamp(14px,2.4vh,26px); }
 .business-summary { gap:clamp(11px,1.7vh,20px); }
 .info-points li { padding:clamp(5px,.9vh,10px) 0; font-size:14px; }
 .about-facts .facts__num { font-size:clamp(30px,2.6vw,42px); }
 .about-facts .facts__label { font-size:12px; }
 .about-history { margin-top:clamp(14px,2.2vh,26px); padding-top:clamp(10px,1.6vh,18px); }
 .about-history h2 { font-size:19px; margin-bottom:9px; }
 .about-history ol { gap:16px; }
 .about-history strong { font-size:17px; padding-bottom:6px; margin-bottom:6px; }
 .about-history p { font-size:13px; }
 .info-intro { font-size:15px; line-height:1.5; }
 .enquiry { padding:clamp(13px,1.8vh,20px); gap:clamp(7px,1.1vh,12px); }
 .enquiry__heading h2 { font-size:23px; }
 .enquiry__heading p { font-size:12.5px; margin-top:3px; }
 .enquiry__kicker { font-size:10.5px; margin-bottom:3px; }
 .enquiry__field>span { font-size:12.5px; }
 .enquiry input:not([type=hidden]),.enquiry select,.enquiry textarea { padding:7px 10px; font-size:14.5px; }
 .enquiry select { height:34px; }
 .enquiry textarea { min-height:50px; }
 .enquiry input::placeholder,.enquiry textarea::placeholder { font-size:12.5px; }
 .enquiry__submit { padding:9px 13px; font-size:14px; }
 .enquiry__note { font-size:11px; margin-top:4px; }
 .enquiry__row { gap:10px; }
 .page-about-refined .contact-phone { padding:9px 13px; }
 .page-about-refined .contact-phone__top { font-size:10.5px; }
 .page-about-refined .contact-phone__number { font-size:21px; margin-top:5px; }
 .page-about-refined .info-email { font-size:13px; margin-top:7px; }
 .career-directions summary { padding:9px 13px; font-size:14px; }
 .visitor-rules .spoiler__label { padding:clamp(10px,1.6vh,17px) 0; font-size:16px; }
 .visitor-rules .spoiler__text { font-size:14.5px; }
}
@media(min-width:1024px) and (max-height:810px) {
 .info-page__inner { padding:13px 0 15px; }
 .page-about-refined .info-page__inner { padding-bottom:13px; }
 .enquiry { gap:7px; padding:12px; }
 .enquiry__heading h2 { font-size:20px; }
 .enquiry__heading p { font-size:11.5px; }
 .enquiry__field>span { font-size:11.5px; }
 .enquiry input:not([type=hidden]),.enquiry select,.enquiry textarea { padding:6px 9px; font-size:13.5px; }
 .enquiry select { height:30px; }
 .enquiry textarea { min-height:38px; }
 .enquiry__submit { padding:8px 12px; font-size:13px; }
 .enquiry__note { font-size:10.5px; margin-top:3px; }
 .info-points li { padding:4px 0; font-size:13px; }
 .info-intro { font-size:14px; line-height:1.45; }
 .business-summary { gap:10px; }
 .page-about-refined .contact-phone { padding:8px 12px; }
 .page-about-refined .contact-phone__number { font-size:19px; }
 .about-facts .facts__num { font-size:30px; }
 .about-history ol { gap:13px; }
 .career-directions summary { padding:8px 12px; font-size:13px; }
}
@media(max-width:1199px) {
 .page-about-refined .inner__body { grid-template-columns:145px minmax(0,1fr); gap:20px; }
 .page-about-refined .submenu__item { font-size:24px; }
 .info-intro { font-size:16px; }
 .info-points li { font-size:14px; }
 .about-history p { font-size:14px; }
 .business-layout { gap:22px; grid-template-columns:minmax(0,1fr) minmax(320px,1fr); }
 .about-overview { gap:24px; grid-template-columns:1.6fr 1fr; }
 .about-facts { grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.3fr); gap:14px 10px; }
 .about-history ol { gap:12px; }
 .contact-top { gap:22px; }
 .contact-summary__pair { grid-template-columns:1fr; }
 .contact-card--hours { display:flex; flex-wrap:wrap; }
 .contact-card--hours strong { margin-left:auto; }
 .contact-map__address { display:none; }
}
@media(max-width:991.98px) {
 .business-layout { grid-template-columns:1fr; }
 .business-summary { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
 .business-summary>.info-intro { grid-column:1/-1; }
 .enquiry { width:100%; max-width:none; }
 .about-overview { grid-template-columns:1fr; }
 .about-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .about-history ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .contact-top { grid-template-columns:1fr 1fr; }
}
@media(max-width:767.98px) {
 .info-page__inner { padding:24px 0 32px; }
 .info-page .inner__title { font-size:36px; margin-bottom:22px; }
 .page-about-refined .inner__body { grid-template-columns:1fr; gap:24px; }
 .page-about-refined .submenu__list { gap:0 17px; padding-bottom:13px; border-bottom:1px solid #d9e2ee; }
 .page-about-refined .submenu__item { font-size:19px; }
 .page-about-refined .submenu__link { padding:5px 0; }
 .page-about-refined .submenu__link.here::before { top:auto; bottom:0; left:0; width:100%; height:2px; }
 .info-intro { font-size:16px; }
 .about-overview { gap:24px; }
 .about-facts .facts__num { font-size:42px; }
 .about-history ol { grid-template-columns:1fr; gap:16px; }
 .about-history li { display:grid; grid-template-columns:84px 1fr; gap:16px; }
 .about-history strong { margin:0; font-size:21px; }
 .about-history p { font-size:15px; }
 .business-summary { display:flex; gap:20px; }
 .info-points li { padding:10px 0; font-size:15px; }
 .business-layout { gap:24px; }
 .enquiry { padding:18px; }
 .enquiry__heading h2 { font-size:30px; }
 .enquiry input:not([type=hidden]),.enquiry select,.enquiry textarea { font-size:16px; padding:10px; }
 .enquiry select { height:42px; }
 .enquiry__row { grid-template-columns:1fr; gap:11px; }
 .enquiry textarea { min-height:90px; }
 .enquiry__submit { padding:14px; }
 .contact-top { grid-template-columns:1fr; gap:22px; }
 .contact-map { padding:10px; }
 .contact-map__canvas { height:310px; }
 .contact-map__routes { flex-direction:column; gap:8px; }
 .contact-map__routes a { font-size:11px; }
 .contact-summary__pair { grid-template-columns:1fr; }
 .contact-summary .contact-phone__number { font-size:23px; }
 .contact-card--hours strong { font-size:23px; }
 .contact-hours-note { font-size:11px; }
 .contact-card--parking p { font-size:12px; }
 .contact-administration__heading { align-items:flex-start; flex-direction:column; gap:10px; }
 .contact-administration__grid { grid-template-columns:1fr; gap:12px; }
 .contact-transit li { font-size:12px; }
 .admin-card__link { font-size:11px; }
}
/* Телефон, второй заход (09.10.2026, владелец: «раздел о нас кривой», «в контактах
   непонятно, что ниже есть информация»). Всё по левому краю, одна сетка отступов:
   - заголовок слева, как и весь текст под ним (был по центру над текстом слева);
   - подразделы — одной строкой-лентой с прокруткой (пятый пункт падал
     на вторую строку один); текущий — тёмная таблетка, лента сама доезжает до него;
   - контурное «XL» на фоне убрано — на узком экране оно легло посреди текста;
   - история — линия времени с точками вместо годов с подчёркиванием;
   - контакты: под заголовком строка переходов, сначала адрес/часы/телефон,
     потом карта (короче), потом администрация; видна кнопка ВКонтакте
     (была белой на белом и оставляла пустое место). */
.contact-jump { display:none; }
@media(max-width:767.98px) {
 .info-page .inner__title { text-align:left; font-size:32px; line-height:1.08; margin-bottom:16px; padding:0 20px; }
 .page-about-refined .inner__body { gap:20px; background-image:none!important; }
 .page-about-refined .inner__left { margin:0 -20px; }
 .page-about-refined .submenu__list { display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto; padding:0 20px 2px; border:0; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
 .page-about-refined .submenu__list::-webkit-scrollbar { display:none; }
 .page-about-refined .submenu__item { flex:0 0 auto; font-family:Inter,Arial,sans-serif; font-size:13px; font-weight:500; line-height:1.2; text-transform:none; }
 .page-about-refined .submenu__link { padding:9px 14px; border:1px solid #d6dee9; border-radius:999px; color:#2c4668; white-space:nowrap; }
 .page-about-refined .submenu__link:hover { transform:none; }
 .page-about-refined .submenu__link.here { background:#17243a; border-color:#17243a; color:#fff; }
 .page-about-refined .submenu__link.here::before { display:none; }
 .info-intro { font-size:15.5px; line-height:1.6; }
 .about-facts { gap:18px 14px; }
 .about-facts .facts__num { font-size:38px; }
 .about-facts .facts__label { font-size:11.5px; }
 .about-history { margin-top:6px; padding-top:20px; }
 .about-history h2 { font-size:22px; margin-bottom:16px; }
 .about-history ol { position:relative; display:block; padding-left:24px; }
 .about-history ol::before { content:''; position:absolute; left:5px; top:9px; bottom:12px; width:1px; background:#d4dce8; }
 .about-history li { display:block; padding-bottom:18px; }
 .about-history li:last-child { padding-bottom:0; }
 .about-history li::before { content:''; position:absolute; left:-24px; top:6px; width:11px; height:11px; border:2px solid #2d5d85; border-radius:50%; background:#fff; box-sizing:border-box; }
 .about-history strong { margin:0 0 3px; padding:0; border:0; font-size:20px; line-height:1.2; }
 .about-history p { font-size:15px; line-height:1.5; }

 .contact-jump { display:flex; gap:8px; margin:0 -20px 18px; padding:0 20px 2px; overflow-x:auto; scrollbar-width:none; }
 .contact-jump::-webkit-scrollbar { display:none; }
 .contact-jump a { flex:0 0 auto; padding:9px 14px; border:1px solid #d6dee9; border-radius:999px; color:#2c4668; font:500 13px/1.2 Inter,Arial,sans-serif; text-transform:none; white-space:nowrap; }
 .contact-jump a { transition:background .2s,color .2s,border-color .2s; }
 .contact-jump a.is-on { background:#17243a; border-color:#17243a; color:#fff; }
 #contact-info,#contact-map,#contact-transit,#contact-admin { scroll-margin-top:92px; }
 .contact-top { display:flex; flex-direction:column; gap:12px; }
 .contact-summary { order:-1; }
 .contact-map__canvas { height:240px; }
 .contact-summary .social__list { margin:2px 0 0; }
 .contact-summary .social__icon { width:44px; height:44px; border-radius:50%; background:#17243a; color:#fff; }
 .contact-summary .social__icon svg { width:20px; height:20px; }
 .contact-administration { margin-top:24px; }
 .contact-feedback { margin-top:24px; }
 .contact-feedback__body { grid-template-columns:1fr; gap:18px; }
 .contact-feedback__intro>p { font-size:15.5px; }
}
@media(prefers-reduced-motion:reduce) {
 .info-page *, .info-page *::before, .info-page *::after { transition:none!important; }
}
