.contacts-page { padding-bottom: 120px; } .contacts-page__hero { padding-top: 20px; } .contacts-page__hero > h1 { font-weight: 400; font-size: 54px; line-height: 1; color: #36213e; } .contacts-grid { margin-top: 58px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; } .contacts-column { display: flex; flex-direction: column; gap: 42px; } .contacts-card h2 { font-family: 'Noah', sans-serif; font-weight: 600; font-size: 30px; line-height: 1.1; color: #36213e; } .contacts-card p, .contacts-card a { font-size: 24px; line-height: 1.3; color: #36213e; } .contacts-card p + p { margin-top: 8px; } .contacts-card h2 + p, .contacts-card h2 + a, .contacts-card h2 + div, .contacts-card h2 + ul { margin-top: 18px; } .contacts-card a { text-decoration: underline; text-underline-offset: 3px; } .contacts-map-section { margin-top: 88px; } .contacts-map-section__title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .contacts-map { width: 100%; min-height: 520px; border: 1px solid rgba(54, 33, 62, 0.16); background: linear-gradient(180deg, rgba(99, 118, 141, 0.08) 0%, rgba(99, 118, 141, 0.03) 100%); overflow: hidden; } .contacts-map .leaflet-control-attribution, .contacts-map .leaflet-control-attribution a { font-family: 'Noah', sans-serif; color: #554971; } .contacts-map .leaflet-popup-content-wrapper { border-radius: 16px; background: rgba(54, 33, 62, 0.94); color: #ffffff; box-shadow: 0 16px 34px rgba(54, 33, 62, 0.22); } .contacts-map .leaflet-popup-content { margin: 12px 16px; font-family: 'Noah', sans-serif; font-size: 16px; font-weight: 700; } .contacts-map .leaflet-popup-tip { background: rgba(54, 33, 62, 0.94); } .contacts-map .leaflet-container { font-family: 'Noah', sans-serif; } .contacts-map--fallback { display: flex; align-items: center; justify-content: center; padding: 32px; } .contacts-map-fallback { max-width: 560px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; } .contacts-map-fallback h3 { font-family: 'BerlinType', serif; font-weight: 400; font-size: 32px; line-height: 1.1; color: #36213e; } .contacts-map-fallback p, .contacts-map-fallback a { font-size: 22px; line-height: 1.35; color: #554971; } .contacts-map-fallback a { text-decoration: underline; text-underline-offset: 3px; } .contacts-map-marker { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px; background: rgba(54, 33, 62, 0.94); color: #ffffff; box-shadow: 0 14px 30px rgba(54, 33, 62, 0.24); transform: translate(-50%, -100%); } .contacts-map-marker span { width: 12px; height: 12px; border-radius: 999px; background: #b8f3ff; box-shadow: 0 0 0 5px rgba(184, 243, 255, 0.16); } .contacts-map-marker strong { font-family: 'Noah', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0.02em; } @media (max-width: 900px) { .contacts-page { padding: 0 24px 96px; } .contacts-grid { gap: 48px; } .contacts-card p, .contacts-card a, .contacts-map-fallback p, .contacts-map-fallback a { font-size: 21px; } } @media (max-width: 700px) { .contacts-page { padding-bottom: 72px; } .contacts-page__hero > h1 { font-size: 42px; } .contacts-grid { margin-top: 40px; grid-template-columns: 1fr; gap: 36px; } .contacts-column { gap: 28px; } .contacts-card h2 { font-size: 26px; } .contacts-card p, .contacts-card a, .contacts-map-fallback p, .contacts-map-fallback a { font-size: 18px; } .contacts-map-section { margin-top: 56px; } .contacts-map { min-height: 360px; } .contacts-map-fallback h3 { font-size: 26px; } .contacts-map-marker { padding: 8px 12px; } footer .footer-container { grid-template-columns: 1fr !important; gap: 28px; } }