/* Visual identity from the new owner's Northern Tower landing page. */
:root {
    --tower-navy: #0f253e;
    --tower-navy-light: #102b52;
    --tower-paper: #f5f7f9;
    --tower-line: #dbe2e9;
    --tower-muted: #607083;
    --tower-content-width: 1240px;
}

body { color: var(--tower-navy); background: #fff; }
a { color: var(--tower-navy-light); }
a:hover, a:focus { color: var(--tower-navy); }

.header, .header.header-fixed {
    padding: 12px 0;
    background: #fff;
    box-shadow: 0 1px 0 rgba(15, 37, 62, .12);
}
.header .wrapper { max-width: var(--tower-content-width); }
.header-top { display: flex; align-items: center; }
.logo-phone { display: flex; align-items: center; padding-left: 0; }
.top-menu { padding-right: 0; }
.logo { width: 114px; height: 57px; object-fit: contain; margin: 0 26px 0 0; }
.header-phone { background: none; padding: 0; }
.header-phone a { color: var(--tower-navy); font-weight: 700; font-size: 17px; }
.header-phone span { color: var(--tower-muted); opacity: 1; }
.top-menu__item a { color: var(--tower-navy); font-size: 13px; }
.top-menu__item a:hover, .top-menu__item a:focus { color: var(--tower-navy-light); text-decoration: underline; text-underline-offset: 6px; }
.mob-menu { background: var(--tower-navy); box-shadow: none; }

.slide-banner { margin-top: 81px; height: min(760px, calc(100vh - 81px)); min-height: 560px; }
.slide, .slide-banner .wrapper { height: 100%; min-height: 560px; }
.slide-banner .wrapper { max-width: var(--tower-content-width); }
.slide { background-position: center center !important; }
.slide:after { background: linear-gradient(90deg, rgba(15,37,62,.91) 0%, rgba(15,37,62,.74) 47%, rgba(15,37,62,.28) 100%); }
.slide-banner:after { display: none; }
.slider-text { text-align: left; max-width: 100%; }
.slide-title { font-family: Arial, sans-serif; font-size: clamp(34px, 3vw, 40px); line-height: 1.2; font-weight: 600; letter-spacing: -.025em; }
.slide-title span { color: #fff; }
.slider-text p { color: #e1e8ee; letter-spacing: .16em; }
.slider-buttons { left: auto; right: max(2%, calc((100vw - 1030px)/2)); bottom: 72px; width: auto; transform: none; }
.slider-buttons__item { width: auto; height: auto; padding: 15px 30px; line-height: 1.3; border: 1px solid #fff; border-radius: 3px; color: #fff; margin: 0; background: transparent; }
.slider-buttons__item:hover, .slider-buttons__item:focus { color: var(--tower-navy); background: #fff; border-color: #fff; text-decoration: none; }

.section-header span { color: var(--tower-muted); }
.section-header h2, .contact-title { color: var(--tower-navy); }
.capabilities { background: var(--tower-paper); }
.capabilities-main__title, .capabilities-column__num { color: var(--tower-navy); }
.capabilities-column { box-shadow: none; border: 1px solid var(--tower-line); border-top: 4px solid var(--tower-navy); }
.capabilities-column__num span { color: var(--tower-muted); }
.options { background: #fff; }
.options-column__text, .services-column__title, .to_order-title { color: var(--tower-navy); }
.options-column img { filter: grayscale(1) brightness(.55) sepia(1) hue-rotate(165deg) saturate(1.8); }
.action:before, .footer:before { content: ''; position: absolute; inset: 0; background: rgba(15,37,62,.88); }
.action, .footer { position: relative; background-position: center !important; background-size: cover !important; }
.action .wrapper, .footer .wrapper { position: relative; z-index: 1; }
.action-title span { color: #fff; }
.path { background-color: rgba(15,37,62,.55); }
.benefits { background: #fff; }
.benefits-column, .services-column { color: var(--tower-navy); }
.services { background: var(--tower-paper); }
.services-column__text, ul.services-column__text li { color: var(--tower-muted); }
.services-column__text a { color: var(--tower-navy-light) !important; text-decoration: underline; }
.to_order { background: #fff; }
.to_order:after { background: var(--tower-line); }
.to_order-column.button-modal { background: #fff url(/upload/img/north-tower-arrow.svg) center / 50px 50px no-repeat; border-radius: 50%; }
.placemark_layout_container { background-color: #0f253e; }
.placemark_layout_container:after { border-top-color: #0f253e; }
.square_layout { background-color: #0f253e !important; background-size: 54px auto; }
.contact { background: var(--tower-paper); }
.contact .wrapper { max-width: var(--tower-content-width); }
.contact-title { margin: 0 0 50px; padding-bottom: 18px; line-height: 1.15; }
.contact .row { display: flex; align-items: stretch; margin: 0; }
.contact-column { max-width: none; margin: 0; padding: 0 28px 0 0; }
.contact-text { max-width: 440px; margin-bottom: 0; font-size: 16px; }
.contact-column__details { padding-left: 40px; border-left: 1px solid var(--tower-line); }
.contact-column__details:first-child { padding-left: 0; border-left: 0; }
.contact-column__item:last-child { margin-bottom: 0; }
.contact-column__item a, .contact-column__item span { font-size: 20px; line-height: 1.4; }
.contact-column__item span { display: block; }
.contact-title:after { background: var(--tower-navy); }
.contact-text, .contact-column__item p { color: var(--tower-muted); }
.contact-column__item a, .contact-column__item span { color: var(--tower-navy); }
.footer { background-color: var(--tower-navy); }
.footer .wrapper { max-width: var(--tower-content-width); }
.footer a { color: #fff; }
.footer a:hover, .footer a:focus { color: #fff; text-decoration: underline; }
.footer-logo img { width: 158px; height: 80px; object-fit: contain; }
.footer-phone a { color: #fff; }
.footer-phone a[href^="mailto:"] { display: block; margin-top: 8px; }
.footer-phone span { color: #d8e1eb; }
.footer-column p { color: #d8e1eb; }
.modal-content h3 { color: var(--tower-navy); }

.lading-button {
    background: var(--tower-navy) !important;
    border: 1px solid var(--tower-navy) !important;
    border-radius: 3px;
    color: #fff;
    box-shadow: none;
}
.lading-button:hover, .lading-button:focus {
    background: #fff !important;
    color: var(--tower-navy) !important;
    border-color: var(--tower-navy) !important;
}

@media (max-width: 991px) {
    .contact .row { display: block; }
    .contact-column { padding-right: 0; }
    .contact-column__details { margin-top: 30px; padding: 30px 0 0; border-left: 0; border-top: 1px solid var(--tower-line); }
}

@media (max-width: 767px) {
    .header, .header.header-fixed { padding: 8px 0; }
    .logo { width: 82px; height: 42px; margin-right: 14px; }
    .header-phone a { font-size: 14px; }
    .header-phone span { font-size: 10px; }
    .mob-menu { top: 8px; right: 3%; width: 42px; height: 42px; }
    .top-menu { background: var(--tower-navy); }
    .top-menu__item a { color: #fff; }
    .top-menu__item a:hover, .top-menu__item a:focus { color: #fff; }
    .slide-banner { margin-top: 58px; min-height: 560px; height: calc(100svh - 58px); }
    .slide, .slide-banner .wrapper { min-height: 560px; height: 100%; }
    .slider-text { padding-bottom: 100px; }
    .slide-title { font-size: clamp(26px, 6vw, 38px); line-height: 1.24; }
    .slider-buttons { left: 3%; right: auto; bottom: 36px; transform: none; text-align: left; }
    .capabilities-main__title { color: var(--tower-navy); }
}

@media (max-width: 420px) {
    .header-phone { padding-right: 44px; }
    .header-phone a { font-size: 12px; }
    .slide-title { font-size: 26px; }
    .slider-buttons__item { padding: 13px 18px; }
}
