/*
Theme Name: BIM Инжиниринг
Theme URI: https://bim-eng.ru/
Author: BIM Инжиниринг
Description: Самостоятельная тема BIM Инжиниринг. Первый экран по утверждённым референсам.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bim-engineering
*/

@font-face {
  font-family: Inter;
  src: url("assets/fonts/Inter-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --bim-paper: #f7f6f2;
  --bim-ink: #111117;
  --bim-orange: #ff590b;
  --bim-orange-hover: #e84900;
  --bim-link-hover: #c63c00;
  --bim-on-accent: #fff;
  --bim-muted: #767675;
  --bim-line: #cdcdca;
  --bim-footer-graphite: #202123;
  --bim-footer-text: #f7f6f2;
  --bim-footer-muted: #b3b5bc;
  --bim-footer-line: #71747b;
  --bim-font-sans: Inter, sans-serif;
  --bim-content-max: 1600px;
  --bim-gutter: clamp(26px, 3.75cqw, 60px);
  --bim-motion-duration: 360ms;
  --bim-motion-easing: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { background: var(--bim-paper); color: var(--bim-ink); }
body { margin: 0; font-family: var(--bim-font-sans); -webkit-font-smoothing: antialiased; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
a, button { touch-action: manipulation; }
button { color: inherit; }
::selection { color: var(--bim-paper); background: var(--bim-ink); }
:focus-visible { outline: 3px solid var(--bim-orange); outline-offset: 6px; }
body:has(dialog[open]) { overflow: hidden; }
[hidden] { display: none !important; }
.bim-site, .bim-section { width: 100%; }
.bim-section { background: var(--bim-paper); }
.bim-container { width: 100%; max-width: var(--bim-content-max); margin-inline: auto; container-type: inline-size; }
.bim-skip { position: fixed; z-index: 20; top: 12px; left: 12px; padding: 12px 18px; background: var(--bim-ink); color: var(--bim-on-accent); transform: translateY(-200%); }
.bim-skip:focus { transform: none; }
.bim-header { position: relative; z-index: 5; display: flex; align-items: center; min-height: 102px; margin-inline: 21px; padding-inline: calc(var(--bim-gutter) - 21px); gap: 32px; border-bottom: 1px solid var(--bim-line); }
.bim-brand { display: inline-flex; flex-shrink: 0; align-items: center; gap: 20px; text-decoration: none; }
.bim-brand__mark { display: block; width: 57px; height: 66px; }
.bim-brand__words { display: flex; flex-direction: column; gap: 2px; white-space: nowrap; }
.bim-brand__name { font-size: 26px; line-height: 1.1; font-weight: 800; letter-spacing: -.015em; }
.bim-brand__caption { font-size: 14px; line-height: 1.4; letter-spacing: -.015em; }
.bim-nav { margin-inline: auto; }
.bim-nav__list { display: flex; align-items: center; gap: clamp(28px, 3.9vw, 64px); list-style: none; padding: 0; margin: 0; }
.bim-nav a { font-size: 18px; line-height: 1.5; letter-spacing: -.035em; text-decoration: none; white-space: nowrap; }
.bim-nav a:is(:hover, :focus-visible) { color: var(--bim-link-hover); }
.bim-phone { display: inline-flex; align-items: center; gap: 13px; white-space: nowrap; text-decoration: none; font-size: 24px; font-weight: 500; letter-spacing: -.04em; }
.bim-phone svg { width: 25px; height: 25px; color: var(--bim-orange); }
.bim-menu-toggle { display: none; width: 44px; height: 44px; border: 0; padding: 2px; background: transparent; cursor: pointer; }
.bim-menu-toggle svg { display: block; width: 100%; height: 100%; }
.bim-hero { position: relative; min-height: 693px; padding: 67px var(--bim-gutter) 38px; isolation: isolate; }
.bim-copy { position: relative; z-index: 2; width: 680px; max-width: 47%; }
.bim-kicker { margin: 0 0 21px; font-size: 14px; line-height: 1.4; font-weight: 500; letter-spacing: .4em; }
.bim-title { margin: 0; font-size: clamp(65px, 6.125cqw, 98px); line-height: .95; font-weight: 850; letter-spacing: -.055em; }
.bim-title span { display: block; width: fit-content; white-space: nowrap; }
.bim-description { max-width: 510px; margin: 29px 0 31px; font-size: 27px; line-height: 1.25; font-weight: 350; letter-spacing: -.02em; }
.bim-actions { display: flex; align-items: flex-start; gap: 44px; }
.bim-quote { flex-shrink: 0; }
.bim-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 25px; min-height: 62px; min-width: 315px; padding: 14px 24px 14px 55px; border: 1px solid var(--bim-on-accent); border-radius: 5px; background: var(--bim-orange); color: var(--bim-on-accent); font-size: 22px; font-weight: 600; letter-spacing: -.02em; text-decoration: none; cursor: pointer; }
.bim-button:is(:hover, :focus-visible) { background: var(--bim-orange-hover); }
.bim-arrow { display: inline-block; flex-shrink: 0; width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.bim-quote__note { margin: 9px 0 0; font-size: 15px; line-height: 1.4; color: var(--bim-muted); letter-spacing: -.025em; }
.bim-projects { display: inline-flex; align-items: center; gap: 12px; margin-top: 20px; font-size: 20px; line-height: 1.2; font-weight: 450; letter-spacing: -.025em; white-space: nowrap; text-decoration: none; }
.bim-projects span { border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.bim-projects:is(:hover, :focus-visible) { color: var(--bim-link-hover); }
.bim-model { position: absolute; z-index: -1; top: 24px; right: 0; bottom: 0; width: 66%; margin: 0; overflow: hidden; }
.bim-model__word { position: absolute; z-index: -1; right: min(1.875cqw, 30px); top: -24px; color: #e5e4e0; font-size: min(20.125cqw, 322px); line-height: 1; font-weight: 800; letter-spacing: -.07em; transform: scaleX(1.28); transform-origin: right top; pointer-events: none; }
.bim-model__image { position: absolute; width: 90%; height: auto; right: 0; bottom: -14px; }
.bim-break-tablet { display: none; }
.bim-labels { position: absolute; inset: 0; padding: 0; margin: 0; list-style: none; }
.bim-label { position: absolute; font-size: 13px; line-height: 1.35; font-weight: 450; white-space: nowrap; }
.bim-label svg { position: absolute; fill: none; stroke: #747477; stroke-width: 1; overflow: visible; }
.bim-label circle { fill: var(--bim-ink); stroke: var(--bim-paper); stroke-width: 3; }
.bim-label--equipment { left: 24%; top: 14%; }
.bim-label--equipment svg { width: 90px; height: 55px; left: calc(100% + 7px); top: 8px; }
.bim-label--structure { left: 80%; top: 18%; }
.bim-label--structure svg { width: 100px; height: 70px; right: calc(100% + 6px); top: 7px; }
.bim-label--networks { right: 2%; top: 43%; }
.bim-label--networks svg { width: 73px; height: 68px; right: calc(100% + 6px); top: 7px; }
.bim-model figcaption { position: absolute; right: 38px; bottom: 25px; color: var(--bim-muted); font-size: 12px; line-height: 1.4; }
.bim-services { display: grid; grid-template-columns: 1fr 1fr .95fr 1.1fr; list-style: none; margin: 0 21px; padding: 14px 0 20px; border-top: 1px solid var(--bim-line); }
.bim-service { min-width: 0; }
.bim-service + .bim-service { border-left: 1px solid var(--bim-line); }
.bim-service a { display: flex; align-items: center; min-height: 70px; gap: 25px; padding: 12px 28px 12px 39px; text-decoration: none; }
.bim-service__number { font-size: 20px; font-weight: 400; color: var(--bim-muted); }
.bim-service__name { font-size: 23px; line-height: 1.12; font-weight: 650; letter-spacing: -.035em; }
.bim-service:last-child a { gap: 25px; }
.bim-service:last-child .bim-service__name { white-space: nowrap; font-size: 22px; }
.bim-service .bim-arrow { width: 23px; height: 23px; margin-left: auto; }
.bim-service a:is(:hover, :focus-visible), .bim-phone:is(:hover, :focus-visible) { color: var(--bim-link-hover); }
.bim-nav a, .bim-phone__number, .bim-service__name, .bim-projects span { position: relative; }
.bim-nav a::after, .bim-phone__number::after, .bim-service__name::after, .bim-projects span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.14em;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  pointer-events: none;
}
.bim-projects span::after { bottom: -1px; background: var(--bim-orange); }
.bim-nav a:is(:hover, :focus-visible)::after,
.bim-phone:is(:hover, :focus-visible) .bim-phone__number::after,
.bim-service a:is(:hover, :focus-visible) .bim-service__name::after,
.bim-projects:is(:hover, :focus-visible) span::after { transform: scaleX(1); }
.bim-dialog { width: min(540px, calc(100% - 32px)); padding: 40px; border: 1px solid var(--bim-line); border-radius: 0; background: var(--bim-paper); color: var(--bim-ink); }
.bim-dialog::backdrop { background: rgb(17 17 23 / 45%); }
.bim-dialog__close { position: absolute; right: 12px; top: 12px; width: 36px; height: 36px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; }
.bim-dialog__close svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.bim-dialog h2 { font-size: 32px; line-height: 1.1; margin: 8px 0 20px; letter-spacing: -.04em; }
.bim-dialog p, .bim-dialog li { font-size: 17px; line-height: 1.5; }
.bim-dialog__contacts { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 25px; font-size: 22px; font-weight: 550; }
.bim-dialog ol { padding-left: 23px; }
.bim-dialog li + li { margin-top: 10px; }
.bim-fallback { padding: 60px var(--bim-gutter); }

.bim-tasks__inner { padding: clamp(40px, 4.5cqw, 72px) var(--bim-gutter) 2.2cqw; }
.bim-tasks__header { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: end; gap: 3cqw; margin-bottom: 2.6cqw; }
.bim-tasks__eyebrow { display: flex; align-items: center; gap: 1.5cqw; margin: 0 0 1.2cqw; font-size: .84cqw; line-height: 1.4; font-weight: 550; letter-spacing: .38em; }
.bim-tasks__eyebrow::before { content: ""; flex-shrink: 0; width: .8cqw; height: .8cqw; background: var(--bim-orange); }
.bim-tasks__title { margin: 0; font-size: 5.05cqw; line-height: .96; font-weight: 850; letter-spacing: -.04em; }
.bim-tasks__title span { display: block; }
.bim-tasks__intro { margin: 0 0 .15em; font-size: 1.65cqw; line-height: 1.3; font-weight: 350; letter-spacing: -.025em; }
.bim-tasks__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0 -1.45cqw; }
.bim-task { position: relative; display: grid; grid-template-rows: auto auto 1fr auto; min-width: 0; padding: 0 1.45cqw; }
.bim-task + .bim-task { border-left: 1px solid var(--bim-line); }
.bim-task__number { position: absolute; z-index: 1; top: .35cqw; left: 1.45cqw; color: var(--bim-muted); font-size: 1.4cqw; line-height: 1.3; letter-spacing: -.035em; }
.bim-task__image { display: block; width: 100%; height: auto; aspect-ratio: 6 / 5; object-fit: contain; margin-bottom: 1.05cqw; }
.bim-task__title { margin: 0 0 1.15cqw; font-size: 1.88cqw; line-height: 1.1; font-weight: 750; letter-spacing: -.035em; }
.bim-task__description { margin: 0 0 1.25cqw; font-size: 1.22cqw; line-height: 1.4; font-weight: 350; letter-spacing: -.025em; }
.bim-solution-link { display: inline-flex; justify-self: start; align-items: center; align-self: end; gap: .7cqw; max-width: 100%; min-height: 44px; font-size: 1.22cqw; line-height: 1.3; font-weight: 450; letter-spacing: -.025em; text-decoration: none; }
.bim-solution-link span { position: relative; min-width: 0; border-bottom: 1px solid var(--bim-orange); padding-bottom: 2px; }
.bim-solution-link span::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: center; pointer-events: none; }
.bim-solution-link .bim-arrow { width: 1.4cqw; height: 1.4cqw; }
.bim-solution-link:is(:hover, :focus-visible) { color: var(--bim-link-hover); }
.bim-solution-link:is(:hover, :focus-visible) span::after { transform: scaleX(1); }
.bim-tasks__help { display: flex; align-items: center; justify-content: space-between; gap: 3cqw; margin-top: 1.6cqw; padding-top: 1.4cqw; border-top: 1px solid var(--bim-line); }
.bim-tasks__help-copy { display: flex; flex: 1; align-items: center; gap: 3cqw; min-width: 0; }
.bim-tasks__help h3 { flex-shrink: 0; margin: 0; font-size: 2cqw; line-height: 1.15; font-weight: 750; letter-spacing: -.035em; }
.bim-tasks__help p { margin: 0; padding-left: 3cqw; border-left: 1px solid var(--bim-line); font-size: 1.3cqw; line-height: 1.4; font-weight: 350; letter-spacing: -.025em; }
.bim-tasks__help .bim-button { flex-shrink: 0; min-width: 19.5cqw; padding: .8cqw 2.3cqw; font-size: 1.4cqw; }

@media (max-width: 1199px) {
  .bim-tasks__inner { padding-top: 6cqw; padding-bottom: 3cqw; }
  .bim-tasks__header { grid-template-columns: minmax(0, 1fr); gap: 1.3cqw; margin-bottom: 3.3cqw; }
  .bim-tasks__eyebrow { gap: 2cqw; margin-bottom: 1.5cqw; font-size: 1.35cqw; }
  .bim-tasks__eyebrow::before { width: 1.3cqw; height: 1.3cqw; }
  .bim-tasks__title { font-size: 6.65cqw; }
  .bim-tasks__intro { margin: 0; font-size: 2.7cqw; }
  .bim-tasks__intro-break { display: none; }
  .bim-tasks__list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-inline: 0; }
  .bim-task { padding-inline: 0 2.8cqw; padding-bottom: 1.5cqw; }
  .bim-task:nth-child(even) { padding-inline: 2.8cqw 0; }
  .bim-task:nth-child(3) { border-left: 0; }
  .bim-task:nth-child(n+3) { padding-top: 1.3cqw; border-top: 1px solid var(--bim-line); }
  .bim-task__number { left: 0; top: .4cqw; font-size: 2.3cqw; }
  .bim-task:nth-child(even) .bim-task__number { left: 2.8cqw; }
  .bim-task:nth-child(n+3) .bim-task__number { top: 1.7cqw; }
  .bim-task__image { margin-bottom: 1.3cqw; }
  .bim-task__title { margin-bottom: 1.2cqw; font-size: 3.5cqw; }
  .bim-task__description { margin-bottom: 1.1cqw; font-size: 2.2cqw; }
  .bim-solution-link { gap: 1.2cqw; font-size: 2.3cqw; }
  .bim-solution-link .bim-arrow { width: 2.5cqw; height: 2.5cqw; }
  .bim-tasks__help { gap: 3.5cqw; margin-top: .5cqw; padding-top: 1.5cqw; }
  .bim-tasks__help-copy { flex-direction: column; align-items: flex-start; gap: .1cqw; }
  .bim-tasks__help h3 { font-size: 3cqw; }
  .bim-tasks__help p { padding-left: 0; border-left: 0; font-size: 2cqw; }
  .bim-tasks__help .bim-button { min-width: 27.5cqw; min-height: 5.8cqw; padding: 1.1cqw 3.8cqw; font-size: 2.1cqw; }
}

@media (max-width: 599px) {
  .bim-tasks__inner { padding-top: 9cqw; padding-bottom: 4.5cqw; }
  .bim-tasks__header { gap: 2.1cqw; margin-bottom: 5.2cqw; }
  .bim-tasks__eyebrow { gap: 3.7cqw; margin-bottom: 3.1cqw; font-size: 1.75cqw; letter-spacing: .4em; }
  .bim-tasks__eyebrow::before { width: 1.75cqw; height: 1.75cqw; }
  .bim-tasks__title { font-size: 8.8cqw; }
  .bim-tasks__intro { font-size: 4cqw; line-height: 1.32; }
  .bim-tasks__list { grid-template-columns: minmax(0, 1fr); }
  .bim-task { display: grid; grid-template-columns: minmax(0, .47fr) minmax(0, .53fr); grid-template-rows: auto auto auto auto; gap: 0 1.3cqw; padding: 0 0 3cqw; }
  .bim-task + .bim-task { padding-top: 1.8cqw; border-left: 0; border-top: 1px solid var(--bim-line); }
  .bim-task:nth-child(even) { padding-inline: 0; }
  .bim-task:nth-child(n+3) { padding-top: 1.8cqw; }
  .bim-task__number, .bim-task:nth-child(even) .bim-task__number, .bim-task:nth-child(n+3) .bim-task__number { position: static; grid-column: 1; grid-row: 1; align-self: end; padding-top: 2.8cqw; margin-bottom: 1.8cqw; font-size: 3.8cqw; }
  .bim-task__image { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; }
  .bim-task__title { grid-column: 1; grid-row: 2; align-self: start; margin: 0; padding-bottom: 2cqw; font-size: 5.5cqw; line-height: 1.12; }
  .bim-task__description { grid-column: 1 / -1; margin: .7cqw 0 .9cqw; font-size: 3.5cqw; line-height: 1.32; }
  .bim-solution-link { grid-column: 1 / -1; gap: 2cqw; font-size: 3.8cqw; }
  .bim-solution-link .bim-arrow { width: 4cqw; height: 4cqw; }
  .bim-tasks__help { flex-direction: column; align-items: stretch; gap: 2.4cqw; margin-top: 0; padding-top: 3cqw; }
  .bim-tasks__help-copy { gap: .8cqw; }
  .bim-tasks__help h3 { font-size: 5cqw; }
  .bim-tasks__help p { font-size: 3.6cqw; line-height: 1.35; }
  .bim-tasks__help .bim-button { width: 100%; min-width: 0; min-height: 46px; justify-content: center; gap: 2.8cqw; padding: 2cqw 3cqw; font-size: 4.2cqw; }
}

.bim-portfolio__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 2cqw; padding: clamp(40px, 4.5cqw, 72px) var(--bim-gutter) 4.5cqw; }
.bim-portfolio__header { grid-column: 1; grid-row: 1; min-width: 0; margin-bottom: 2.3cqw; }
.bim-portfolio__eyebrow { display: flex; align-items: center; gap: 1.5cqw; margin: 0 0 1.2cqw; font-size: .84cqw; line-height: 1.4; font-weight: 550; letter-spacing: .38em; }
.bim-portfolio__eyebrow::before { content: ""; flex-shrink: 0; width: .8cqw; height: .8cqw; background: var(--bim-orange); }
.bim-portfolio__title { margin: 0; font-size: 5.05cqw; line-height: .96; font-weight: 850; letter-spacing: -.04em; }
.bim-portfolio__intro { margin: 1.05cqw 0 0; font-size: 1.65cqw; line-height: 1.3; font-weight: 350; letter-spacing: -.025em; }
.bim-portfolio__cta { grid-column: 2; grid-row: 1; align-self: center; margin-top: 1.5cqw; }
.bim-portfolio__cta .bim-button { min-width: 15cqw; min-height: 3.8cqw; padding: .9cqw 2.1cqw; gap: 1.2cqw; font-size: max(19px, 1.4cqw); font-weight: 700; }
.bim-portfolio__grid { display: grid; grid-column: 1 / -1; grid-row: 2; grid-template-columns: minmax(0, 1.36fr) minmax(0, 1fr); gap: .8cqw; list-style: none; padding: 0; margin: 0; }
.bim-project-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.6cqw; min-width: 0; padding: .75cqw; border: 1px solid var(--bim-line); border-radius: 5px; }
.bim-project-card__image { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; aspect-ratio: 1.2; object-fit: cover; object-position: center; border-radius: 4px; }
.bim-project-card__body { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: .75cqw .3cqw .25cqw 0; }
.bim-project-card__category { margin: 0 0 1cqw; font-size: max(10px, .76cqw); line-height: 1.4; font-weight: 550; letter-spacing: .26em; color: var(--bim-ink); }
.bim-project-card__title { margin: 0 0 1.2cqw; font-size: 1.88cqw; line-height: 1.1; font-weight: 750; letter-spacing: -.035em; }
.bim-project-card__description { margin: 0 0 1.2cqw; font-size: 1.22cqw; line-height: 1.4; font-weight: 350; letter-spacing: -.025em; }
.bim-project-card .bim-solution-link { align-self: flex-start; margin-top: auto; }
.bim-project-card--featured { grid-column: 1; grid-row: 1 / 3; display: flex; flex-direction: column; gap: 0; }
.bim-project-card--featured .bim-project-card__image { height: auto; aspect-ratio: 798 / 389; }
.bim-project-card--featured .bim-project-card__body { flex: 1; align-items: stretch; padding: 1.3cqw .65cqw .25cqw; }
.bim-project-card--featured .bim-project-card__title { margin-bottom: .7cqw; font-size: 3.15cqw; }
.bim-project-card--featured .bim-project-card__description { margin-bottom: .25cqw; }
.bim-project-card--featured .bim-solution-link { align-self: flex-end; }

@media (max-width: 1199px) {
  .bim-portfolio__inner { padding-top: 6cqw; padding-bottom: 4.5cqw; }
  .bim-portfolio__header { grid-column: 1 / -1; margin-bottom: 2.8cqw; }
  .bim-portfolio__eyebrow { gap: 2cqw; margin-bottom: 2cqw; min-height: 4.8cqw; font-size: 1.35cqw; }
  .bim-portfolio__eyebrow::before { width: 1.3cqw; height: 1.3cqw; }
  .bim-portfolio__title { font-size: 6.65cqw; }
  .bim-portfolio__intro { margin-top: 1.3cqw; font-size: 2.25cqw; }
  .bim-portfolio__cta { grid-column: 2; align-self: start; margin-top: 0; }
  .bim-portfolio__cta .bim-button { min-width: 22cqw; min-height: max(44px, 5.4cqw); padding: 1.1cqw 2.8cqw; font-size: max(19px, 2.1cqw); }
  .bim-portfolio__cta .bim-arrow { width: 2.5cqw; height: 2.5cqw; }
  .bim-portfolio__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5cqw; }
  .bim-project-card, .bim-project-card--featured { display: flex; flex-direction: column; gap: 0; padding: 1.4cqw; }
  .bim-project-card--featured { grid-column: 1 / -1; grid-row: auto; }
  .bim-project-card__image { height: auto; aspect-ratio: 1.75; }
  .bim-project-card--featured .bim-project-card__image { aspect-ratio: 2.5; }
  .bim-project-card__body, .bim-project-card--featured .bim-project-card__body { flex: 1; align-items: flex-start; padding: 1.3cqw .25cqw 0; }
  .bim-project-card__category { margin-bottom: 1cqw; font-size: max(10px, 1.35cqw); }
  .bim-project-card__title { margin-bottom: 1.2cqw; font-size: 3.5cqw; }
  .bim-project-card--featured .bim-project-card__title { margin-bottom: 1cqw; font-size: 4.6cqw; }
  .bim-project-card__description, .bim-project-card--featured .bim-project-card__description { margin-bottom: 1.2cqw; font-size: 2.2cqw; line-height: 1.32; }
  .bim-project-card--featured .bim-solution-link { align-self: flex-start; }
}

@media (max-width: 599px) {
  .bim-portfolio__inner { grid-template-columns: minmax(0, 1fr); padding-top: 9cqw; padding-bottom: 6cqw; }
  .bim-portfolio__header { grid-column: 1; margin-bottom: 3.5cqw; }
  .bim-portfolio__eyebrow { gap: 3.7cqw; min-height: 0; margin-bottom: 3.1cqw; font-size: 1.75cqw; letter-spacing: .4em; }
  .bim-portfolio__eyebrow::before { width: 1.75cqw; height: 1.75cqw; }
  .bim-portfolio__title { font-size: 8.8cqw; }
  .bim-portfolio__intro { margin-top: 2.2cqw; font-size: 4cqw; line-height: 1.32; }
  .bim-portfolio__grid { grid-template-columns: minmax(0, 1fr); gap: 2cqw; margin-inline: 0; }
  .bim-project-card, .bim-project-card--featured { grid-column: auto; padding: 1.7cqw; }
  .bim-project-card__image { aspect-ratio: 3; }
  .bim-project-card--featured .bim-project-card__image { aspect-ratio: 2.8; }
  .bim-project-card__body, .bim-project-card--featured .bim-project-card__body { padding: 1.7cqw .5cqw 0; }
  .bim-project-card__category { margin-bottom: 1.3cqw; font-size: max(10px, 1.75cqw); }
  .bim-project-card__title, .bim-project-card--featured .bim-project-card__title { margin-bottom: 1.3cqw; font-size: 5.5cqw; }
  .bim-project-card__description, .bim-project-card--featured .bim-project-card__description { margin-bottom: .4cqw; font-size: 3.5cqw; line-height: 1.32; }
  .bim-project-card--featured .bim-solution-link { align-self: flex-start; }
  .bim-portfolio__cta { grid-column: 1; grid-row: 3; align-self: stretch; margin-top: 2cqw; }
  .bim-portfolio__cta .bim-button { width: 100%; min-width: 0; min-height: 46px; justify-content: center; gap: 2.8cqw; padding: 2cqw 3cqw; font-size: max(19px, 4.2cqw); }
  .bim-portfolio__cta .bim-arrow { width: 4cqw; height: 4cqw; }
}

.bim-deliverables__inner { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: start; column-gap: 3cqw; padding: clamp(40px, 4.5cqw, 72px) var(--bim-gutter) 4.5cqw; }
.bim-deliverables__inner > * { min-width: 0; }
.bim-deliverables__header { grid-column: 1; grid-row: 1; margin-bottom: 2.1cqw; }
.bim-deliverables__eyebrow { display: flex; align-items: center; gap: 1.5cqw; margin: 0 0 1.2cqw; font-size: .84cqw; line-height: 1.4; font-weight: 550; letter-spacing: .38em; }
.bim-deliverables__eyebrow::before { content: ""; flex-shrink: 0; width: .8cqw; height: .8cqw; background: var(--bim-orange); }
.bim-deliverables__title { margin: 0; font-size: 5.05cqw; line-height: .96; font-weight: 850; letter-spacing: -.04em; }
.bim-deliverables__title span { display: block; }
.bim-deliverables__intro { grid-column: 2; grid-row: 1; align-self: center; margin: 1.5cqw 0 2.1cqw; font-size: 1.65cqw; line-height: 1.3; font-weight: 350; letter-spacing: -.025em; }
.bim-deliverables__figure { grid-column: 1; grid-row: 2 / 5; margin: 0; }
.bim-deliverables__image { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.bim-deliverables__caption { margin-top: 1cqw; color: var(--bim-ink); font-size: max(13px, 1.05cqw); line-height: 1.4; font-weight: 350; letter-spacing: -.025em; }
.bim-deliverables__list { grid-column: 2; grid-row: 2; list-style: none; padding: 0; margin: 0; }
.bim-deliverable { display: grid; grid-template-columns: 3.5cqw minmax(0, 1fr); gap: 1.6cqw; padding-block: 1.3cqw 1.4cqw; }
.bim-deliverable:first-child { padding-top: 0; }
.bim-deliverable + .bim-deliverable { border-top: 1px solid var(--bim-line); }
.bim-deliverable__number { color: var(--bim-ink); font-size: 1.6cqw; line-height: 1.3; font-weight: 350; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.bim-deliverable__title { margin: 0; font-size: 1.88cqw; line-height: 1.1; font-weight: 750; letter-spacing: -.035em; }
.bim-deliverable__description { margin: .65cqw 0 0; font-size: 1.22cqw; line-height: 1.4; font-weight: 350; letter-spacing: -.025em; }
.bim-deliverables__cta { grid-column: 2; grid-row: 3; margin-top: .2cqw; }
.bim-deliverables__cta .bim-button { width: 100%; min-width: 0; min-height: max(44px, 3.8cqw); gap: 1.5cqw; padding: .9cqw 2.1cqw; font-size: max(19px, 1.4cqw); font-weight: 700; line-height: 1.25; }
.bim-deliverables__cta .bim-button > span { min-width: 0; }
.bim-deliverables__cta .bim-arrow { width: 1.6cqw; height: 1.6cqw; }
.bim-deliverables__note { grid-column: 2; grid-row: 4; margin: .5cqw 0 0; font-size: max(13px, 1.15cqw); line-height: 1.4; font-weight: 350; letter-spacing: -.025em; }

@media (max-width: 1199px) {
  .bim-deliverables__inner { grid-template-columns: minmax(0, 1fr); padding-top: 6cqw; padding-bottom: 4.5cqw; }
  .bim-deliverables__header, .bim-deliverables__intro, .bim-deliverables__figure, .bim-deliverables__list, .bim-deliverables__cta, .bim-deliverables__note { grid-column: 1; grid-row: auto; }
  .bim-deliverables__header { margin-bottom: 2cqw; }
  .bim-deliverables__eyebrow { gap: 2cqw; margin-bottom: 2cqw; font-size: 1.35cqw; }
  .bim-deliverables__eyebrow::before { width: 1.3cqw; height: 1.3cqw; }
  .bim-deliverables__title { font-size: 6.65cqw; }
  .bim-deliverables__intro { margin: 0 0 2.8cqw; font-size: 2.7cqw; }
  .bim-deliverables__caption { margin-top: 1.3cqw; font-size: 2cqw; }
  .bim-deliverables__list { margin-top: 3.5cqw; }
  .bim-deliverable { grid-template-columns: 6cqw minmax(0, 1fr); gap: 2.6cqw; padding-block: 2.3cqw 2.5cqw; }
  .bim-deliverable__number { font-size: 3cqw; }
  .bim-deliverable__title { font-size: 3.45cqw; }
  .bim-deliverable__description { margin-top: .8cqw; font-size: 2.7cqw; line-height: 1.3; }
  .bim-deliverables__cta { margin-top: .2cqw; }
  .bim-deliverables__cta .bim-button { min-height: max(44px, 5.4cqw); justify-content: center; padding: 1.1cqw 2.8cqw; gap: 2cqw; font-size: max(19px, 2.1cqw); }
  .bim-deliverables__cta .bim-arrow { width: 2.5cqw; height: 2.5cqw; }
  .bim-deliverables__note { margin-top: .7cqw; font-size: 2cqw; }
}

@media (max-width: 599px) {
  .bim-deliverables__inner { padding-top: 9cqw; padding-bottom: 6cqw; }
  .bim-deliverables__header { margin-bottom: 3cqw; }
  .bim-deliverables__eyebrow { gap: 3.7cqw; margin-bottom: 3.1cqw; font-size: 1.75cqw; letter-spacing: .4em; }
  .bim-deliverables__eyebrow::before { width: 1.75cqw; height: 1.75cqw; }
  .bim-deliverables__title { font-size: 8.8cqw; }
  .bim-deliverables__intro { margin-bottom: 3cqw; font-size: 4cqw; line-height: 1.32; }
  .bim-deliverables__caption { margin-top: 2cqw; font-size: max(12px, 3.6cqw); }
  .bim-deliverables__list { margin-top: 7cqw; }
  .bim-deliverable { grid-template-columns: 10cqw minmax(0, 1fr); gap: 3cqw; padding-block: 4.5cqw 5cqw; }
  .bim-deliverable__number { font-size: 5.5cqw; }
  .bim-deliverable__title { font-size: 6cqw; }
  .bim-deliverable__description { margin-top: 2cqw; font-size: 4.25cqw; line-height: 1.35; }
  .bim-deliverables__cta { margin-top: .5cqw; }
  .bim-deliverables__cta .bim-button { min-height: 46px; gap: 2.8cqw; padding: 2.5cqw 3cqw; font-size: max(19px, 4.2cqw); }
  .bim-deliverables__cta .bim-arrow { width: 4cqw; height: 4cqw; }
  .bim-deliverables__note { margin-top: 1.7cqw; font-size: max(12px, 3.6cqw); }
}

.bim-footer { background: var(--bim-footer-graphite); color: var(--bim-footer-text); }
.bim-footer ::selection { background: var(--bim-footer-text); color: var(--bim-footer-graphite); }
.bim-footer__inner { padding: 4.2cqw var(--bim-gutter) 2.6cqw; }
.bim-footer__main { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 2.5cqw; padding-bottom: 2.8cqw; }
.bim-footer__main > * { min-width: 0; }
.bim-footer-brand { display: flex; align-items: center; align-self: start; gap: 1.9cqw; padding-top: 1.5cqw; text-decoration: none; }
.bim-footer-brand__mark { display: block; flex-shrink: 0; width: 5.4cqw; height: auto; }
.bim-footer-brand__words { display: flex; min-width: 0; flex-direction: column; gap: .3cqw; }
.bim-footer-brand__name { font-size: 2.4cqw; line-height: 1.08; font-weight: 800; letter-spacing: -.025em; }
.bim-footer-brand__caption { font-size: 1.44cqw; line-height: 1.35; letter-spacing: -.025em; }
.bim-footer__heading { margin: 0 0 1.6cqw; color: var(--bim-footer-muted); font-size: .98cqw; line-height: 1.4; font-weight: 500; letter-spacing: .29em; text-transform: uppercase; }
.bim-footer-nav__list, .bim-footer-documents__list { list-style: none; padding: 0; margin: 0; }
.bim-footer-nav__list { display: flex; flex-direction: column; align-items: flex-start; gap: 1.15cqw; }
.bim-footer-nav a { position: relative; display: inline-block; max-width: 100%; font-size: 1.94cqw; line-height: 1.2; letter-spacing: -.025em; text-decoration: none; overflow-wrap: anywhere; }
.bim-footer-contact__details { display: flex; flex-direction: column; align-items: flex-start; font-style: normal; }
.bim-footer-contact__phone { position: relative; max-width: 100%; font-size: 3.08cqw; line-height: 1.13; font-weight: 750; letter-spacing: -.035em; text-decoration: none; white-space: nowrap; }
.bim-footer-contact__email { display: inline-flex; align-items: center; max-width: 100%; gap: .9cqw; margin-top: 1.05cqw; font-size: 2.3cqw; line-height: 1.3; letter-spacing: -.035em; text-decoration: none; }
.bim-footer-contact__email span { text-decoration: underline; text-underline-offset: .17em; overflow-wrap: anywhere; }
.bim-footer-contact__email .bim-arrow { width: 2cqw; height: 2cqw; }
.bim-footer-contact__address { margin: 1.75cqw 0 0; font-size: 1.95cqw; line-height: 1.24; letter-spacing: -.03em; }
.bim-footer__legal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4cqw; padding-top: 1.8cqw; border-top: 1px solid var(--bim-footer-line); }
.bim-footer__company { display: flex; flex-direction: column; margin: 0; color: var(--bim-footer-muted); font-size: 1.48cqw; line-height: 1.42; letter-spacing: -.025em; }
.bim-footer-documents { justify-self: end; max-width: 100%; }
.bim-footer-documents__list { display: flex; flex-direction: column; gap: .35cqw; }
.bim-footer-documents a { font-size: 1.37cqw; line-height: 1.45; letter-spacing: -.025em; overflow-wrap: anywhere; }
.bim-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 1.3cqw; }
.bim-footer__copyright { margin: 0; color: var(--bim-footer-muted); font-size: 1.48cqw; line-height: 1.4; letter-spacing: -.025em; }
.bim-back-to-top { display: inline-flex; flex-shrink: 0; align-items: center; gap: 1.9cqw; text-decoration: none; font-size: 1.48cqw; line-height: 1.4; letter-spacing: -.025em; }
.bim-back-to-top__icon { display: grid; place-items: center; width: 4.2cqw; height: 4.2cqw; min-width: 44px; min-height: 44px; border-radius: 4px; background: var(--bim-orange); color: var(--bim-on-accent); }
.bim-back-to-top__icon .bim-arrow { width: 2.1cqw; height: 2.1cqw; transform: rotate(-45deg); }
.bim-footer-nav a::after, .bim-footer-contact__phone::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.14em; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: center; pointer-events: none; }
.bim-footer a:is(:hover, :focus-visible) { color: var(--bim-orange); }
.bim-footer-nav a:is(:hover, :focus-visible)::after, .bim-footer-contact__phone:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.bim-back-to-top:is(:hover, :focus-visible) .bim-back-to-top__icon { background: var(--bim-orange-hover); }

@media (max-width: 1199px) {
  .bim-footer__inner { padding: 7.2cqw 7% 4.3cqw; }
  .bim-footer__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: 4cqw; row-gap: 6.5cqw; padding-bottom: 5.3cqw; }
  .bim-footer-brand { grid-column: 1 / -1; gap: 3.5cqw; padding-top: 0; }
  .bim-footer-brand__mark { width: 11.5cqw; }
  .bim-footer-brand__words { gap: .45cqw; }
  .bim-footer-brand__name { font-size: 4.95cqw; }
  .bim-footer-brand__caption { font-size: 2.72cqw; }
  .bim-footer__heading { margin-bottom: 2.6cqw; font-size: 2.18cqw; letter-spacing: .28em; }
  .bim-footer-nav__list { gap: 2.65cqw; }
  .bim-footer-nav a { font-size: 3.9cqw; }
  .bim-footer-contact__phone { font-size: 4.5cqw; }
  .bim-footer-contact__email { margin-top: 2.6cqw; font-size: 3.9cqw; }
  .bim-footer-contact__email .bim-arrow { display: none; }
  .bim-footer-contact__address { margin-top: 3.8cqw; font-size: 3.7cqw; }
  .bim-footer__legal { grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); gap: 4cqw; padding-top: 3.8cqw; }
  .bim-footer__company, .bim-footer__copyright { font-size: 2.9cqw; }
  .bim-footer-documents__list { gap: 2.4cqw; }
  .bim-footer-documents a { font-size: 2.9cqw; line-height: 1.35; }
  .bim-footer__bottom { margin-top: 4.3cqw; }
  .bim-back-to-top { font-size: 2.9cqw; gap: 3cqw; }
  .bim-back-to-top__icon { width: 7.5cqw; height: 7.5cqw; }
  .bim-back-to-top__icon .bim-arrow { width: 3.8cqw; height: 3.8cqw; }
}

@media (max-width: 599px) {
  .bim-footer__inner { padding: 11.4cqw 9.4% 7cqw; }
  .bim-footer__main { grid-template-columns: minmax(0, 1fr); gap: 9.8cqw; padding-bottom: 7.6cqw; }
  .bim-footer-brand { grid-column: auto; gap: 5cqw; }
  .bim-footer-brand__mark { width: 15cqw; }
  .bim-footer-brand__words { gap: .6cqw; }
  .bim-footer-brand__name { font-size: 6.2cqw; letter-spacing: -.025em; }
  .bim-footer-brand__caption { font-size: 3.55cqw; letter-spacing: -.03em; }
  .bim-footer__heading { margin-bottom: 4.5cqw; font-size: 3.35cqw; letter-spacing: .27em; }
  .bim-footer-nav__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 2.9cqw 5cqw; }
  .bim-footer-nav a { min-height: 32px; font-size: 5.5cqw; line-height: 1.25; }
  .bim-footer-contact__phone { font-size: 7.8cqw; }
  .bim-footer-contact__email { margin-top: 2.5cqw; font-size: 5.9cqw; }
  .bim-footer-contact__address { margin-top: 4.6cqw; font-size: 5.4cqw; line-height: 1.25; }
  .bim-footer__legal { grid-template-columns: minmax(0, 1fr); gap: 7.6cqw; padding-top: 5.7cqw; }
  .bim-footer__company { font-size: 4.4cqw; line-height: 1.45; }
  .bim-footer-documents { justify-self: start; max-width: 29ch; }
  .bim-footer-documents__list { gap: 6cqw; }
  .bim-footer-documents a { font-size: 4.6cqw; line-height: 1.35; }
  .bim-footer__bottom { flex-wrap: wrap; gap: 3cqw; margin-top: 7cqw; }
  .bim-footer__copyright { font-size: 3.75cqw; }
  .bim-back-to-top { margin-left: auto; font-size: 4cqw; gap: 3.5cqw; }
  .bim-back-to-top__icon { width: 10.5cqw; height: 10.5cqw; }
  .bim-back-to-top__icon .bim-arrow { width: 5.2cqw; height: 5.2cqw; }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .bim-header { gap: 22px; }
  .bim-brand { gap: 14px; }
  .bim-brand__mark { width: 49px; height: 57px; }
  .bim-brand__name { font-size: 21px; }
  .bim-brand__caption { font-size: 12px; }
  .bim-nav__list { gap: 30px; }
  .bim-nav a { font-size: 16px; }
  .bim-phone { font-size: 21px; gap: 10px; }
  .bim-hero { min-height: 590px; padding-top: 55px; }
  .bim-kicker { font-size: 12px; }
  .bim-description { font-size: 23px; max-width: 430px; margin-top: 24px; margin-bottom: 25px; }
  .bim-actions { gap: 28px; }
  .bim-button { min-width: 270px; padding-left: 35px; font-size: 20px; min-height: 58px; }
  .bim-projects { font-size: 18px; }
  .bim-quote__note { font-size: 13px; }
  .bim-model__word { font-size: 20.125cqw; }
  .bim-service a { padding-left: 26px; padding-right: 22px; gap: 20px; }
  .bim-service__name { font-size: 20px; }
  .bim-service:last-child a { gap: 17px; }
  .bim-service:last-child .bim-service__name { font-size: 18px; }
}

@media (max-width: 1199px) {
  :root { --bim-gutter: 5%; }
  .bim-header { min-height: 107px; margin-inline: 2.6%; padding-inline: 2.4%; gap: 30px; }
  .bim-brand__mark { width: 57px; height: 65px; }
  .bim-brand { gap: 20px; }
  .bim-brand__name { font-size: 25px; }
  .bim-phone { margin-left: auto; font-size: 25px; }
  .bim-menu-toggle { display: block; margin-left: 20px; }
  .js .bim-nav { position: absolute; left: 0; right: 0; top: 100%; padding: 24px; margin: 0; border: 1px solid var(--bim-line); border-top: 0; background: var(--bim-paper); }
  .js .bim-nav__list { justify-content: space-between; gap: 20px; }
  .js .bim-nav a { font-size: 20px; }
  .no-js .bim-header { flex-wrap: wrap; padding-block: 15px; }
  .no-js .bim-nav { order: 4; width: 100%; padding-block: 10px; }
  .no-js .bim-nav__list { flex-wrap: wrap; justify-content: space-between; }
  .no-js .bim-menu-toggle { display: none; }
  .bim-hero { min-height: 0; padding-top: 36px; padding-bottom: 0; }
  .bim-copy { max-width: none; width: 100%; }
  .bim-kicker { font-size: 16px; margin-bottom: 18px; letter-spacing: .35em; }
  .bim-title { font-size: clamp(70px, 8.6cqw, 103px); line-height: .94; letter-spacing: -.055em; }
  .bim-title span { transform: scaleX(1.075); transform-origin: left top; }
  .bim-description { max-width: 960px; margin-top: 23px; margin-bottom: 25px; font-size: clamp(24px, 2.65cqw, 31px); line-height: 1.26; }
  .bim-actions { gap: 47px; }
  .bim-button { min-width: 360px; min-height: 73px; font-size: 27px; padding-left: 51px; }
  .bim-projects { font-size: 26px; margin-top: 23px; }
  .bim-quote__note { margin-top: 8px; font-size: 18px; }
  .bim-break-compact { display: none; }
  .bim-break-tablet { display: initial; }
  .bim-model { position: relative; width: calc(100% + 11.111%); height: auto; aspect-ratio: 1.8; top: auto; right: auto; margin: -8px -5.555% 0; }
  .bim-model__image { width: 90%; top: 0; bottom: auto; right: 1%; }
  .bim-model__word { top: -20px; right: 4.6%; font-size: 30.5cqw; transform: scaleX(1.18); }
  .bim-label { font-size: 16px; }
  .bim-label--equipment { left: 18.3%; top: 13%; }
  .bim-label--equipment svg { width: 80px; height: 55px; }
  .bim-label--structure { left: 79%; top: 15%; }
  .bim-label--networks { right: 2.8%; top: 42%; }
  .bim-model figcaption { right: 2.8%; bottom: 20px; font-size: 14px; }
  .bim-services { grid-template-columns: 1fr 1fr; padding: 12px 0 0; margin-inline: 2.6%; }
  .bim-service a { min-height: 78px; gap: 49px; padding: 14px 28px 14px 30px; }
  .bim-service:nth-child(3) { border-left: 0; }
  .bim-service:nth-child(n+3) { border-top: 1px solid var(--bim-line); }
  .bim-service__number { font-size: 23px; }
  .bim-service__name { font-size: 27px; }
  .bim-service .bim-arrow { width: 28px; height: 28px; }
  .bim-service:last-child a { gap: 49px; }
  .bim-service:last-child .bim-service__name { max-width: 235px; white-space: normal; font-size: 27px; }
}

@media (min-width: 600px) and (max-width: 900px) {
  .bim-header { min-height: 88px; gap: 20px; }
  .bim-brand { gap: 13px; }
  .bim-brand__mark { width: 43px; height: 50px; }
  .bim-brand__name { font-size: 19px; }
  .bim-brand__caption { font-size: 11px; }
  .bim-phone { font-size: 19px; gap: 9px; }
  .bim-menu-toggle { margin-left: 5px; width: 37px; }
  .bim-button { min-width: 300px; min-height: 61px; font-size: 23px; padding-left: 35px; }
  .bim-quote__note { font-size: 15px; }
  .bim-projects { font-size: 22px; margin-top: 18px; }
  .bim-actions { gap: 30px; }
  .bim-label { font-size: 12px; }
  .bim-service a { gap: 25px; padding-inline: 22px; }
  .bim-service__name { font-size: 22px; }
  .bim-service:last-child a { gap: 25px; }
  .bim-service:last-child .bim-service__name { font-size: 22px; }
  .bim-service__number { font-size: 18px; }
}

@media (max-width: 599px) {
  :root { --bim-gutter: 5.65%; }
  .bim-header { min-height: 62px; margin-inline: 2.8%; padding-inline: 2.85%; gap: 22px; }
  .bim-brand { gap: 10px; }
  .bim-brand__mark { width: 33px; height: 38px; }
  .bim-brand__name { font-size: 14.3px; letter-spacing: -.02em; }
  .bim-brand__caption { font-size: 8.8px; letter-spacing: -.025em; }
  .bim-brand__words { gap: 2px; }
  .bim-phone { margin-left: auto; }
  .bim-phone svg { width: 22px; height: 22px; }
  .bim-phone__number { display: none; }
  .bim-menu-toggle { width: 25px; height: 30px; margin-left: 0; flex-shrink: 0; }
  .js .bim-nav { padding: 24px 18px; }
  .js .bim-nav__list { flex-direction: column; align-items: flex-start; gap: 20px; }
  .js .bim-nav a { font-size: 19px; }
  .no-js .bim-nav__list { gap: 14px; }
  .no-js .bim-nav a { font-size: 14px; }
  .bim-hero { padding-top: 20px; }
  .bim-kicker { margin-bottom: 14px; font-size: 9px; letter-spacing: .37em; }
  .bim-title { font-size: 12.25cqw; line-height: .94; font-weight: 850; letter-spacing: -.055em; }
  .bim-title span { transform: scaleX(1.083); }
  .bim-description { margin-top: 17px; margin-bottom: 19px; max-width: none; font-size: 4.35cqw; line-height: 1.33; font-weight: 350; letter-spacing: -.025em; }
  .bim-break-compact { display: initial; }
  .bim-break-tablet { display: none; }
  .bim-actions { display: block; }
  .bim-button { width: 100%; min-width: 0; min-height: 45px; padding: 10px 15px 10px 23px; font-size: 20px; border-radius: 4px; }
  .bim-button .bim-arrow { width: 23px; height: 23px; }
  .bim-quote__note { margin-top: 6px; font-size: 12px; letter-spacing: -.025em; }
  .bim-projects { margin-top: 21px; font-size: 17px; gap: 11px; }
  .bim-projects .bim-arrow { width: 21px; height: 21px; }
  .bim-model { width: calc(100% + 12.74%); margin: 26px -6.37% 0; aspect-ratio: auto; height: 87cqw; }
  .bim-model__image { width: 108%; right: -4%; top: 35px; bottom: auto; }
  .bim-model__word { top: -10px; right: 5%; font-size: 40cqw; letter-spacing: -.07em; transform: scaleX(1.41); }
  .bim-labels { display: flex; justify-content: center; align-items: center; inset: auto 4.5% 32px; gap: 0; }
  .bim-label { position: static; font-size: 11.6px; line-height: 1.4; font-weight: 400; padding-inline: 5.2%; }
  .bim-label + .bim-label { border-left: 1px solid #b9b9b6; }
  .bim-label svg { display: none; }
  .bim-model figcaption { bottom: 12px; right: 0; width: 100%; text-align: center; font-size: 9.5px; }
  .bim-services { margin-inline: 2.8%; padding-top: 9px; }
  .bim-service a { position: relative; flex-wrap: wrap; align-content: flex-start; gap: 4px; min-height: 56px; padding: 3px 20px 10px 11px; }
  .bim-service__number { flex-basis: 100%; font-size: 12px; line-height: 1.3; }
  .bim-service__name { font-size: 14.5px; line-height: 1.12; letter-spacing: -.035em; }
  .bim-service .bim-arrow { width: 18px; height: 18px; position: absolute; right: 20px; top: 23px; }
  .bim-service:nth-child(even) a { padding-left: 19px; padding-right: 25px; }
  .bim-service:nth-child(even) .bim-arrow { right: 29px; }
  .bim-service:nth-child(n+3) a { padding-top: 10px; min-height: 66px; }
  .bim-service:nth-child(n+3) .bim-arrow { top: 31px; }
  .bim-service:last-child a { gap: 4px; }
  .bim-service:last-child .bim-service__name { max-width: 105px; font-size: 14.5px; }
  .bim-dialog { padding: 34px 24px 24px; }
  .bim-dialog h2 { font-size: 28px; }
  .bim-dialog__contacts { font-size: 19px; }
}

@media (max-width: 359px) {
  .bim-header { gap: 17px; }
  .bim-brand { gap: 8px; }
  .bim-brand__mark { width: 28px; height: 33px; }
  .bim-brand__name { font-size: 12px; }
  .bim-brand__caption { font-size: 7.4px; }
  .bim-phone svg { width: 20px; height: 20px; }
  .bim-kicker { font-size: 7.7px; }
  .bim-quote__note { font-size: 10.5px; }
  .bim-label { font-size: 10px; padding-inline: 4%; }
  .bim-service__name { font-size: 12px; }
  .bim-service:last-child .bim-service__name { font-size: 12px; }
  .bim-service .bim-arrow { right: 12px; width: 16px; height: 16px; }
  .bim-service:nth-child(even) .bim-arrow { right: 16px; }
}

@media (prefers-reduced-motion: no-preference) {
  a, button { transition: color 160ms ease-out, background-color 160ms ease-out; }
  .bim-nav a::after, .bim-phone__number::after, .bim-service__name::after, .bim-projects span::after, .bim-solution-link span::after {
    transition: transform var(--bim-motion-duration) var(--bim-motion-easing);
  }
  .bim-button .bim-arrow, .bim-projects .bim-arrow, .bim-service .bim-arrow, .bim-solution-link .bim-arrow {
    transition: transform var(--bim-motion-duration) var(--bim-motion-easing);
  }
  .bim-button:is(:hover, :focus-visible) .bim-arrow,
  .bim-projects:is(:hover, :focus-visible) .bim-arrow,
  .bim-service a:is(:hover, :focus-visible) .bim-arrow,
  .bim-solution-link:is(:hover, :focus-visible) .bim-arrow { transform: translate(3px, -3px); }
  .bim-footer-nav a::after, .bim-footer-contact__phone::after, .bim-footer-contact__email .bim-arrow, .bim-back-to-top .bim-arrow { transition: transform var(--bim-motion-duration) var(--bim-motion-easing); }
  .bim-back-to-top__icon { transition: background-color 160ms ease-out; }
  .bim-footer-contact__email:is(:hover, :focus-visible) .bim-arrow { transform: translate(3px, -3px); }
  .bim-back-to-top:is(:hover, :focus-visible) .bim-arrow { transform: rotate(-45deg) translate(3px, -3px); }
}

@media (prefers-reduced-motion: reduce) {
  .bim-nav a::after, .bim-phone__number::after, .bim-service__name::after, .bim-projects span::after, .bim-solution-link span::after {
    transition: none;
  }
  .bim-button .bim-arrow, .bim-projects .bim-arrow, .bim-service .bim-arrow, .bim-solution-link .bim-arrow {
    transform: none;
    transition: none;
  }
}
