:root {
        --color-bg: #f0efeb;
        --color-text: #111111;
        --color-muted: #747474;
        --color-line: #d8d8d2;
        --color-accent: #fe3300;
        --container-max: 1440px;
        --container-pad: 64px;
        --font-main: "Helvetica Neue", Helvetica, Arial, sans-serif;
        --text-label: 16px;
        --text-body: 18px;
        --text-nav: 18px;
        --text-lead: 36px;
        --text-section-title: 36px;
        --text-hero: 48px;
        --lh-tight: 1.1;
        --lh-title: 1.2;
        --lh-body: 1.5;
        --tracking-tight: -0.02em;
        --tracking-body: -0.011em;
        --button-radius: 6px;
      }

      * {
        box-sizing: border-box;
      }

      html {
        min-height: 100%;
        background: var(--color-bg);
        color: var(--color-text);
        font-family: var(--font-main);
        font-size: 16px;
        line-height: 1.2;
        scroll-behavior: smooth;
        scrollbar-width: thin;
        scrollbar-color: var(--color-accent) var(--color-bg);
      }

      html::-webkit-scrollbar {
        width: 8px;
        height: 8px;
      }

      html::-webkit-scrollbar-track {
        background: var(--color-bg);
      }

      html::-webkit-scrollbar-thumb {
        min-height: 48px;
        border: 2px solid var(--color-bg);
        border-radius: 4px;
        background: var(--color-accent);
      }

      html::-webkit-scrollbar-thumb:hover {
        background: var(--color-accent);
      }

      body {
        min-height: 100vh;
        margin: 0;
        background: var(--color-bg);
        color: var(--color-text);
        text-rendering: geometricPrecision;
        -webkit-font-smoothing: antialiased;
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      img {
        display: block;
        max-width: 100%;
        height: auto;
      }

      .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }

      .site-header {
        width: 100%;
        background: var(--color-bg);
      }

      .site-header__inner {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 40px;
        width: 100%;
        max-width: var(--container-max);
        min-height: 0;
        margin: 0 auto;
        padding: 24px var(--container-pad) 16px;
        position: relative;
        z-index: 1;
      }

      .site-header__brand {
        display: inline-flex;
        align-items: center;
        line-height: 0;
        transform-origin: left center;
        transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
      }

      .site-header__brand:hover,
      .site-header__brand:focus-visible {
        transform: scale(1.035);
      }

      .site-header__logo {
        width: 224px;
        height: 26px;
        object-fit: contain;
        object-position: left center;
      }

      .site-header__cta {
        justify-self: end;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 58px;
        padding: 14px 24px;
        border: 1px solid var(--color-text);
        border-radius: var(--button-radius);
        background: transparent;
        color: var(--color-text);
        font-size: 18px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: -0.011em;
        transition:
          border-color 0.24s ease,
          color 0.5s ease;
      }

      .site-header__cta::before {
        content: "";
        width: 8px;
        height: 8px;
        margin-right: 12px;
        background: var(--color-text);
        transition: background-color 0.32s ease;
      }

      .site-header__cta:hover,
      .site-header__cta:focus-visible {
        border-color: var(--color-accent);
        box-shadow: none;
        color: var(--color-accent);
        transition:
          border-color 0.24s ease,
          color 0.05s ease;
      }

      .site-header__cta:hover::before,
      .site-header__cta:focus-visible::before {
        background: var(--color-accent);
        transition: background-color 0.05s ease;
      }

      main {
        padding-top: 0;
      }

      .video-hero {
        width: 100%;
        max-width: var(--container-max);
        margin: 0 auto;
        padding: 32px var(--container-pad) 64px;
      }

      .video-hero__wrap {
        display: flex;
        justify-content: flex-end;
        width: 100%;
      }

      .video-hero__media {
        position: relative;
        width: min(100%, 820px);
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: #d8d8d2;
      }

      .video-hero__media img,
      .video-hero__media video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .video-hero__fallback {
        position: absolute;
        inset: 0;
        z-index: 0;
      }

      .video-hero__media video {
        position: relative;
        z-index: 1;
      }

      .video-hero__media.is-fallback video {
        opacity: 0;
        pointer-events: none;
      }

      .intro {
        width: 100%;
        max-width: var(--container-max);
        margin: 0 auto;
        padding: 0 var(--container-pad) 96px;
      }

      .intro__top {
        display: grid;
        grid-template-columns: minmax(0, 674px) auto;
        gap: 40px;
        align-items: end;
      }

      .intro__title {
        position: relative;
        margin: 0;
        max-width: 674px;
        font-size: var(--text-hero);
        font-weight: 500;
        line-height: var(--lh-title);
        letter-spacing: var(--tracking-tight);
      }

      .intro__accent {
        position: absolute;
        left: 50%;
        top: 50%;
        width: calc(100% + 34px);
        height: auto;
        transform: translate(-50%, -52%);
        pointer-events: none;
      }

      .intro__title em {
        position: relative;
        display: inline-block;
        font-style: italic;
        font-weight: 500;
      }

      .intro__lead {
        width: min(100%, 755px);
        margin: 56px 0 0 auto;
        font-size: var(--text-lead);
        font-weight: 400;
        line-height: 1.25;
        letter-spacing: var(--tracking-body);
      }

      .services {
        width: 100%;
        max-width: var(--container-max);
        margin: 0 auto;
        padding: 64px var(--container-pad) 96px;
      }

      .section-head {
        display: flex;
        flex-direction: column;
        gap: 40px;
        margin-bottom: 24px;
      }

      .section-label {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        font-size: var(--text-label);
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0;
      }

      .section-label::before {
        content: "";
        width: 8px;
        height: 8px;
        flex: 0 0 auto;
        background: var(--color-accent);
      }

      .section-line {
        width: 100%;
        height: 1px;
        background: var(--color-text);
      }

      .services__grid {
        display: grid;
        grid-template-columns: 541px minmax(0, 755px);
        gap: 16px;
        align-items: start;
        min-height: 634px;
      }

      .services__preview {
        position: sticky;
        top: clamp(40px, 5vw, 72px);
        width: 100%;
        overflow: hidden;
        background: #d8d8d2;
        opacity: 0;
        visibility: hidden;
      }

      .services__preview.is-visible {
        opacity: 1;
        visibility: visible;
      }

      .services__preview.is-horizontal {
        aspect-ratio: 541 / 300;
      }

      .services__preview.is-vertical {
        aspect-ratio: 541 / 634;
      }

      .services__media {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
      }

      .services__media.is-active {
        opacity: 1;
        visibility: visible;
      }

      .services__media img,
      .services__media video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .clients {
        background: #000000;
        color: #ffffff;
        padding: 64px var(--container-pad) 80px;
      }

      .clients__inner {
        width: 100%;
        max-width: 1312px;
        margin: 0 auto;
      }

      .clients .section-head {
        margin-bottom: 64px;
      }

      .clients .section-line {
        background: rgba(255, 255, 255, 0.22);
      }

      .clients__text-wrap {
        position: relative;
        display: flex;
        justify-content: flex-end;
        margin-bottom: 88px;
      }

      .clients__text {
        position: relative;
        width: min(100%, 755px);
        margin: 0;
        font-size: var(--text-lead);
        font-weight: 500;
        line-height: 1.3;
        letter-spacing: var(--tracking-tight);
      }

      .clients__wow {
        position: relative;
        display: inline-block;
        font-style: italic;
        white-space: nowrap;
      }

      .clients__wow-outline {
        position: absolute;
        left: -18px;
        top: 50%;
        width: calc(100% + 36px);
        height: 1.18em;
        transform: translateY(-47%) rotate(-3deg);
        overflow: visible;
        pointer-events: none;
      }

      .clients__wow-outline path {
        fill: none;
        stroke: var(--color-accent);
        stroke-width: 3;
        vector-effect: non-scaling-stroke;
      }

      .clients__star {
        display: inline-block;
        width: 38px;
        height: 36px;
        margin-left: 10px;
        vertical-align: -0.12em;
        color: #fcde7b;
        transform-origin: 50% 50%;
      }

      .clients__star-group {
        display: inline-flex;
        align-items: baseline;
        white-space: nowrap;
      }

      .clients__star:hover,
      .clients__text:hover .clients__star {
        animation: clients-star-wiggle 0.7s ease both;
      }

      @keyframes clients-star-wiggle {
        0% {
          transform: rotate(0deg) scale(1);
        }
        30% {
          transform: rotate(-8deg) scale(1.14);
        }
        60% {
          transform: rotate(6deg) scale(1.06);
        }
        100% {
          transform: rotate(0deg) scale(1);
        }
      }

      .clients__logos {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 32px;
        align-items: center;
        perspective: 1200px;
      }

      .clients__logo {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: clamp(132px, 14vw, 198px);
        overflow: hidden;
      }

      .logo-rotator {
        --logo-rotator-width: clamp(172px, 18vw, 260px);
        --logo-rotator-height: calc(var(--logo-rotator-width) * 0.9);
        --logo-rotator-depth: calc(var(--logo-rotator-height) / 2);
        width: 100%;
        max-width: var(--logo-rotator-width);
        height: var(--logo-rotator-height);
        perspective: 900px;
      }

      .logo-rotator__cube {
        position: relative;
        width: 100%;
        height: 100%;
        transform-style: preserve-3d;
        transition: transform 1.62s cubic-bezier(0.58, 0, 0.12, 1);
      }

      .logo-rotator__face {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        backface-visibility: hidden;
      }

      .logo-rotator__face--front {
        transform: rotateX(0deg) translateZ(var(--logo-rotator-depth));
      }

      .logo-rotator__face--top {
        transform: rotateX(90deg) translateZ(var(--logo-rotator-depth));
      }

      .logo-rotator__face--back {
        transform: rotateX(180deg) translateZ(var(--logo-rotator-depth));
      }

      .logo-rotator__face--bottom {
        transform: rotateX(270deg) translateZ(var(--logo-rotator-depth));
      }

      .clients__logo img {
        width: 100%;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
      }

      .clients__logo-mark {
        display: flex;
        width: calc(82% * var(--client-logo-scale, 1));
        height: calc(58% * var(--client-logo-scale, 1));
        align-items: center;
        justify-content: center;
      }

      .clients__logo-mark--wide {
        width: calc(92% * var(--client-logo-scale, 1));
        height: calc(50% * var(--client-logo-scale, 1));
      }

      .clients__logo-mark--compact {
        width: calc(62% * var(--client-logo-scale, 1));
        height: calc(62% * var(--client-logo-scale, 1));
      }

      .clients__logo-mark.is-white {
        background: #000000;
        padding: 12px;
      }

      .clients__logo-img.is-white {
        filter: grayscale(1) brightness(0) invert(1);
      }

      .clients__logo-placeholder {
        filter: none;
      }

      .cases {
        width: 100%;
        max-width: var(--container-max);
        margin: 0 auto;
        padding: 64px var(--container-pad) 96px;
      }

      .cases .section-head {
        gap: 40px;
        margin-bottom: 48px;
      }

      .cases__head-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
      }

      .cases__tabs {
        position: relative;
        display: flex;
        gap: 16px;
        align-items: flex-end;
        justify-content: flex-end;
      }

      .cases__tab {
        position: relative;
        min-width: 230px;
        padding: 0 24px;
        border: 0;
        border-radius: var(--button-radius);
        background: transparent;
        color: var(--color-muted);
        font: inherit;
        font-size: var(--text-body);
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: var(--tracking-body);
        text-align: center;
        cursor: pointer;
        transition:
          color 0.24s ease;
      }

      .cases__tab::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: -41px;
        left: 0;
        height: 2px;
        background: var(--color-text);
        opacity: 0;
        transition: opacity 0.24s ease;
      }

      .cases__tab:hover,
      .cases__tab:focus-visible {
        color: var(--color-accent);
      }

      .cases__tab.is-active {
        color: var(--color-text);
      }

      .cases__tab.is-active::after {
        opacity: 1;
      }

      .cases__grid {
        --cases-row-gap: 48px;
        display: flex;
        flex-wrap: wrap;
        gap: var(--cases-row-gap) 16px;
      }

      .cases__grid.is-isotope {
        display: block;
        margin-bottom: calc(-1 * var(--cases-row-gap));
      }

      .cases__grid.is-isotope .case-card {
        margin-bottom: var(--cases-row-gap);
      }

      .case-card[hidden] {
        display: none;
      }

      .case-card {
        display: flex;
        flex-direction: column;
        gap: 0;
        opacity: 1;
        transform: translateY(0);
      }

      .case-card--narrow {
        width: calc((100% - 16px) * 0.41744);
      }

      .case-card--wide {
        width: calc((100% - 16px) * 0.58256);
      }

      .case-card__tag {
        display: none;
      }

      .case-card__link {
        display: flex;
        flex-direction: column;
        gap: 24px;
      }

      .case-card__media {
        position: relative;
        display: block;
        width: 100%;
        overflow: hidden;
        background: #d8d8d2;
        transform-origin: center center;
        transition:
          transform 0.52s cubic-bezier(0.22, 1, 0.36, 1),
          filter 0.38s ease;
      }

      .case-card__media-variant {
        position: absolute;
        inset: 0;
      }

      .case-card__media-variant--mobile {
        display: none;
      }

      .case-card__media-poster {
        z-index: 2;
        pointer-events: none;
        opacity: 1;
        transition: opacity 0.2s ease;
      }

      .case-card__media.is-ready .case-card__media-poster {
        opacity: 0;
      }

      .case-card__media--sm {
        aspect-ratio: 541 / 340;
      }

      .case-card__media--lg {
        aspect-ratio: 755 / 500;
      }

      .case-card__media img {
        display: block;
        position: absolute;
        inset: -16px 0;
        width: 100%;
        max-width: none;
        height: calc(100% + 32px);
        object-fit: cover;
        transform-origin: center center;
        transition: transform 0.52s cubic-bezier(0.22, 1, 0.36, 1);
      }

      .case-card__media video {
        display: block;
        position: absolute;
        inset: -16px 0;
        width: 100%;
        max-width: none;
        height: calc(100% + 32px);
        object-fit: cover;
        transform-origin: center center;
        transition: transform 0.52s cubic-bezier(0.22, 1, 0.36, 1);
      }

      .case-card__title {
        margin: 0;
        color: var(--color-text);
        font-size: 24px;
        font-weight: 500;
        line-height: 1.35;
        letter-spacing: var(--tracking-body);
        text-transform: none;
        transition: color 0.22s ease;
      }

      .case-card__title span {
        color: var(--color-muted);
        font-weight: 400;
        transition: color 0.22s ease;
      }

      .cases__empty {
        margin: 36px 0 0;
        color: var(--color-muted);
        font-size: var(--text-body);
      }

      .cases__more {
        display: flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
        min-height: 54px;
        margin-top: 56px;
        margin-right: auto;
        margin-left: auto;
        padding: 14px 24px;
        border: 1px solid var(--color-text);
        border-radius: var(--button-radius);
        background: transparent;
        color: var(--color-text);
        font: inherit;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: var(--tracking-body);
        cursor: pointer;
        transition:
          border-color 0.24s ease,
          color 0.24s ease;
      }

      .cases__more::before {
        content: "";
        width: 8px;
        height: 8px;
        margin-right: 12px;
        background: currentColor;
      }

      .cases__more:hover,
      .cases__more:focus-visible {
        border-color: var(--color-accent);
        color: var(--color-accent);
      }

      .awards {
        width: 100%;
        max-width: var(--container-max);
        margin: 0 auto;
        padding: 64px var(--container-pad) 96px;
      }

      .awards .section-head {
        gap: 40px;
        margin-bottom: 20px;
      }

      .awards__grid {
        display: grid;
        grid-template-columns: 541px minmax(0, 755px);
        gap: 16px;
        align-items: start;
      }

      .awards__spacer {
        display: block;
      }

      .awards__heading {
        margin: 0;
        color: var(--color-text);
        font-size: var(--text-section-title);
        font-weight: 500;
        line-height: var(--lh-tight);
        letter-spacing: var(--tracking-tight);
      }

      .awards__list {
        display: flex;
        flex-direction: column;
        gap: 40px;
      }

      .award {
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding-bottom: 40px;
        border-bottom: 1px solid var(--color-text);
      }

      .award__link {
        display: flex;
        flex-direction: column;
        gap: 24px;
        color: inherit;
        text-decoration: none;
      }

      .award__link:focus-visible {
        outline: 2px solid var(--color-accent);
        outline-offset: 8px;
      }

      .award:last-child {
        padding-bottom: 0;
        border-bottom: 0;
      }

      .award__title {
        margin: 0;
        color: var(--color-text);
        font-size: var(--text-section-title);
        font-weight: 500;
        line-height: var(--lh-tight);
        letter-spacing: var(--tracking-tight);
      }

      .award__sub {
        margin: 0;
        color: var(--color-muted);
        font-size: var(--text-body);
        line-height: var(--lh-body);
        letter-spacing: var(--tracking-body);
      }

      .award__media {
        width: min(100%, 360px);
        aspect-ratio: 16 / 10;
        overflow: hidden;
        background: #d8d8d2;
      }

      .award__media img,
      .award__media video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      @media (hover: hover) {
        .award__link:hover .award__title {
          color: var(--color-accent);
        }
      }

      .reviews {
        --reviews-hover-bg: rgba(255, 255, 255, 0.14);
        --reviews-hover-border: rgba(255, 255, 255, 0.96);
        background: #000000;
        color: #ffffff;
        padding: 64px var(--container-pad) 80px;
      }

      .reviews__inner {
        width: 100%;
        max-width: 1312px;
        margin: 0 auto;
      }

      .reviews .section-head {
        gap: 40px;
        margin-bottom: 48px;
      }

      .reviews .section-line {
        background: rgba(255, 255, 255, 0.22);
      }

      .reviews__stage {
        display: grid;
        position: relative;
        grid-template-columns: minmax(0, 870px) minmax(0, 426px);
        gap: 16px;
        align-items: start;
      }

      .reviews__stage.is-no-visual {
        grid-template-columns: minmax(0, 870px);
      }

      .reviews__card {
        display: flex;
        min-height: 426px;
        flex-direction: column;
        justify-content: space-between;
        padding: 48px 40px 40px;
        background: #1f1f1f;
        border-radius: 0;
      }

      .reviews__mobile-author {
        display: none;
      }

      .reviews__quote {
        display: -webkit-box;
        max-width: 780px;
        height: calc(24px * 1.45 * 3);
        margin: 0;
        overflow: hidden;
        color: #ffffff;
        font-family: var(--font-main);
        font-size: 24px;
        font-weight: 400;
        line-height: 1.45;
        letter-spacing: var(--tracking-body);
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
      }

      .reviews__read {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
        min-height: 52px;
        margin-top: 28px;
        padding: 12px 24px;
        border: 1px solid rgba(255, 255, 255, 0.88);
        border-radius: var(--button-radius);
        background: transparent;
        color: #ffffff;
        font: inherit;
        font-size: 18px;
        line-height: 1.2;
        cursor: pointer;
        transition:
          border-color 0.24s ease,
          color 0.24s ease;
      }

      .reviews__read::before {
        content: "";
        width: 8px;
        height: 8px;
        margin-right: 12px;
        background: currentColor;
      }

      .reviews__read:hover,
      .reviews__read:focus-visible {
        border-color: var(--reviews-hover-border);
        background: var(--reviews-hover-bg);
        color: #ffffff;
      }

      .reviews__bottom {
        position: absolute;
        right: 466px;
        bottom: 40px;
        left: 40px;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 24px;
      }

      .reviews__avatars {
        display: flex;
        align-items: center;
        gap: 20px;
      }

      .reviews__avatar {
        position: relative;
        width: 72px;
        height: 72px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: transparent;
        cursor: pointer;
      }

      .reviews__avatar::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 80px;
        height: 82px;
        background: url("/assets/review-avatar-active.svg") center / contain no-repeat;
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, -50%);
        transition: opacity 0.2s ease;
      }

      .reviews__avatar.is-active::after {
        opacity: 1;
      }

      .reviews__avatar:hover::after,
      .reviews__avatar:focus-visible::after {
        opacity: 1;
      }

      .reviews__avatar img {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
      }

      .reviews__avatar span {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.16);
      }

      .reviews__avatar:nth-child(n + 6) {
        display: none;
      }

      .reviews__nav {
        display: flex;
        gap: 16px;
      }

      .reviews__nav-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        padding: 0;
        border: 1px solid transparent;
        border-radius: 4px;
        background: #6d6e70;
        color: #ffffff;
        cursor: pointer;
        transition:
          background-color 0.24s ease,
          color 0.24s ease;
      }

      .reviews__nav-btn:hover,
      .reviews__nav-btn:focus-visible {
        border-color: transparent;
        background: #9d9d9d;
        color: #ffffff;
      }

      .reviews__nav-btn svg {
        width: 22px;
        height: 22px;
      }

      .reviews__visual {
        position: relative;
        width: 100%;
        min-height: 0;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        border-radius: 0;
        background: rgba(255, 255, 255, 0.12);
      }

      .reviews__visual.is-empty {
        display: none;
      }

      .reviews__visual::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 49.51%, #000000 100%);
      }

      .reviews__photo {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness(0.86);
      }

      .reviews__photo[hidden],
      .reviews__mobile-avatar[hidden],
      .review-modal__avatar[hidden] {
        display: none;
      }

      .reviews__person {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        z-index: 2;
        padding: 40px;
      }

      .reviews__name {
        margin: 0;
        color: #ffffff;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.2;
      }

      .reviews__contact {
        color: rgba(255, 255, 255, 0.86);
        font-size: 18px;
        line-height: 1.2;
      }

      .contractors {
        padding: 64px var(--container-pad);
        background: var(--color-bg);
        color: var(--color-text);
      }

      .contractors__inner {
        width: 100%;
        max-width: 1312px;
        margin: 0 auto;
      }

      .contractors .section-head {
        gap: 40px;
        margin-bottom: 48px;
      }

      .contractors__stage {
        display: grid;
        grid-template-columns: minmax(0, 870px) minmax(0, 426px);
        gap: 16px;
        align-items: stretch;
      }

      .contractors__stage.is-no-visual {
        grid-template-columns: minmax(0, 870px);
      }

      .contractors__card {
        display: flex;
        min-height: 426px;
        flex-direction: column;
        justify-content: space-between;
        padding: 48px 40px 40px;
        background: #ffffff;
      }

      .contractors__mobile-person {
        display: none;
      }

      .contractors__text {
        display: -webkit-box;
        max-width: 780px;
        height: 6em;
        margin: 0;
        overflow: hidden;
        color: var(--color-text);
        font-size: 24px;
        line-height: 1.5;
        letter-spacing: var(--tracking-body);
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
      }

      .contractors__bottom {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 24px;
      }

      .contractors__avatars {
        display: flex;
        align-items: center;
        gap: 20px;
        min-width: 0;
      }

      .contractors__avatar {
        position: relative;
        width: 72px;
        height: 72px;
        flex: 0 0 auto;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: transparent;
        cursor: pointer;
      }

      .contractors__avatar::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 80px;
        height: 82px;
        background: url("/assets/review-avatar-active.svg") center / contain no-repeat;
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, -50%);
        transition: opacity 0.2s ease;
      }

      .contractors__avatar.is-active::after,
      .contractors__avatar:hover::after,
      .contractors__avatar:focus-visible::after {
        opacity: 1;
      }

      .contractors__avatar img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        object-fit: cover;
        opacity: 0.56;
        transition: opacity 0.2s ease;
      }

      .contractors__avatar span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background: #e3e1dc;
        color: var(--color-text);
        font-size: 24px;
        font-weight: 500;
        line-height: 1;
        opacity: 0.56;
        transition: opacity 0.2s ease;
      }

      .contractors__avatar.is-active img,
      .contractors__avatar:hover img,
      .contractors__avatar:focus-visible img,
      .contractors__avatar.is-active span,
      .contractors__avatar:hover span,
      .contractors__avatar:focus-visible span {
        opacity: 1;
      }

      .contractors__avatar:nth-child(n + 6) {
        display: none;
      }

      .contractors__nav {
        display: flex;
        gap: 16px;
        flex: 0 0 auto;
      }

      .contractors__nav-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        padding: 0;
        border: 1px solid var(--color-text);
        border-radius: 4px;
        background: transparent;
        color: var(--color-text);
        cursor: pointer;
        transition:
          background-color 0.24s ease,
          border-color 0.24s ease,
          color 0.24s ease;
      }

      .contractors__nav-btn:hover,
      .contractors__nav-btn:focus-visible {
        border-color: #9d9d9d;
        background: #e3e1dc;
      }

      .contractors__nav-btn svg {
        width: 22px;
        height: 22px;
      }

      .contractors__visual {
        position: relative;
        width: 100%;
        min-height: 426px;
        overflow: hidden;
        background: rgba(0, 0, 0, 0.08);
      }

      .contractors__visual.is-empty {
        display: none;
      }

      .contractors__visual::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(180deg, rgba(62, 64, 66, 0) 18%, rgba(0, 0, 0, 0.72) 100%);
        pointer-events: none;
      }

      .contractors__photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .contractors__photo[hidden],
      .contractors__mobile-avatar[hidden] {
        display: none;
      }

      .contractors__person {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 40px;
      }

      .contractors__name {
        margin: 0;
        color: #ffffff;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.2;
      }

      .contractors__role {
        margin: 0;
        color: rgba(255, 255, 255, 0.86);
        font-size: 18px;
        line-height: 1.2;
      }

      .newsletter {
        padding: 64px var(--container-pad);
        background: var(--color-bg);
        color: var(--color-text);
      }

      .newsletter__inner {
        display: flex;
        width: 100%;
        max-width: 1312px;
        margin: 0 auto;
        flex-direction: column;
        gap: 48px;
      }

      .newsletter .section-head {
        gap: 40px;
        margin-bottom: 0;
      }

      .newsletter__grid {
        display: grid;
        grid-template-columns: minmax(0, 541px) minmax(0, 755px);
        gap: 16px;
        align-items: start;
      }

      .newsletter__title {
        margin: 0;
        color: var(--color-text);
        font-size: var(--text-section-title);
        font-weight: 500;
        line-height: var(--lh-tight);
        letter-spacing: var(--tracking-tight);
      }

      .newsletter__aside {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 40px;
      }

      .newsletter__copy {
        display: flex;
        width: 100%;
        flex-direction: column;
      }

      .newsletter__text {
        margin: 0 0 1.5em;
        color: var(--color-text);
        font-size: var(--text-body);
        line-height: var(--lh-body);
        letter-spacing: var(--tracking-body);
      }

      .newsletter__text:last-child {
        margin-bottom: 0;
      }

      .newsletter__cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
        min-height: 54px;
        padding: 14px 24px;
        border: 1px solid var(--color-text);
        border-radius: var(--button-radius);
        background: transparent;
        color: var(--color-text);
        font-size: 18px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: var(--tracking-body);
        transition:
          border-color 0.24s ease,
          color 0.24s ease;
      }

      .newsletter__cta::before {
        content: "";
        width: 8px;
        height: 8px;
        margin-right: 12px;
        background: currentColor;
      }

      .newsletter__cta:hover,
      .newsletter__cta:focus-visible {
        border-color: var(--color-accent);
        color: var(--color-accent);
      }

      .sticky-client {
        position: fixed;
        right: clamp(20px, 4vw, 64px);
        bottom: 24px;
        z-index: 120;
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 10px 16px;
        border: 1px solid var(--color-text);
        border-radius: 999px;
        background: var(--color-text);
        color: var(--color-bg);
        font-size: 15px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: var(--tracking-body);
        opacity: 0;
        pointer-events: none;
        transform: translateY(18px) scale(1);
        transform-origin: center center;
        transition:
          opacity 0.28s ease,
          transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
      }

      .sticky-client::before {
        content: "";
        width: 8px;
        height: 8px;
        margin-right: 12px;
        background: currentColor;
      }

      .sticky-client.is-visible {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0) scale(1);
      }

      .sticky-client:hover,
      .sticky-client:focus-visible {
        transform: translateY(0) scale(1.045);
      }

      .site-footer {
        position: relative;
        overflow: hidden;
        padding: 64px var(--container-pad) 40px;
        background: #000000;
        color: #ffffff;
      }

      .site-footer__inner {
        display: flex;
        width: 100%;
        max-width: 1312px;
        margin: 0 auto;
        flex-direction: column;
        gap: 56px;
      }

      .site-footer__top {
        display: grid;
        grid-template-columns: minmax(0, 541px) minmax(0, 755px);
        gap: 16px;
        align-items: start;
      }

      .site-footer__left {
        display: flex;
        flex-direction: column;
        gap: 40px;
      }

      .site-footer__intro {
        min-height: 184px;
      }

      .site-footer__title {
        max-width: 470px;
        margin: 0 0 24px;
        color: #ffffff;
        font-size: 36px;
        font-weight: 500;
        line-height: 1.1;
        letter-spacing: var(--tracking-tight);
      }

      .site-footer__lead {
        max-width: 470px;
        margin: 0;
        color: rgba(255, 255, 255, 0.5);
        font-size: 18px;
        line-height: 1.5;
        letter-spacing: var(--tracking-body);
      }

      .site-footer__bubble {
        display: inline-flex;
        width: fit-content;
        max-width: 470px;
        align-items: center;
        gap: 16px;
        padding: 12px 24px 12px 12px;
        border-radius: 999px;
        background: #1f1f1f;
        color: #ffffff;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.35;
        letter-spacing: var(--tracking-body);
      }

      .site-footer__avatar-wrap {
        position: relative;
        flex: 0 0 auto;
      }

	      .site-footer__avatar {
	        width: 64px;
	        height: 64px;
	        border-radius: 50%;
	        object-fit: cover;
	      }

	      .site-footer__avatar-placeholder {
	        display: block;
	        width: 64px;
	        height: 64px;
	        border-radius: 50%;
	        background: #141414;
	      }

	      .site-footer__status {
        position: absolute;
        right: 2px;
        bottom: 2px;
        width: 12px;
        height: 12px;
        border: 2px solid #1f1f1f;
        border-radius: 50%;
        background: #41d74f;
      }

      .site-footer__bubble a,
      .site-footer__meta a {
        color: #ffffff;
        font-weight: 400;
        text-decoration-line: underline;
        text-decoration-color: rgba(255, 255, 255, 0.32);
        text-decoration-thickness: 1px;
        text-underline-offset: 0.18em;
        text-decoration-skip-ink: none;
        transition:
          color 0.5s ease,
          text-decoration-color 0.5s ease;
      }

      .site-footer__bubble a:hover,
      .site-footer__bubble a:focus-visible,
      .site-footer__meta a:hover,
      .site-footer__meta a:focus-visible {
        color: #ffffff;
        text-decoration-color: rgba(255, 255, 255, 0.72);
      }

      .site-footer__contact-btn {
        display: inline-flex;
        width: fit-content;
        min-height: 54px;
        margin-top: -18px;
        align-items: center;
        justify-content: center;
        gap: 14px;
        padding: 14px 24px;
        border: 1px solid #ffffff;
        border-radius: var(--button-radius);
        background: transparent;
        color: #ffffff;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.2;
        transition:
          background-color 0.24s ease,
          color 0.24s ease;
      }

      .site-footer__contact-btn:hover,
      .site-footer__contact-btn:focus-visible {
        background: #ffffff;
        color: #000000;
      }

      .site-footer__contact-icon {
        width: 21px;
        height: 16px;
        flex: 0 0 auto;
      }

      .site-footer__tagline {
        max-width: 560px;
        margin: 0;
        color: #ffffff;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: var(--tracking-tight);
      }

      .site-footer__mark {
        position: relative;
        display: inline-block;
      }

      .site-footer__mark::after {
        content: "";
        position: absolute;
        left: -12px;
        right: -12px;
        top: 50%;
        height: 1.1em;
        border: 2px solid var(--color-accent);
        border-radius: 50%;
        transform: translateY(-50%) rotate(-3deg);
        pointer-events: none;
      }

      .site-footer__form {
        display: flex;
        flex-direction: column;
        gap: 40px;
      }

      .site-footer__form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }

      .site-footer__field {
        position: relative;
        display: flex;
        flex-direction: column;
      }

      .site-footer__field input,
      .site-footer__field textarea {
        width: 100%;
        min-height: 60px;
        padding: 16px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: var(--button-radius);
        background: transparent;
        color: #ffffff;
        font: inherit;
        font-size: 18px;
        line-height: 1.5;
        outline: none;
        transition: border-color 0.2s ease;
      }

      .site-footer__field textarea {
        min-height: 60px;
        resize: vertical;
      }

      .site-footer__field input::placeholder,
      .site-footer__field textarea::placeholder {
        color: rgba(255, 255, 255, 0.5);
      }

      .site-footer__field input:focus,
      .site-footer__field textarea:focus {
        border-color: rgba(255, 255, 255, 0.72);
      }

      .site-footer__field.is-invalid input,
      .site-footer__field.is-invalid textarea {
        border-color: #ff3b1f;
      }

      .site-footer__error {
        display: block;
        position: absolute;
        left: 0;
        top: calc(100% + 6px);
        color: #ff6a55;
        font-size: 14px;
        line-height: 1.25;
        letter-spacing: var(--tracking-body);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease;
      }

      .site-footer__form-error {
        margin: -16px 0 0;
        color: #ff6a55;
        font-size: 16px;
        line-height: 1.35;
        letter-spacing: var(--tracking-body);
      }

      .site-footer__field.is-invalid .site-footer__error,
      .site-footer__consent.is-invalid .site-footer__error,
      .site-footer__error.is-visible {
        opacity: 1;
        visibility: visible;
      }

      .uniform__potty {
        position: absolute;
        left: -9999px;
        width: 1px;
        height: 1px;
        overflow: hidden;
      }

      .site-footer__submit-row {
        display: flex;
        align-items: center;
        gap: 40px;
      }

      .site-footer__submit {
        display: inline-flex;
        min-height: 54px;
        align-items: center;
        justify-content: center;
        padding: 14px 24px;
        border: 1px solid #ffffff;
        border-radius: var(--button-radius);
        background: #ffffff;
        color: #000000;
        font: inherit;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.2;
        cursor: pointer;
        transition:
          background-color 0.24s ease,
          color 0.24s ease;
      }

      .site-footer__submit::before {
        content: "";
        width: 8px;
        height: 8px;
        margin-right: 12px;
        background: currentColor;
      }

      .site-footer__submit:hover,
      .site-footer__submit:focus-visible {
        background: transparent;
        color: #ffffff;
      }

      .site-footer__consent {
        position: relative;
        display: grid;
        grid-template-columns: 20px minmax(0, 1fr);
        max-width: 650px;
        align-items: start;
        gap: 6px 12px;
        color: #ffffff;
        font-size: 16px;
        line-height: 1.5;
        letter-spacing: var(--tracking-body);
      }

      .site-footer__consent input {
        width: 20px;
        height: 20px;
        flex: 0 0 auto;
        margin: 2px 0 0;
        appearance: none;
        border: 1px solid #ffffff;
        border-radius: 4px;
        background: transparent;
        cursor: pointer;
      }

      .site-footer__consent .site-footer__error {
        top: calc(100% + 4px);
        left: 32px;
      }

      .site-footer__consent input:checked {
        background-color: #ffffff;
        background-image: url("data:image/svg+xml,%3Csvg width='13' height='9' viewBox='0 0 13 9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7 1.7L5.3 8.3.3 4l1.4-1.5 3.6 3.3 6-5.4 1.4 1.4z' fill='%23000000'/%3E%3C/svg%3E");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 13px 9px;
      }

      .site-footer__consent.is-invalid input {
        border-color: #ff3b1f;
      }

      .site-footer__consent a {
        color: #ffffff;
        font-weight: 400;
        text-decoration-line: underline;
        text-decoration-color: rgba(255, 255, 255, 0.32);
        text-decoration-thickness: 1px;
        text-underline-offset: 0.18em;
        text-decoration-skip-ink: none;
        transition:
          color 0.5s ease,
          text-decoration-color 0.5s ease;
      }

      .site-footer__consent a:hover,
      .site-footer__consent a:focus-visible {
        color: #ffffff;
        text-decoration-color: rgba(255, 255, 255, 0.72);
      }

      .site-footer__success {
        margin: -16px 0 0;
        color: #72df7a;
        font-size: 18px;
        line-height: 1.35;
        letter-spacing: var(--tracking-body);
        opacity: 0;
        transform: translateY(8px);
        transition:
          opacity 0.24s ease,
          transform 0.24s ease;
      }

      .site-footer__success.is-visible {
        opacity: 1;
        transform: translateY(0);
      }

      .site-footer__line {
        height: 1px;
        background: rgba(255, 255, 255, 0.18);
      }

      .site-footer__links {
        display: grid;
        grid-template-columns: minmax(0, 541px) minmax(0, 755px);
        gap: 16px;
      }

      .site-footer__meta {
        display: grid;
        grid-template-columns: 160px minmax(0, 1fr);
        gap: 16px 40px;
        align-items: start;
        color: rgba(255, 255, 255, 0.5);
        font-size: 18px;
        line-height: 1.5;
        letter-spacing: var(--tracking-body);
      }

      .site-footer__meta-links,
      .site-footer__docs-links {
        display: flex;
        flex-wrap: wrap;
        gap: 16px 24px;
      }

      .site-footer__bottom {
        display: grid;
        grid-template-columns: minmax(0, 541px) minmax(0, 1fr) auto;
        gap: 16px;
        align-items: start;
        color: rgba(255, 255, 255, 0.5);
        font-size: 16px;
        line-height: 1.45;
      }

      .site-footer__bottom p {
        margin: 0;
      }

      .site-footer__credit {
        color: #ffffff;
        font-weight: 400;
        text-decoration-line: underline;
        text-decoration-color: rgba(255, 255, 255, 0.32);
        text-decoration-thickness: 1px;
        text-underline-offset: 0.18em;
        text-decoration-skip-ink: none;
        transition:
          color 0.5s ease,
          text-decoration-color 0.5s ease;
      }

      .site-footer__credit:hover,
      .site-footer__credit:focus-visible {
        color: #ffffff;
        text-decoration-color: rgba(255, 255, 255, 0.72);
      }

      .why {
        padding: 64px var(--container-pad);
      }

      .why .section-head {
        gap: 40px;
        margin-bottom: 48px;
      }

      .why__inner {
        width: 100%;
        max-width: 1312px;
        margin: 0 auto;
      }

      .why__grid {
        display: grid;
        grid-template-columns: minmax(320px, 541px) minmax(0, 755px);
        gap: 16px;
        align-items: start;
      }

      .why__media-stack {
        position: sticky;
        top: 24px;
        overflow: hidden;
        background: rgba(0, 0, 0, 0.06);
        opacity: 0;
        visibility: hidden;
      }

      .why__media-stack.is-visible {
        opacity: 1;
        visibility: visible;
      }

      .why__media-stack.is-horizontal {
        aspect-ratio: 541 / 300;
      }

      .why__media-stack.is-vertical {
        aspect-ratio: 541 / 660;
      }

      .why__media {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
      }

      .why__media.is-active {
        opacity: 1;
        visibility: visible;
      }

      .why__media img,
      .why__media video {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .why__list {
        display: flex;
        flex-direction: column;
      }

      .why__item {
        display: flex;
        flex-direction: column;
        gap: 24px;
        padding: 0 0 40px;
        border-bottom: 1px solid #000000;
        color: var(--color-text);
        cursor: default;
        transition: color 0.22s ease;
      }

      .why__link {
        display: flex;
        flex-direction: column;
        gap: 24px;
        color: inherit;
        text-decoration: none;
      }

      .why__link:focus-visible {
        outline: 2px solid var(--color-accent);
        outline-offset: 8px;
      }

      .why__item + .why__item {
        padding-top: 40px;
      }

      .why__item:last-child {
        border-bottom: 0;
        padding-bottom: 0;
      }

      .why__title {
        max-width: 680px;
        margin: 0;
        font-size: var(--text-section-title);
        font-weight: 500;
        line-height: var(--lh-tight);
        letter-spacing: var(--tracking-tight);
      }

      .why__desc {
        max-width: 680px;
        margin: 0;
        color: var(--color-muted);
        font-size: var(--text-body);
        line-height: var(--lh-body);
        letter-spacing: var(--tracking-body);
      }

      @media (hover: hover) {
        .why__item {
          cursor: pointer;
        }

        .why__item:hover .why__title,
        .why__item.is-active .why__title {
          color: var(--color-accent);
        }
      }

      .team {
        padding: 64px var(--container-pad);
      }

      .team__inner {
        width: 100%;
        max-width: 1312px;
        margin: 0 auto;
      }

      .team .section-head {
        gap: 40px;
        margin-bottom: 48px;
      }

      .team__grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 64px) / 5);
        grid-template-columns: none;
        gap: 16px;
        padding-bottom: 4px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none;
        cursor: grab;
        -webkit-overflow-scrolling: touch;
      }

      .team__grid::-webkit-scrollbar {
        display: none;
      }

      .team__grid.is-dragging {
        scroll-behavior: auto;
        scroll-snap-type: none;
        cursor: grabbing;
        user-select: none;
      }

      .team-card {
        display: flex;
        flex-direction: column;
        min-width: 0;
        gap: 12px;
        color: var(--color-text);
        cursor: pointer;
        scroll-snap-align: start;
        text-decoration: none;
      }

      .team-card--no-photo {
        justify-content: flex-start;
      }

      .team-card--no-photo::before {
        content: "";
        display: block;
        width: 100%;
        aspect-ratio: 426 / 426;
      }

      .team-card__media {
        position: relative;
        width: 100%;
        aspect-ratio: 426 / 426;
        overflow: hidden;
        background: #d8d8d2;
      }

      .team-card__media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition:
          opacity 0.22s ease,
          transform 0.22s ease;
        user-select: none;
        -webkit-user-drag: none;
      }

      .team-card__meta {
        margin: 0;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.32;
        letter-spacing: var(--tracking-tight);
        transition: color 0.22s ease;
      }

      .team-card__role {
        color: var(--color-muted);
        transition: color 0.22s ease;
      }

      .team__controls {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        margin-top: 28px;
      }

      .team__controls[hidden] {
        display: none;
      }

      .team__nav-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        padding: 0;
        border: 0;
        border-radius: var(--button-radius);
        background: #6d6e70;
        color: #ffffff;
        cursor: pointer;
        transition:
          background-color 0.24s ease,
          opacity 0.24s ease;
      }

      .team__nav-btn:not(:disabled):hover,
      .team__nav-btn:not(:disabled):focus-visible {
        background: #9d9d9d;
      }

      .team__nav-btn:disabled {
        opacity: 0.32;
        cursor: default;
      }

      .team__nav-btn svg {
        width: 22px;
        height: 22px;
      }

      @media (hover: hover) {
        .team-card:hover .team-card__media img,
        .team-card:focus-visible .team-card__media img {
          opacity: 0.9;
          transform: scale(1.018);
        }

        .team-card:hover .team-card__meta,
        .team-card:focus-visible .team-card__meta,
        .team-card:hover .team-card__role,
        .team-card:focus-visible .team-card__role {
          color: var(--color-accent);
        }

      }

      .team-popup {
        position: fixed;
        inset: 0;
        z-index: 210;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        overflow-y: auto;
        padding: 40px 0;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: opacity 0.24s ease, visibility 0.24s ease;
      }

      .team-popup.is-open {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
      }

      .team-popup__backdrop {
        position: fixed;
        inset: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.7);
        cursor: pointer;
      }

      .team-popup__panel {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: flex-start;
        gap: 24px;
        width: min(960px, calc(100% - 80px));
        margin: auto;
      }

      .team-popup__dialog {
        display: flex;
        flex-direction: column;
        gap: 32px;
        width: 100%;
        padding: 48px;
        border-radius: 16px;
        background: var(--color-bg);
        color: var(--color-text);
      }

      .team-popup__head {
        display: flex;
        align-items: center;
        gap: 20px;
        max-width: 720px;
      }

      .team-popup__avatar {
        width: 104px;
        height: 104px;
        flex: 0 0 auto;
        border-radius: 50%;
        object-fit: cover;
      }

      .team-popup__avatar[hidden] {
        display: none;
      }

      .team-popup__head-text {
        display: flex;
        min-width: 0;
        flex: 1 1 0;
        flex-direction: column;
        gap: 6px;
      }

      .team-popup__title {
        margin: 0;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.2;
      }

      .team-popup__role {
        margin: 0;
        color: var(--color-muted);
        font-size: 18px;
        line-height: 1.35;
      }

      .team-popup__body {
        display: flex;
        flex-direction: column;
        gap: 16px;
        max-width: 760px;
        margin: 0;
        font-size: 22px;
        line-height: 1.4;
        letter-spacing: var(--tracking-body);
      }

      .team-popup__body p {
        margin: 0;
      }

      .team-popup__close {
        position: fixed;
        top: 35px;
        right: 48px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 60px;
        padding: 0;
        border: 0;
        border-radius: var(--button-radius);
        background: #6d6e70;
        color: #ffffff;
        cursor: pointer;
        transition: background-color 0.2s ease;
      }

      .team-popup__close:hover,
      .team-popup__close:focus-visible {
        background: #9d9d9d;
      }

      body.is-team-popup-open {
        overflow: hidden;
      }

      .review-modal {
        position: fixed;
        inset: 0;
        z-index: 200;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        overflow-y: auto;
        padding: 40px 0;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: opacity 0.24s ease, visibility 0.24s ease;
      }

      .review-modal.is-open {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
      }

      .review-modal__backdrop {
        position: fixed;
        inset: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.7);
        cursor: pointer;
      }

      .review-modal__panel {
        position: relative;
        z-index: 1;
        width: min(1130px, calc(100% - 80px));
        margin: auto;
        padding: 40px;
        border-radius: 16px;
        background: #3f4042;
        color: #ffffff;
      }

      .review-modal__close {
        position: fixed;
        top: 35px;
        right: 48px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 60px;
        padding: 0;
        border: 0;
        border-radius: var(--button-radius);
        background: #6d6e70;
        color: #ffffff;
        cursor: pointer;
      }

      .review-modal__close:hover,
      .review-modal__close:focus-visible {
        background: #9d9d9d;
      }

      .review-modal__head {
        position: relative;
        display: flex;
        align-items: center;
        gap: 16px;
        min-height: 72px;
        padding-left: 104px;
        padding-right: 96px;
        margin-bottom: 32px;
      }

      .review-modal__avatar {
        position: absolute;
        left: 0;
        top: 50%;
        display: block;
        width: 72px;
        height: 72px;
        flex: 0 0 auto;
        transform: translateY(-50%);
        border: 1px solid rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        object-fit: cover;
      }

      .review-modal__name {
        margin: 0;
        color: #ffffff;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.2;
      }

      .review-modal__role {
        margin: 4px 0 0;
        color: #ffffff;
        font-size: 24px;
        line-height: 1.2;
      }

      .review-modal__text {
        display: flex;
        flex-direction: column;
        gap: 20px;
        max-width: 816px;
        margin: 0;
        color: #ffffff;
        font-size: 24px;
        line-height: 1.2;
        letter-spacing: var(--tracking-body);
      }

      .review-modal__text p {
        margin: 0;
      }

      body.is-review-modal-open {
        overflow: hidden;
      }

      .form-success-popup {
        position: fixed;
        inset: 0;
        z-index: 220;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 24px;
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: opacity 0.24s ease, visibility 0.24s ease;
      }

      .form-success-popup.is-open {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
      }

      .form-success-popup__backdrop {
        position: fixed;
        inset: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.7);
        cursor: pointer;
      }

      .form-success-popup__panel {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: flex-start;
        gap: 24px;
        max-width: calc(100vw - 48px);
      }

      .form-success-popup__dialog {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;
        width: min(480px, calc(100vw - 124px));
        padding: 40px;
        border-radius: 16px;
        background: #1f1f1f;
        color: #ffffff;
        text-align: center;
      }

      .form-success-popup__icon,
      .form-success-popup__icon svg {
        display: block;
        width: 60px;
        height: 60px;
      }

      .form-success-popup__text {
        margin: 0;
        font-size: 20px;
        line-height: 1.5;
        letter-spacing: var(--tracking-body);
        white-space: pre-wrap;
      }

      .form-success-popup__close {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 60px;
        height: 60px;
        padding: 0;
        border: 0;
        border-radius: var(--button-radius);
        background: #1f1f1f;
        color: #ffffff;
        cursor: pointer;
        transition: background-color 0.2s ease;
      }

      .form-success-popup__close:hover,
      .form-success-popup__close:focus-visible {
        background: #6d6e70;
      }

      body.is-form-success-popup-open {
        overflow: hidden;
      }

      @media (hover: hover) {
        .case-card__link:hover .case-card__media {
          transform: scaleY(1.018);
          filter: brightness(1.05);
        }

        .case-card__link:hover .case-card__media img,
        .case-card__link:hover .case-card__media video {
          transform: scaleY(0.982);
        }

        .case-card__link:hover .case-card__title,
        .case-card__link:hover .case-card__title span,
        .case-card__link:focus-visible .case-card__title,
        .case-card__link:focus-visible .case-card__title span {
          color: var(--color-accent);
        }
      }

      .services__list {
        display: flex;
        flex-direction: column;
        padding-top: 24px;
      }

      .service-item {
        display: flex;
        flex-direction: column;
        padding: 0 0 40px;
        border-bottom: 1px solid var(--color-text);
        cursor: default;
        transition: color 0.2s ease;
      }

      .service-item__link {
        display: flex;
        flex-direction: column;
        gap: 24px;
        color: inherit;
        text-decoration: none;
      }

      .service-item__link:focus-visible {
        outline: 2px solid var(--color-accent);
        outline-offset: 8px;
      }

      .service-item + .service-item {
        padding-top: 40px;
      }

      .service-item:last-child {
        border-bottom: 1px solid var(--color-text);
        padding-bottom: 40px;
      }

      .service-item__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
      }

      .service-item__title {
        margin: 0;
        font-size: var(--text-section-title);
        font-weight: 500;
        line-height: var(--lh-tight);
        letter-spacing: var(--tracking-tight);
      }

      .service-item__arrow {
        width: 40px;
        flex: 0 0 auto;
        color: currentColor;
        opacity: 0.4;
        transition: opacity 0.2s ease, color 0.2s ease;
      }

      .service-item__desc {
        max-width: 755px;
        margin: 0;
        color: var(--color-muted);
        font-size: var(--text-body);
        line-height: var(--lh-body);
        letter-spacing: var(--tracking-body);
      }

      @media (hover: hover) {
        .service-item {
          cursor: pointer;
        }

        .service-item:hover .service-item__title,
        .service-item:hover .service-item__arrow,
        .service-item.is-active .service-item__title,
        .service-item.is-active .service-item__arrow {
          color: var(--color-accent);
        }

        .service-item:hover .service-item__arrow,
        .service-item.is-active .service-item__arrow {
          opacity: 1;
        }
      }

      @media (max-width: 1400px) {
        .team-popup__panel {
          width: min(1000px, calc(100% - 80px));
        }

        .review-modal__panel {
          width: min(1000px, calc(100% - 80px));
        }

        .team-popup__close,
        .review-modal__close,
        .form-success-popup__close {
          position: absolute;
          top: 45px;
          right: 30px;
        }

        .review-modal__text {
          max-width: none;
        }
      }

      @media (max-width: 1250px) {
        .team-popup,
        .review-modal,
        .form-success-popup {
          padding: 30px 0;
        }

        .team-popup__panel,
        .review-modal__panel,
        .form-success-popup__panel {
          width: calc(100% - 60px);
        }

        .team-popup__close,
        .review-modal__close,
        .form-success-popup__close {
          top: 28px;
          right: 20px;
          width: 40px;
          height: 40px;
        }

        .review-modal__text {
          font-size: 20px;
          line-height: 1.2;
        }
      }

      @media (max-width: 1199px) {
        :root {
          --container-pad: 32px;
          --text-body: 17px;
          --text-lead: 30px;
          --text-section-title: 30px;
          --text-hero: 40px;
        }

        .site-header__inner {
          gap: 28px;
          padding-top: 24px;
          padding-bottom: 16px;
        }

        .site-header__logo {
          width: 190px;
          height: auto;
        }

        .site-header__cta {
          min-height: 52px;
          padding: 12px 20px;
          font-size: 16px;
        }

        .video-hero {
          padding-top: 24px;
          padding-bottom: 56px;
        }

        .video-hero__media {
          width: min(100%, 760px);
        }

        .intro {
          padding-bottom: 72px;
        }

        .intro__top {
          display: block;
        }

        .intro__accent {
          left: 50%;
          width: calc(100% + 30px);
          height: auto;
        }

        .intro__lead {
          width: min(100%, 760px);
          margin-top: 40px;
          margin-left: 0;
        }

        .services,
        .cases,
        .awards,
        .why,
        .team,
        .newsletter {
          padding-top: 56px;
          padding-bottom: 72px;
        }

        .clients,
        .reviews,
        .contractors {
          padding-top: 56px;
          padding-bottom: 72px;
        }

        .section-head,
        .cases .section-head,
        .awards .section-head,
        .reviews .section-head,
        .contractors .section-head,
        .why .section-head,
        .team .section-head,
        .newsletter .section-head {
          gap: 28px;
          margin-bottom: 36px;
        }

        .services__grid,
        .why__grid {
          display: block;
          min-height: 0;
        }

        .services__preview,
        .why__media-stack {
          display: none;
        }

        .services__list {
          padding-top: 0;
        }

        .service-item,
        .why__item,
        .award {
          gap: 20px;
          padding-bottom: 32px;
        }

        .service-item + .service-item,
        .why__item + .why__item {
          padding-top: 32px;
        }

        .service-item:last-child {
          padding-bottom: 32px;
        }

        .clients .section-head {
          margin-bottom: 48px;
        }

        .clients__text-wrap {
          display: block;
          margin-bottom: 64px;
        }

        .clients__text {
          width: min(100%, 780px);
        }

        .clients__logos {
          gap: 24px;
        }

        .clients__logo {
          min-height: 120px;
        }

        .logo-rotator {
          --logo-rotator-width: clamp(140px, 20vw, 210px);
        }

        .cases__head-row {
          display: block;
        }

        .cases__tabs {
          flex-wrap: nowrap;
          justify-content: flex-start;
          gap: 28px;
          margin: 24px calc(-1 * var(--container-pad)) 0;
          padding: 0 var(--container-pad) 8px;
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: thin;
          scrollbar-color: rgba(0, 0, 0, 0.22) var(--color-bg);
        }

        .cases__tabs::-webkit-scrollbar {
          height: 6px;
        }

        .cases__tabs::-webkit-scrollbar-track {
          background: var(--color-bg);
        }

        .cases__tabs::-webkit-scrollbar-thumb {
          border-radius: 3px;
          background: rgba(0, 0, 0, 0.22);
        }

        .cases__tab {
          flex: 0 0 auto;
          min-width: 0;
          padding: 0 0 12px;
          border-bottom: 0;
          white-space: nowrap;
        }

        .cases__tab::after {
          display: block;
          right: 0;
          bottom: 0;
          left: 0;
          height: 2px;
        }

        .cases__tab.is-active {
          color: var(--color-text);
        }

        .cases__grid {
          --cases-row-gap: 40px;
        }

        .case-card--narrow,
        .case-card--wide {
          width: 100%;
        }

        .awards__grid,
        .newsletter__grid,
        .site-footer__top,
        .site-footer__links,
        .site-footer__bottom {
          grid-template-columns: 1fr;
        }

        .awards__spacer {
          display: none;
        }

        .awards__heading {
          margin-bottom: 32px;
        }

        .reviews__stage,
        .contractors__stage {
          grid-template-columns: 1fr;
          gap: 0;
        }

        .reviews__visual,
        .contractors__visual {
          display: none;
        }

        .reviews__card,
        .contractors__card {
          position: relative;
          min-height: 0;
          padding: 40px 32px 108px;
        }

        .reviews__mobile-author,
        .contractors__mobile-person {
          display: flex;
          position: relative;
          min-height: 56px;
          align-items: center;
          align-content: center;
          flex-flow: row wrap;
          gap: 0;
          margin-bottom: 28px;
          padding-left: 72px;
        }

        .reviews__mobile-avatar,
        .contractors__mobile-avatar {
          position: absolute;
          left: 0;
          top: 0;
          display: block;
          width: 56px;
          height: 56px;
          flex: 0 0 auto;
          border-radius: 50%;
          object-fit: cover;
        }

        .reviews__mobile-avatar {
          border: 1px solid rgba(255, 255, 255, 0.9);
        }

        .reviews__mobile-name,
        .contractors__mobile-name {
          width: 100%;
          margin: 0 0 6px;
          font-size: 18px;
          font-weight: 500;
          line-height: 1;
        }

        .reviews__mobile-name {
          color: #ffffff;
        }

        .contractors__mobile-name {
          color: var(--color-text);
        }

        .reviews__mobile-contact,
        .contractors__mobile-role {
          width: 100%;
          font-size: 16px;
          line-height: 1.2;
        }

        .reviews__mobile-contact {
          color: #d9f0ad;
        }

        .contractors__mobile-role {
          margin: 0;
          color: var(--color-muted);
        }

        .reviews__quote,
        .contractors__text {
          font-size: 22px;
          line-height: 1.28;
        }

        .reviews__quote {
          height: calc(22px * 1.28 * 3);
        }

        .contractors__text {
          height: 5.12em;
        }

        .reviews__bottom,
        .contractors__bottom {
          position: absolute;
          right: auto;
          bottom: 28px;
          left: 32px;
          display: block;
          margin-top: 0;
        }

        .reviews__avatars,
        .contractors__avatars {
          display: none;
        }

        .team__grid {
          grid-auto-columns: calc((100% - 32px) / 3);
          grid-template-columns: none;
          gap: 16px;
        }

        .site-footer {
          padding-top: 56px;
        }

        .site-footer__top,
        .site-footer__links,
        .site-footer__bottom,
        .site-footer__left,
        .site-footer__form {
          gap: 32px;
        }

        .site-footer__contact-btn {
          margin-top: 0;
        }

        .site-footer__bottom {
          align-items: start;
        }
      }

      @media (max-width: 767px) {
        :root {
          --container-pad: 20px;
        }

        .case-card__media-variant--desktop {
          display: none;
        }

        .case-card__media-variant--mobile {
          display: block;
        }

        .form-success-popup {
          align-items: flex-end;
          padding: 12px;
        }

        .form-success-popup__panel {
          flex-direction: column-reverse;
          align-items: stretch;
          gap: 12px;
          width: 100%;
          max-width: none;
        }

        .form-success-popup__dialog {
          width: 100%;
          padding: 32px 20px 24px;
          border-radius: 8px 8px 0 0;
        }

        .form-success-popup__close {
          position: static;
          align-self: flex-end;
          width: 52px;
          height: 52px;
        }

        .site-header__inner {
          position: relative;
          z-index: 80;
          grid-template-columns: auto auto;
          justify-content: space-between;
          min-height: 0;
          padding-top: 24px;
          padding-bottom: 16px;
        }

        .site-header__logo {
          width: 166px;
          height: auto;
        }

        .site-header__cta {
          display: none;
        }

        main {
          padding-top: 0;
        }

        .video-hero {
          padding-top: 20px;
          padding-bottom: 48px;
        }

        .video-hero__media {
          width: 100%;
          aspect-ratio: 16 / 9;
        }

        .intro {
          padding-bottom: 64px;
        }

        .intro__top {
          display: block;
        }

        .intro__title {
          font-size: 32px;
          line-height: 1.16;
        }

        .intro__title em {
          position: relative;
          display: inline-block;
        }

        .intro__accent {
          left: auto;
          right: -6px;
          top: 50%;
          display: block;
          width: calc(100% + 20px);
          height: auto;
          transform: translateY(-52%);
        }

        .intro__lead {
          width: 100%;
          margin-top: 40px;
          font-size: 24px;
          line-height: 1.28;
        }

        .services {
          padding-top: 40px;
          padding-bottom: 64px;
        }

        .cases {
          padding-top: 40px;
          padding-bottom: 64px;
        }

        .awards {
          padding-top: 40px;
          padding-bottom: 64px;
        }

        .reviews {
          padding: 40px var(--container-pad) 56px;
        }

        .why {
          padding: 40px var(--container-pad) 64px;
        }

        .team {
          padding: 40px var(--container-pad) 64px;
        }

        .section-head {
          gap: 24px;
        }

        .cases__head-row {
          display: block;
        }

        .cases__tabs {
          flex-wrap: nowrap;
          justify-content: flex-start;
          gap: 20px;
          margin: 24px calc(-1 * var(--container-pad)) 0;
          padding: 0 var(--container-pad) 8px;
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: thin;
          scrollbar-color: rgba(0, 0, 0, 0.22) var(--color-bg);
        }

        .cases__tabs::-webkit-scrollbar {
          height: 6px;
        }

        .cases__tabs::-webkit-scrollbar-track {
          background: var(--color-bg);
        }

        .cases__tabs::-webkit-scrollbar-thumb {
          min-width: 48px;
          border-radius: 3px;
          background: rgba(0, 0, 0, 0.22);
        }

        .cases__tab {
          flex: 0 0 auto;
          min-width: 0;
          padding: 0 0 12px;
          border-bottom: 0;
          white-space: nowrap;
          font-size: 15px;
        }

        .cases__tab::after {
          display: block;
          right: 0;
          bottom: 0;
          left: 0;
          height: 2px;
        }

        .cases__tab.is-active {
          color: var(--color-text);
        }

        .cases__grid {
          --cases-row-gap: 36px;
        }

        .awards .section-head {
          gap: 24px;
          margin-bottom: 16px;
        }

        .awards__grid {
          grid-template-columns: 1fr;
          gap: 0;
        }

        .awards__spacer {
          display: none;
        }

        .awards__heading {
          margin-bottom: 28px;
        }

        .awards__list {
          gap: 32px;
        }

        .award {
          gap: 20px;
          padding-bottom: 32px;
        }

        .award__title {
          font-size: 24px;
        }

        .award__sub {
          font-size: 16px;
        }

        .reviews .section-head {
          gap: 24px;
          margin-bottom: 32px;
        }

        .why .section-head {
          gap: 24px;
          margin-bottom: 32px;
        }

        .team .section-head {
          gap: 24px;
          margin-bottom: 32px;
        }

        .why__grid {
          grid-template-columns: 1fr;
          gap: 32px;
        }

        .why__media-stack {
          display: none;
        }

        .why__item {
          gap: 20px;
          padding-bottom: 32px;
        }

        .why__item + .why__item {
          padding-top: 32px;
        }

        .why__title {
          font-size: 24px;
          line-height: 1.18;
        }

        .why__desc {
          font-size: 16px;
          line-height: 1.45;
        }

        .team__grid {
          display: flex;
          gap: 14px;
          width: calc(100% + 24px);
          margin-right: -12px;
          margin-left: -12px;
          padding: 0 12px 4px;
          overflow-x: auto;
          overscroll-behavior-x: contain;
          scroll-padding-left: 12px;
          scroll-snap-type: x mandatory;
          scrollbar-width: none;
          -ms-overflow-style: none;
          -webkit-overflow-scrolling: touch;
        }

        .team-card {
          flex: 0 0 min(82vw, 340px);
          gap: 14px;
          scroll-snap-align: start;
        }

        .team__grid::-webkit-scrollbar {
          display: none;
        }

        .team__controls {
          display: none;
        }

        .team-card__meta {
          font-size: 20px;
          line-height: 1.35;
        }

        .team-popup {
          align-items: flex-start;
          padding: 20px 0;
        }

        .team-popup__panel {
          width: calc(100% - 32px);
          max-width: none;
          gap: 0;
        }

        .team-popup__dialog {
          width: 100%;
          gap: 24px;
          padding: 24px;
        }

        .team-popup__head {
          gap: 14px;
        }

        .team-popup__avatar {
          width: 72px;
          height: 72px;
        }

        .team-popup__close {
          top: 4px;
          right: 2px;
          width: 40px;
          height: 40px;
        }

        .team-popup__head {
          padding-right: 48px;
        }

        .team-popup__title {
          font-size: 20px;
        }

        .team-popup__role {
          font-size: 16px;
          line-height: 1.35;
        }

        .team-popup__body {
          font-size: 18px;
          line-height: 1.45;
        }

        .reviews__stage {
          grid-template-columns: 1fr;
          gap: 0;
        }

        .reviews__visual {
          display: none;
        }

        .reviews__card {
          min-height: 0;
          padding: 32px 24px 104px;
        }

        .reviews__mobile-author {
          display: flex;
          align-items: center;
          align-content: center;
          flex-flow: row wrap;
          min-height: 56px;
          gap: 0;
          margin-bottom: 24px;
          padding-left: 72px;
          position: relative;
        }

        .reviews__mobile-avatar {
          position: absolute;
          left: 0;
          top: 0;
          display: block;
          width: 56px;
          height: 56px;
          flex: 0 0 auto;
          border: 1px solid rgba(255, 255, 255, 0.9);
          border-radius: 50%;
          object-fit: cover;
        }

        .reviews__mobile-name {
          width: 100%;
          margin: 0 0 6px;
          color: #ffffff;
          font-size: 18px;
          font-weight: 500;
          line-height: 1;
        }

        .reviews__mobile-contact {
          color: rgba(255, 255, 255, 0.72);
          font-size: 16px;
          line-height: 1.2;
        }

        .reviews__quote {
          height: calc(20px * 1.2 * 3);
          font-size: 20px;
          line-height: 1.2;
        }

        .reviews__read {
          width: auto;
          min-height: 48px;
          font-size: 16px;
          border-radius: var(--button-radius);
        }

        .reviews__bottom {
          right: auto;
          bottom: 20px;
          left: 24px;
          display: block;
        }

        .reviews__avatars {
          display: none;
        }

        .reviews__person {
          padding: 24px;
        }

        .reviews__name {
          font-size: 22px;
        }

        .reviews__contact {
          font-size: 16px;
        }

        .contractors {
          padding: 48px var(--container-pad);
        }

        .contractors .section-head {
          gap: 24px;
          margin-bottom: 32px;
        }

        .contractors__stage {
          grid-template-columns: 1fr;
          gap: 0;
        }

        .contractors__card {
          position: relative;
          min-height: 360px;
          padding: 32px 24px 104px;
        }

        .contractors__mobile-person {
          display: flex;
          position: relative;
          min-height: 56px;
          align-items: center;
          align-content: center;
          flex-flow: row wrap;
          gap: 0;
          margin-bottom: 24px;
          padding-left: 72px;
        }

        .contractors__mobile-avatar {
          position: absolute;
          left: 0;
          top: 0;
          width: 56px;
          height: 56px;
          flex: 0 0 auto;
          border-radius: 50%;
          object-fit: cover;
        }

        .contractors__mobile-name {
          width: 100%;
          margin: 0 0 6px;
          color: var(--color-text);
          font-size: 18px;
          font-weight: 500;
          line-height: 1;
        }

        .contractors__mobile-role {
          width: 100%;
          margin: 0;
          color: var(--color-muted);
          font-size: 16px;
          line-height: 1.2;
        }

        .contractors__text {
          height: 4.8em;
          font-size: 20px;
          line-height: 1.2;
        }

        .contractors__bottom {
          position: absolute;
          right: auto;
          bottom: 20px;
          left: 24px;
          display: block;
          margin-top: 0;
        }

        .contractors__avatars {
          display: none;
        }

        .contractors__avatar {
          width: 56px;
          height: 56px;
        }

        .contractors__avatar::after {
          width: 64px;
          height: 66px;
        }

        .contractors__nav {
          justify-content: flex-end;
        }

        .contractors__visual {
          display: none;
        }

        .contractors__person {
          padding: 24px;
        }

        .contractors__name {
          font-size: 20px;
        }

        .contractors__role {
          font-size: 16px;
        }

        .newsletter {
          padding: 48px var(--container-pad);
        }

        .newsletter__inner {
          gap: 32px;
        }

        .newsletter .section-head {
          gap: 24px;
        }

        .newsletter__grid {
          grid-template-columns: 1fr;
          gap: 32px;
        }

        .newsletter__title {
          font-size: 28px;
        }

        .newsletter__aside {
          gap: 24px;
        }

        .newsletter__text {
          font-size: 16px;
        }

        .newsletter__cta {
          width: 100%;
          min-height: 52px;
          font-size: 16px;
        }

        .sticky-client {
          right: var(--container-pad);
          bottom: 16px;
          left: auto;
          width: fit-content;
          min-height: 44px;
          font-size: 15px;
        }

        .site-footer {
          padding: 48px var(--container-pad) 40px;
        }

        .site-footer__inner {
          gap: 40px;
        }

        .site-footer__top,
        .site-footer__links,
        .site-footer__bottom {
          grid-template-columns: 1fr;
          gap: 32px;
        }

        .site-footer__left {
          gap: 32px;
        }

        .site-footer__intro {
          min-height: 0;
        }

        .site-footer__title {
          font-size: 28px;
        }

        .site-footer__lead,
        .site-footer__bubble,
        .site-footer__meta {
          font-size: 16px;
        }

        .site-footer__bubble {
          width: 100%;
          max-width: none;
          align-items: flex-start;
          border-radius: 28px;
        }

        .site-footer__contact-btn,
        .site-footer__submit {
          width: 100%;
        }

        .site-footer__contact-btn {
          margin-top: 0;
        }

        .site-footer__tagline {
          font-size: 22px;
        }

        .site-footer__form {
          gap: 24px;
        }

        .site-footer__form-row,
        .site-footer__submit-row,
        .site-footer__meta {
          grid-template-columns: 1fr;
        }

        .site-footer__submit-row {
          display: grid;
          gap: 24px;
        }

        .site-footer__field input,
        .site-footer__field textarea {
          font-size: 16px;
        }

        .site-footer__meta {
          gap: 8px;
        }

        .site-footer__meta-links,
        .site-footer__docs-links {
          gap: 12px 20px;
        }

        .review-modal {
          align-items: flex-start;
          padding: 20px 0;
        }

        .review-modal__panel {
          width: calc(100% - 32px);
          padding: 20px;
          border-radius: 16px;
        }

        .review-modal__close {
          top: 4px;
          right: 2px;
          width: 40px;
          height: 40px;
          background: transparent;
        }

        .review-modal__head {
          min-height: 56px;
          padding-left: 72px;
          padding-right: 30px;
          margin-bottom: 25px;
        }

        .review-modal__avatar {
          width: 56px;
          height: 56px;
        }

        .review-modal__name,
        .review-modal__role {
          font-size: 18px;
        }

        .review-modal__text {
          font-size: 20px;
          line-height: 1.2;
        }

        .case-card {
          gap: 0;
        }

        .case-card__link {
          gap: 16px;
        }

        .case-card__title {
          font-size: 20px;
          line-height: 1.35;
        }

        .cases__more {
          width: 100%;
          margin-top: 40px;
          margin-right: 0;
          margin-left: 0;
          min-height: 52px;
          font-size: 16px;
        }

        .services__grid {
          display: block;
          min-height: 0;
        }

        .services__preview {
          display: none;
        }

        .services__list {
          padding-top: 0;
        }

        .service-item {
          gap: 14px;
          padding-bottom: 28px;
        }

        .service-item + .service-item {
          padding-top: 28px;
        }

        .service-item__head {
          display: flex;
          align-items: flex-start;
          justify-content: space-between;
          gap: 16px;
        }

        .service-item__title {
          font-size: 28px;
        }

        .service-item__desc {
          font-size: 16px;
        }

        .service-item:last-child {
          padding-bottom: 28px;
        }

        .clients {
          padding: 48px var(--container-pad) 56px;
        }

        .clients .section-head {
          margin-bottom: 40px;
        }

        .clients__text-wrap {
          display: block;
          margin-bottom: 48px;
        }

        .clients__text {
          width: 100%;
          font-size: 26px;
          line-height: 1.22;
        }

        .clients__wow-outline {
          left: -10px;
          width: calc(100% + 20px);
        }

        .clients__wow-outline path {
          stroke-width: 2;
        }

        .clients__star {
          width: 28px;
          height: 27px;
          margin-left: 6px;
        }

        .clients__logos {
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 16px 8px;
        }

        .clients__logo {
          min-height: 0;
          overflow: visible;
        }

        .clients__logo:nth-child(4n + 1) {
          justify-content: flex-start;
        }

        .clients__logo:nth-child(4n) {
          justify-content: flex-end;
        }

        .logo-rotator {
          --logo-rotator-width: min(124px, calc((100vw - var(--container-pad) * 2 - 24px) / 4));
          --logo-rotator-height: calc(var(--logo-rotator-width) * 0.9);
        }

        .clients__logo img {
          width: 118%;
          max-width: 118%;
          max-height: 118%;
          transform: scale(1.12);
        }
      }

      @media (max-width: 430px) {
        .intro__title {
          font-size: 30px;
          line-height: 1.14;
        }

        .clients {
          padding-right: 10px;
          padding-left: 10px;
        }

        .clients__logos {
          gap: 14px 8px;
        }

        .logo-rotator {
          --logo-rotator-width: min(118px, calc((100vw - 20px - 24px) / 3.55));
        }

        .clients__logo img {
          width: 124%;
          max-width: 124%;
          max-height: 124%;
          transform: scale(1.18);
        }
      }

      @media (max-width: 360px) {
        .intro__title {
          font-size: 28px;
        }
      }

      .case-page,
      .cases-page {
        min-height: 24vh;
      }

      .case-page {
        padding-bottom: clamp(72px, 8vw, 128px);
      }

      .case-text,
      .case-intro,
      .case-media,
      .case-media-row,
      .case-video,
      .cases-index {
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-hero {
        --case-parallax-y: 0px;
        position: relative;
        display: grid;
        width: 100%;
        height: 85vh;
        min-height: 480px;
        max-height: 760px;
        margin-top: 0;
        overflow: hidden;
        background: #1f2428;
        color: #fff;
      }

      .case-hero__media {
        position: absolute;
        inset: 0;
      }

      .case-hero__media img,
      .case-hero__media video,
      .case-media__frame img,
      .case-media__frame video,
      .case-media-row__item img,
      .case-media-row__item video,
      .case-video__frame video,
      .cases-index__media img,
      .cases-index__media video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .case-hero.is-parallax .case-hero__media > * {
        height: calc(100% + 34vh);
        transform: translate3d(0, calc(var(--case-parallax-y) - 34vh), 0);
        will-change: transform;
      }

      .case-intro__title,
      .case-intro__description,
      .case-text__heading,
      .case-text__body > *,
      .case-media,
      .case-media-row,
      .case-video,
      .cases-index__category,
      .cases-index__title,
      .cases-index__client,
      .cases-index__empty {
        margin: 0;
      }

      .case-intro,
      .case-text,
      .case-media,
      .case-media-row,
      .case-video {
        margin-top: 16px;
      }

      .case-intro {
        display: block;
        margin-top: clamp(32px, 5vw, 72px);
      }

      .case-intro__title {
        max-width: 960px;
        font-size: clamp(38px, 4vw, 60px);
        line-height: 1.08;
        font-weight: 500;
        letter-spacing: 0;
      }

      .case-intro__description {
        max-width: 1040px;
        margin-top: clamp(14px, 1.8vw, 26px);
        color: var(--color-muted);
        font-size: clamp(22px, 2.2vw, 34px);
        line-height: 1.22;
        letter-spacing: var(--tracking-body);
      }

      .case-text {
        display: grid;
        grid-template-columns: minmax(180px, 0.32fr) minmax(0, 0.68fr);
        gap: clamp(32px, 5vw, 88px);
        align-items: start;
        padding: clamp(12px, 1.8vw, 24px) 0 clamp(16px, 2.4vw, 36px);
      }

      .case-text__heading {
        grid-column: 1;
        color: var(--color-text);
        font-size: clamp(22px, 2vw, 32px);
        font-weight: 500;
        line-height: 1.15;
        letter-spacing: var(--tracking-body);
      }

      .case-text__body {
        grid-column: 2;
      }

      .case-text__body > * {
        margin: 0;
        color: var(--color-text);
        font-size: clamp(20px, 1.75vw, 27px);
        line-height: 1.32;
      }

      .case-text__body p + p,
      .case-text__body ul + p,
      .case-text__body ol + p,
      .case-text__body p + ul,
      .case-text__body p + ol {
        margin-top: 1em;
      }

      .case-text__body ul,
      .case-text__body ol {
        margin: 0;
        padding-left: 1.1em;
      }

      .case-text__body li > p {
        margin: 0;
      }

      .case-text__body li + li {
        margin-top: 0.35em;
      }

      .case-media__frame,
      .case-media-row__item,
      .case-video__frame,
      .cases-index__media {
        overflow: hidden;
        background: #1f2428;
      }

      .case-media--hero16 {
        display: block;
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-media--large {
        display: block;
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-media--caption-below,
      .case-media--caption-side,
      .case-media--caption-overlay {
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-media-row--wide_portrait {
        display: block;
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-media-row--portrait_wide {
        display: block;
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-media-row--two_wide {
        display: block;
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-media-row--two_portrait {
        display: block;
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-media.is-hero .case-media__frame {
        width: 100%;
        aspect-ratio: 16 / 10;
      }

      .case-media.is-full .case-media__frame {
        aspect-ratio: 12 / 7;
      }

      .case-media.is-wide .case-media__frame,
      .case-video__frame {
        aspect-ratio: 14 / 9;
      }

      .case-video.is-hero .case-video__frame {
        aspect-ratio: 16 / 10;
      }

      .case-video.is-wide .case-video__frame {
        aspect-ratio: 16 / 9;
      }

      .case-video.is-full .case-video__frame {
        aspect-ratio: 12 / 7;
      }

      .case-video--player {
        width: min(100% - var(--container-pad) * 2, 1280px);
        margin-right: auto;
        margin-left: auto;
      }

      .case-video--player .case-video__frame {
        position: relative;
        color: #fff;
        cursor: pointer;
      }

      .case-video__player {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }

      .case-video__overlay {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: grid;
        place-items: center;
        padding: 0;
        color: inherit;
        background: rgba(0, 0, 0, 0.08);
        border: 0;
        cursor: pointer;
        transition: background-color 180ms ease, opacity 180ms ease;
      }

      .case-video__play-icon {
        position: relative;
        display: block;
        width: clamp(104px, 12vw, 158px);
        height: clamp(56px, 5.4vw, 72px);
        color: #000;
        background: rgba(255, 255, 255, 0.82);
        border: 0;
        border-radius: 999px;
        box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
        transition: transform 180ms ease, background-color 180ms ease;
        transform: translateZ(0);
      }

      .case-video__play-icon::before {
        position: absolute;
        top: 50%;
        left: 54%;
        width: 0;
        height: 0;
        content: "";
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 16px solid currentColor;
        transform: translate(-50%, -50%);
      }

      .case-video--player .case-video__frame:hover .case-video__play-icon {
        background: rgba(255, 255, 255, 0.94);
        transform: scale(1.04);
      }

      .case-video__controls {
        position: absolute;
        right: 14px;
        bottom: 14px;
        left: 14px;
        z-index: 3;
        display: grid;
        grid-template-columns: 36px minmax(0, 1fr) minmax(42px, max-content) 72px 36px;
        gap: 10px;
        align-items: center;
        padding: 8px;
        background: rgba(0, 0, 0, 0.34);
        border: 0;
        border-radius: var(--button-radius);
        opacity: 0;
        backdrop-filter: blur(16px);
        transform: translateY(8px);
        transition: opacity 180ms ease, transform 180ms ease;
      }

      .case-video--player.is-playing .case-video__controls {
        opacity: 1;
        transform: translateY(0);
      }

      .case-video--player.is-playing .case-video__overlay {
        opacity: 0;
        pointer-events: none;
      }

      .case-video__control {
        position: relative;
        display: grid;
        place-items: center;
        width: 36px;
        height: 36px;
        padding: 0;
        color: #fff;
        background: rgba(255, 255, 255, 0.1);
        border: 0;
        border-radius: var(--button-radius);
        cursor: pointer;
        transition: background-color 160ms ease;
      }

      .case-video__control:hover {
        background: rgba(255, 255, 255, 0.2);
      }

      .case-video__control--play span::before {
        display: block;
        width: 0;
        height: 0;
        content: "";
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 11px solid currentColor;
        transform: translateX(1px);
      }

      .case-video--player.is-playing .case-video__control--play span {
        width: 12px;
        height: 14px;
        border-right: 4px solid currentColor;
        border-left: 4px solid currentColor;
      }

      .case-video--player.is-playing .case-video__control--play span::before {
        display: none;
      }

      .case-video__control--fullscreen span {
        position: relative;
        width: 16px;
        height: 16px;
      }

      .case-video__control--fullscreen span::before,
      .case-video__control--fullscreen span::after {
        position: absolute;
        width: 6px;
        height: 6px;
        content: "";
        border-color: currentColor;
        border-style: solid;
      }

      .case-video__control--fullscreen span::before {
        top: 1px;
        left: 1px;
        border-width: 2px 0 0 2px;
      }

      .case-video__control--fullscreen span::after {
        right: 1px;
        bottom: 1px;
        border-width: 0 2px 2px 0;
      }

      .case-video__timeline {
        position: relative;
        height: 20px;
        cursor: pointer;
        touch-action: none;
      }

      .case-video__timeline::before {
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        height: 3px;
        content: "";
        background: rgba(255, 255, 255, 0.28);
        border-radius: 999px;
        transform: translateY(-50%);
      }

      .case-video__progress {
        position: absolute;
        top: 50%;
        left: 0;
        width: 0%;
        height: 3px;
        background: #fff;
        border-radius: 999px;
        transform: translateY(-50%);
      }

      .case-video__thumb {
        position: absolute;
        top: 50%;
        left: 0%;
        width: 12px;
        height: 12px;
        background: #fff;
        border-radius: 50%;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.18);
        transform: translate(-50%, -50%);
        transition: transform 140ms ease, box-shadow 140ms ease;
      }

      .case-video__timeline:hover .case-video__thumb,
      .case-video__timeline:focus-visible .case-video__thumb {
        box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.2);
        transform: translate(-50%, -50%) scale(1.08);
      }

      .case-video__time {
        color: rgba(255, 255, 255, 0.82);
        font-size: 13px;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
      }

      .case-video__volume {
        width: 72px;
        height: 14px;
        margin: 0;
        padding: 0;
        background: transparent;
        cursor: pointer;
        appearance: none;
      }

      .case-video__volume::-webkit-slider-runnable-track {
        height: 2px;
        background: rgba(255, 255, 255, 0.42);
        border-radius: 999px;
      }

      .case-video__volume::-webkit-slider-thumb {
        width: 8px;
        height: 8px;
        margin-top: -3px;
        background: #fff;
        border: 0;
        border-radius: 50%;
        appearance: none;
        box-shadow: none;
      }

      .case-video__volume::-moz-range-track {
        height: 2px;
        background: rgba(255, 255, 255, 0.42);
        border-radius: 999px;
      }

      .case-video__volume::-moz-range-thumb {
        width: 8px;
        height: 8px;
        background: #fff;
        border: 0;
        border-radius: 50%;
      }

      .case-video__volume:focus-visible {
        outline: 1px solid rgba(255, 255, 255, 0.65);
        outline-offset: 4px;
      }

      .case-media__caption,
      .case-media-row__caption,
      .case-video__caption {
        max-width: 580px;
        margin-top: 12px;
        color: var(--color-muted);
        font-size: 16px;
        line-height: 1.35;
      }

      .case-media--caption-side {
        display: grid;
        grid-template-columns: minmax(0, 2fr) minmax(220px, 0.65fr);
        gap: 16px;
        align-items: end;
      }

      .case-media--caption-side .case-media__caption {
        margin-top: 0;
      }

      .case-media--caption-overlay .case-media__frame {
        position: relative;
      }

      .case-media--caption-overlay .case-media__caption {
        position: absolute;
        right: 16px;
        bottom: 16px;
        width: min(100% - 32px, 420px);
        margin-top: 0;
        padding: 12px 14px;
        border-radius: var(--button-radius);
        color: #fff;
        background: rgba(0, 0, 0, 0.48);
      }

      .case-media-row__grid {
        display: grid;
        gap: 16px;
      }

      .case-media-row--wide_portrait .case-media-row__grid,
      .case-media-row--portrait_wide .case-media-row__grid,
      .case-media-row--three_portrait .case-media-row__grid {
        aspect-ratio: 1280 / 546;
      }

      .case-media-row--two_wide .case-media-row__grid {
        aspect-ratio: 1280 / 406;
      }

      .case-media-row--two_portrait .case-media-row__grid {
        aspect-ratio: 1280 / 842;
      }

      .case-media-row--wide_portrait .case-media-row__grid {
        grid-template-columns: 2fr 1fr;
      }

      .case-media-row--portrait_wide .case-media-row__grid {
        grid-template-columns: 1fr 2fr;
      }

      .case-media-row--two_wide .case-media-row__grid,
      .case-media-row--two_portrait .case-media-row__grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .case-media-row--three_portrait .case-media-row__grid {
        grid-template-columns: repeat(3, 1fr);
      }

      .case-media-row__item {
        min-width: 0;
      }

      .cases-index {
        padding: 72px 0 96px;
      }

      .cases-index__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 56px 16px;
      }

      .cases-index__link {
        display: grid;
        gap: 16px;
      }

      .cases-index__media {
        aspect-ratio: 14 / 9;
      }

      .cases-index__meta {
        display: grid;
        gap: 8px;
      }

      .cases-index__category,
      .cases-index__client,
      .cases-index__empty {
        color: var(--color-muted);
        font-size: 16px;
        line-height: 1.35;
      }

      .cases-index__title {
        font-size: clamp(26px, 3vw, 42px);
        line-height: 1.05;
        transition: color 0.24s ease;
      }

      .cases-index__link:hover .cases-index__title,
      .cases-index__link:focus-visible .cases-index__title {
        color: var(--color-accent);
      }

      @media (max-width: 767px) {
        .case-intro,
        .case-text,
        .case-media,
        .case-media-row,
        .case-video,
        .cases-index {
          width: min(100% - 24px, 1280px);
        }

        .case-hero {
          height: 500px;
          min-height: 0;
          max-height: none;
        }

        .case-hero.is-parallax .case-hero__media > * {
          height: calc(100% + 18vh);
          transform: translate3d(0, calc(var(--case-parallax-y) - 18vh), 0);
        }

        .case-text {
          grid-template-columns: 1fr;
          gap: 18px;
          padding: 8px 0 22px;
        }

        .case-intro__title {
          font-size: clamp(28px, 8.2vw, 36px);
          line-height: 1.12;
        }

        .case-intro__description {
          font-size: clamp(18px, 5vw, 22px);
          line-height: 1.28;
        }

        .case-text__heading,
        .case-text__body {
          grid-column: auto;
        }

        .case-text__heading {
          font-size: 20px;
        }

        .case-text__body > * {
          font-size: 18px;
          line-height: 1.38;
        }

        .case-video__controls {
          right: 10px;
          bottom: 10px;
          left: 10px;
          grid-template-columns: 32px minmax(0, 1fr) minmax(38px, max-content) 48px 32px;
          gap: 6px;
          padding: 8px;
          opacity: 0;
          transform: translateY(8px);
        }

        .case-video__control {
          width: 32px;
          height: 32px;
        }

        .case-video__time {
          font-size: 12px;
        }

        .case-video__volume {
          width: 48px;
        }

        .case-media--caption-side,
        .case-media-row--wide_portrait .case-media-row__grid,
        .case-media-row--portrait_wide .case-media-row__grid,
        .case-media-row--three_portrait .case-media-row__grid,
        .case-media-row--two_wide .case-media-row__grid,
        .case-media-row--two_portrait .case-media-row__grid,
        .cases-index__grid {
          grid-template-columns: 1fr;
        }

        .case-media-row--wide_portrait .case-media-row__grid,
        .case-media-row--portrait_wide .case-media-row__grid,
        .case-media-row--three_portrait .case-media-row__grid,
        .case-media-row--two_wide .case-media-row__grid,
        .case-media-row--two_portrait .case-media-row__grid {
          aspect-ratio: auto;
        }

        .case-media-row__item {
          aspect-ratio: 14 / 9;
        }

        .case-media-row--wide_portrait .case-media-row__item:nth-child(2),
        .case-media-row--portrait_wide .case-media-row__item:nth-child(1),
        .case-media-row--two_portrait .case-media-row__item,
      .case-media-row--three_portrait .case-media-row__item {
          aspect-ratio: 3 / 4;
        }
      }

      .technical-page {
        padding: clamp(40px, 6vw, 88px) var(--container-pad) clamp(88px, 10vw, 144px);
      }

      .technical-page__content {
        display: grid;
        grid-template-columns: minmax(180px, 0.32fr) minmax(0, 0.68fr);
        gap: clamp(32px, 5vw, 88px);
        width: min(100%, 1280px);
        margin: 0 auto;
      }

      .technical-page h1 {
        margin: 0;
        font-size: clamp(26px, 2vw, 32px);
        font-weight: 500;
        letter-spacing: var(--tracking-body);
        line-height: 1.15;
      }

      .technical-page__prose {
        color: var(--color-text);
        font-size: 20px;
        letter-spacing: var(--tracking-body);
        line-height: 1.4;
      }

      .technical-page__prose > :first-child {
        margin-top: 0;
      }

      .technical-page__prose > :last-child {
        margin-bottom: 0;
      }

      .technical-page__prose :where(p, ul, ol, blockquote) {
        margin: 0 0 1.2em;
      }

      .technical-page__prose :where(h2, h3, h4) {
        margin: 2em 0 .65em;
        font-weight: 500;
        letter-spacing: var(--tracking-tight);
        line-height: 1.15;
      }

      .technical-page__prose h2 {
        font-size: 32px;
      }

      .technical-page__prose h3 {
        font-size: 25px;
      }

      .technical-page__prose :where(ul, ol) {
        padding-left: 1.25em;
      }

      .technical-page__prose li + li {
        margin-top: .45em;
      }

      .technical-page__prose a {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: .15em;
      }

      .technical-page__prose blockquote {
        padding-left: 1em;
        border-left: 2px solid var(--color-line);
        color: var(--color-muted);
      }

      @media (max-width: 700px) {
        .technical-page {
          padding: 28px var(--container-pad) 80px;
        }

        .technical-page__content {
          grid-template-columns: 1fr;
          gap: 18px;
        }

        .technical-page h1 {
          font-size: 24px;
        }

        .technical-page__prose {
          font-size: 18px;
          line-height: 1.42;
        }

        .technical-page__prose h2 {
          font-size: 26px;
        }

        .technical-page__prose h3 {
          font-size: 22px;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        .case-card {
          opacity: 1;
          transform: none;
          transition: none;
        }

        .logo-rotator__cube {
          transition: none;
        }
      }
