*,
      *::before,
      *::after {
        box-sizing: border-box;
      }

      :root {
        --pad-x: 5vw;
        --pad-y: clamp(18px, 4.4vh, 48px);
        --pad-y-bottom: 0px;
        --gap-hero: clamp(8px, 1.3vh, 14px);

        --copy-h2: clamp(26px, 2.6vw + 1.3vh, 52px);
        --copy-p: clamp(16px, 0.95vw + 0.65vh, 22px);
        --copy-link: clamp(14px, 0.8vw + 0.45vh, 17px);
        --copy-max: min(38vw, 640px);
        --copy-gap: clamp(8px, 1.3vh, 18px);

        --group-pad: clamp(22px, 3.6vh, 40px);
        --group-gap: clamp(16px, 2.8vw, 48px);
        --group-text-w: clamp(220px, 28vw, 520px);
        --group-title: clamp(16px, 1vw + 0.65vh, 22px);
        --group-sub: clamp(14px, 0.85vw + 0.5vh, 18px);
        --group-pos-lh: 1.12;
        --group-logo-w: clamp(96px, 12vh, 148px);
        --group-block: clamp(120px, 18vh, 200px);

        --btn-pad-y: clamp(8px, 1.1vh, 12px);
        --btn-pad-x: clamp(12px, 1.3vw, 22px);
        --btn-fs: clamp(13px, 0.75vw + 0.4vh, 16px);

        --tick-w: clamp(18px, 1.6vw, 28px);
        --tick-right: var(--pad-x);

        --sec-pad-y: clamp(40px, 5.5vh + 1.5vw, 112px);
        --sec-gap: clamp(28px, 2.2vw + 2vh, 96px);
        --sec-gap-md: clamp(24px, 1.8vw + 1.6vh, 64px);
        --sec-gap-sm: clamp(14px, 1vw + 0.8vh, 28px);
        --sec-inner-max: min(1920px, 80vw);
        --sec-eyebrow: clamp(12px, 0.5vw + 0.4vh, 14px);
        --sec-title: clamp(26px, 1.8vw + 1.3vh, 44px);
        --sec-lead: clamp(17px, 0.9vw + 0.7vh, 22px);
        --sec-body: clamp(16px, 0.8vw + 0.6vh, 20px);
        --sec-body-sm: clamp(15px, 0.7vw + 0.5vh, 18px);
        --sec-meta: clamp(13px, 0.5vw + 0.4vh, 16px);
        --sec-h3: clamp(16px, 0.8vw + 0.55vh, 22px);
        --sec-label: clamp(13px, 0.55vw + 0.4vh, 15px);
        --sec-title-mb: clamp(12px, 1.4vh, 18px);
        --sec-lead-mb: clamp(18px, 2.2vh, 28px);
        --sec-eyebrow-mb: clamp(8px, 1vh, 12px);
        --sec-row-pad-y: clamp(14px, 1.5vh + 0.3vw, 32px);
        --sec-row-pad-x: clamp(10px, 1.1vw, 20px);
        --sec-list-gap: clamp(10px, 0.8vw, 14px);
        --sec-form-w: clamp(300px, 26vw + 3vh, 520px);
        --sec-form-gap: clamp(10px, 0.7vw + 0.4vh, 14px);
        --sec-field-pad-y: clamp(10px, 1.05vh, 12px);
        --sec-field-pad-x: clamp(12px, 1vw, 14px);
        --sec-field-fs: clamp(15px, 0.75vw + 0.5vh, 18px);
        --sec-select-h: clamp(40px, 3.8vh + 0.4vw, 46px);
        --sec-textarea-min: clamp(96px, 12vh, 120px);
        --sec-footer-pad-y: clamp(36px, 4.5vh + 1vw, 88px);
        --sec-footer-pad-bottom: clamp(22px, 2.8vh, 40px);
        --sec-footer-gap: clamp(24px, 3vh + 0.8vw, 56px);
        --sec-footer-logo: clamp(56px, 4.5vw + 0.8vh, 96px);
        --sec-footer-nav: clamp(12px, 0.55vw + 0.35vh, 14px);
        --sec-footer-brand: clamp(14px, 0.7vw + 0.4vh, 16px);
      }

      html,
      body {
        margin: 0;
        width: 100%;
        min-height: 100%;
        background: #0b0b0b;
        color: #0b0b0b;
      }

      body {
        overflow-x: hidden;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        font-family: "Source Sans 3", system-ui, sans-serif;
      }

      .page {
        width: 100%;
      }

      .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;
      }

      /* ========== Hero ========== */
      .axvg-hero {
        width: 100%;
        height: 100vh;
        height: 100svh;
        min-height: 100vh;
        min-height: 100svh;
        max-height: 100svh;
        position: relative;
        overflow: hidden;
        background: #1a2230;
        touch-action: pan-y;
        user-select: none;
        color: #fff;
      }

      .hero-inner {
        width: 100%;
        height: 100%;
        padding: var(--pad-y) 0 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        gap: var(--gap-hero);
        position: relative;
        overflow: hidden;
      }

      .hero-swiper,
      .hero-slides,
      .hero-slide {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
      }

      .hero-swiper {
        z-index: 0;
        overflow: hidden;
        pointer-events: none;
      }

      .hero-slide {
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.7s ease, visibility 0.7s ease;
        z-index: 0;
        background: #1a2230;
      }

      .hero-slide.is-active {
        opacity: 1;
        visibility: visible;
        z-index: 1;
      }

      .hero-slide-bg {
        position: absolute;
        inset: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transform: scale(1.04);
        transition: transform 1.1s ease;
        display: block;
      }

      .hero-slide.is-active .hero-slide-bg {
        transform: scale(1);
      }

      .hero-slide[data-slide="5"] .hero-slide-bg {
        object-position: center 18%;
      }

      .hero-slide-scrim {
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background:
          linear-gradient(
            90deg,
            rgba(8, 14, 24, 0.78) 0%,
            rgba(8, 14, 24, 0.4) 18%,
            rgba(8, 14, 24, 0.08) 32%,
            rgba(8, 14, 24, 0) 42%,
            rgba(8, 14, 24, 0) 62%,
            rgba(8, 14, 24, 0.1) 72%,
            rgba(8, 14, 24, 0.48) 84%,
            rgba(8, 14, 24, 0.88) 100%
          ),
          linear-gradient(
            180deg,
            rgba(8, 14, 24, 0.28) 0%,
            rgba(8, 14, 24, 0.06) 45%,
            rgba(8, 14, 24, 0.28) 100%
          );
      }

      .hero-copy-stage {
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
      }

      .hero-kicker {
        position: absolute;
        top: calc(72px + max(12px, env(safe-area-inset-top, 0px)));
        left: var(--pad-x);
        z-index: 3;
        margin: 0;
        max-width: min(42vw, 560px);
        color: #fff;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(11px, 0.45vw + 0.75vh, 15px);
        font-weight: 600;
        letter-spacing: 0.08em;
        line-height: 1.35;
        text-transform: uppercase;
        pointer-events: none;
        text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
      }

      .hero-slide-copy {
        position: absolute;
        left: var(--pad-x);
        right: calc(var(--pad-x) + var(--tick-w) + clamp(20px, 2.4vw, 40px));
        top: 46%;
        max-width: var(--copy-max);
        z-index: 2;
        color: #fff;
        opacity: 0;
        visibility: hidden;
        transform: translateY(calc(-50% + clamp(10px, 1.6vh, 18px)));
        transition: opacity 0.45s ease, transform 0.45s ease, visibility 0.45s ease;
        pointer-events: none;
      }

      .hero-slide-copy.is-active {
        opacity: 1;
        visibility: visible;
        transform: translateY(-50%);
        pointer-events: auto;
      }

      .hero-slide-copy .hero-eyebrow {
        margin: 0 0 clamp(10px, 1.4vh, 16px);
        color: #ff4500;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(11px, 0.45vw + 0.7vh, 14px);
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
      }

      .hero-slide-copy .hero-group-line {
        display: inline-block;
        margin: -6px 0 clamp(10px, 1.4vh, 16px);
        max-width: none;
        color: rgba(255, 255, 255, 0.78);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(11px, 0.45vw + 0.7vh, 14px);
        font-weight: 600;
        letter-spacing: 0.1em;
        line-height: 1.2;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
      }

      .hero-slide-copy .hero-group-line:hover {
        color: #ff4500;
      }

      .hero-slide-copy .hero-name {
        margin: 0 0 clamp(8px, 1vh, 12px);
        max-width: none;
        color: #fff;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(15px, 0.7vw + 0.5vh, 18px);
        font-weight: 600;
        letter-spacing: -0.01em;
        line-height: 1.3;
      }

      .hero-slide-copy h1,
      .hero-slide-copy h2 {
        margin: 0 0 clamp(8px, 1vh, 14px);
        color: #fff;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--copy-h2);
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: -0.02em;
      }

      .hero-slide-copy p {
        margin: 0 0 clamp(14px, 2vh, 22px);
        max-width: 34em;
        font-size: var(--copy-p);
        line-height: 1.45;
        color: rgba(255, 255, 255, 0.92);
      }

      .hero-chips {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: clamp(6px, 0.8vh, 10px) 0;
        margin: 0 0 clamp(16px, 2.2vh, 26px);
        padding: 0;
        list-style: none;
      }

      .hero-chips li {
        display: inline-flex;
        align-items: center;
        color: rgba(255, 255, 255, 0.88);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(11px, 0.5vw + 0.45vh, 13px);
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        padding: 0;
        border: 0;
      }

      .hero-chips li + li::before {
        content: "";
        width: 5px;
        height: 5px;
        margin: 0 clamp(10px, 1.1vw, 14px);
        border-radius: 50%;
        background: #ff4500;
        flex-shrink: 0;
      }

      .hero-cta-group {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: clamp(14px, 1.6vw, 22px);
      }

      .btn-primary {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: var(--btn-pad-y) var(--btn-pad-x);
        background: #fff;
        color: #000;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--btn-fs);
        font-weight: 700;
        letter-spacing: 0.01em;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        border: none;
        border-radius: 0;
        white-space: normal;
        max-width: 100%;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease;
      }

      .btn-primary::after {
        content: "";
        position: absolute;
        left: var(--btn-pad-x);
        right: var(--btn-pad-x);
        bottom: 0;
        height: 1.5px;
        background: #ff4500;
        pointer-events: none;
      }

      .btn-primary:hover {
        background: #ff4500;
        color: #fff;
      }

      .btn-primary:focus-visible {
        outline: 2px solid #fff;
        outline-offset: 2px;
      }

      .btn-primary--fill {
        background: #ff4500;
        color: #fff;
      }

      .btn-primary--fill::after {
        background: #fff;
      }

      .btn-primary--fill:hover {
        background: #e03d00;
        color: #fff;
      }

      .btn-primary--dark {
        background: #000;
        color: #fff;
      }

      .btn-primary--dark:hover {
        background: #ff4500;
        color: #fff;
      }

      .hero-slide-link {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: clamp(6px, 0.8vw, 10px);
        margin: 0;
        padding: var(--btn-pad-y) var(--btn-pad-x);
        background: none;
        color: #fff;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--btn-fs);
        font-weight: 700;
        letter-spacing: 0.01em;
        line-height: 1.2;
        text-decoration: none;
        border: none;
        border-bottom: none;
        white-space: nowrap;
      }

      .hero-slide-link::after {
        content: "";
        position: absolute;
        left: var(--btn-pad-x);
        right: var(--btn-pad-x);
        bottom: 0;
        height: 1.5px;
        background: #ff4500;
        pointer-events: none;
      }

      .hero-slide-link:hover {
        background: none;
        color: #ff4500;
      }

      .icon-arrow {
        display: inline-block;
        width: 0.9em;
        height: 0.9em;
        flex-shrink: 0;
      }

      .hero-ticks {
        position: absolute;
        top: 46%;
        right: var(--tick-right);
        z-index: 4;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: clamp(8px, 1.1vh, 12px);
        transform: translateY(-50%);
      }

      .hero-tick {
        position: relative;
        width: 2px;
        height: clamp(22px, 3.4vh, 36px);
        padding: 0;
        border: 0;
        background: rgba(255, 255, 255, 0.28);
        cursor: pointer;
        appearance: none;
      }

      .hero-tick.is-active {
        background: rgba(255, 255, 255, 0.18);
      }

      .hero-tick::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 0;
        background: #ff4500;
      }

      .hero-tick.is-active::after {
        animation: tick-fill 7s linear forwards;
      }

      @keyframes tick-fill {
        from {
          height: 0;
        }
        to {
          height: 100%;
        }
      }

      .hero-bar {
        position: relative;
        z-index: 3;
        isolation: isolate;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: var(--group-gap);
        width: 100%;
        padding: var(--group-pad) var(--pad-x) clamp(28px, 4.5vh, 48px);
        overflow: visible;
      }

      .hero-bar::before {
        content: "";
        position: absolute;
        inset: calc(20px - 1rem) 0 0;
        z-index: 0;
        pointer-events: none;
        background: #ffffff1c;
        backdrop-filter: saturate(180%) blur(16px);
        -webkit-backdrop-filter: saturate(180%) blur(16px);
        border-top: 1px solid rgb(255 255 255 / 20%);
        box-shadow:
          0 -24px 48px rgba(255, 255, 255, 0.06),
          0 0 80px 28px rgba(255, 255, 255, 0.05),
          0 28px 64px rgba(8, 14, 24, 0.28);
        -webkit-mask-image:
          linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.2) 14%,
            #000 32%,
            #000 68%,
            rgba(0, 0, 0, 0.2) 86%,
            transparent 100%
          ),
          linear-gradient(180deg, #000 0%, #000 40%, rgba(0, 0, 0, 0.45) 70%, transparent 100%);
        mask-image:
          linear-gradient(
            90deg,
            transparent 0%,
            rgba(0, 0, 0, 0.2) 14%,
            #000 32%,
            #000 68%,
            rgba(0, 0, 0, 0.2) 86%,
            transparent 100%
          ),
          linear-gradient(180deg, #000 0%, #000 40%, rgba(0, 0, 0, 0.45) 70%, transparent 100%);
        -webkit-mask-composite: source-in;
        mask-composite: intersect;
      }

      .hero-bar > * {
        position: relative;
        z-index: 1;
      }

      .hero-bar__pos {
        justify-self: start;
        width: min(100%, var(--group-text-w));
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: clamp(4px, 0.6vh, 8px);
        color: #fff;
      }

      .hero-bar__name {
        margin: 0;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(13px, 0.7vw + 0.45vh, 16px);
        font-weight: 600;
        letter-spacing: 0.02em;
        line-height: 1.25;
        color: rgba(255, 255, 255, 0.88);
      }

      .hero-bar__tag {
        margin: 0;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(16px, 1.15vw + 0.55vh, 28px);
        font-weight: 700;
        line-height: var(--group-pos-lh);
        letter-spacing: -0.02em;
        color: #fff;
      }

      .hero-bar__tag span {
        display: block;
        white-space: normal;
      }

      .hero-bar__logo {
        justify-self: center;
        width: auto;
        text-align: center;
      }

      .hero-bar__logo img {
        display: block;
        width: var(--group-logo-w);
        margin-inline: auto;
        height: auto;
      }

      .hero-bar__group {
        display: block;
        margin: 8px 0 0;
        color: rgba(255, 255, 255, 0.72);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(10px, 0.4vw + 0.5vh, 12px);
        font-weight: 600;
        letter-spacing: 0.06em;
        line-height: 1.2;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
      }

      .hero-bar__group:hover {
        color: #ff4500;
      }

      .hero-bar__cta {
        justify-self: end;
        display: flex;
        align-items: center;
      }

      .site-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 40;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        gap: var(--group-gap);
        width: 100%;
        padding: 0;
        overflow: visible;
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-12px);
        --header-nav-fs: clamp(11px, 0.5vw + 0.32vh, 13px);
        transition:
          opacity 0.28s ease,
          transform 0.28s ease,
          visibility 0.28s ease;
      }

      .site-header.is-visible {
        pointer-events: auto;
        visibility: visible;
        opacity: 1;
        transform: none;
      }

      .admin-bar .site-header {
        margin-top: 32px;
      }

      @media screen and (max-width: 782px) {
        .admin-bar .site-header {
          margin-top: 46px;
        }
      }

      .site-header__glass {
        position: absolute;
        inset: 0;
        grid-column: 1 / -1;
        grid-row: 1;
        z-index: 5;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(11, 11, 11, 0.92) 0%, rgba(12, 21, 36, 0.92) 100%);
        border-bottom: 1px solid rgb(255 255 255 / 20%);
        box-shadow: 0 16px 40px rgba(12, 21, 36, 0.28);
      }

      @supports ((-webkit-backdrop-filter: blur(16px)) or (backdrop-filter: blur(16px))) {
        .site-header__glass {
          background: linear-gradient(90deg, rgba(11, 11, 11, 0.42) 0%, rgba(12, 21, 36, 0.42) 100%);
          -webkit-backdrop-filter: saturate(180%) blur(16px);
          backdrop-filter: saturate(180%) blur(16px);
          -webkit-transform: translateZ(0);
          transform: translateZ(0);
        }
      }

      .site-header > :not(.site-header__glass):not(.site-header__overlay):not(.site-header__panel) {
        position: relative;
        z-index: 6;
      }

      .site-header__logo {
        justify-self: start;
        display: block;
        width: clamp(36px, 2.6vw + 0.8vh, 44px);
        min-width: 0;
        margin-inline-start: var(--pad-x);
        padding-block: clamp(10px, 1.5vh, 16px);
      }

      .site-header__logo img {
        display: block;
        width: 100%;
        height: auto;
      }

      .site-header__nav {
        justify-self: center;
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: center;
        gap: clamp(12px, 1.1vw, 22px);
        min-width: 0;
        max-width: 100%;
        padding-block: clamp(10px, 1.5vh, 16px);
        z-index: 6;
      }

      .site-header__nav a {
        position: relative;
        color: rgba(255, 255, 255, 0.88);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--header-nav-fs);
        font-weight: 600;
        letter-spacing: 0.02em;
        line-height: 1.2;
        text-decoration: none;
        white-space: nowrap;
        padding-bottom: 4px;
        transition: color 0.2s ease;
      }

      .site-header__nav a::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1.5px;
        background: #ff4500;
        pointer-events: none;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 0.2s ease;
      }

      .site-header__nav a:hover,
      .site-header__nav a:focus-visible,
      .site-header__nav a.is-active {
        color: #fff;
      }

      .site-header__nav a:hover::after,
      .site-header__nav a:focus-visible::after,
      .site-header__nav a.is-active::after {
        transform: scaleX(1);
      }

      .nav-drop {
        position: relative;
        display: flex;
        align-items: baseline;
      }

      .nav-drop::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 7;
        width: 100%;
        height: 12px;
      }

      .nav-drop__label {
        position: relative;
        display: inline-block;
        margin: 0;
        padding: 0 14px 4px 0;
        border: 0;
        background: none;
        color: rgba(255, 255, 255, 0.88);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--header-nav-fs);
        font-weight: 600;
        letter-spacing: 0.02em;
        line-height: 1.2;
        white-space: nowrap;
        cursor: pointer;
        appearance: none;
      }

      .nav-drop__label::after {
        content: "";
        position: absolute;
        top: 0.45em;
        right: 0;
        width: 0;
        height: 0;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
        border-top: 4px solid currentColor;
      }

      .nav-drop__label:hover,
      .nav-drop__label:focus-visible,
      .nav-drop__label[aria-current="page"] {
        color: #fff;
      }

      .nav-drop__panel {
        position: absolute;
        top: calc(100% + 4px);
        left: 0;
        z-index: 8;
        display: none;
        flex-direction: column;
        min-width: 280px;
        max-height: min(70vh, 480px);
        margin: 0;
        padding: 8px 0;
        overflow-y: auto;
        background: #121820;
        border-top: 2px solid #ff4500;
        box-shadow: 0 18px 40px rgba(8, 14, 24, 0.28);
      }

      .nav-drop:hover .nav-drop__panel,
      .nav-drop:focus-within .nav-drop__panel {
        display: flex;
      }

      .nav-drop__panel a {
        display: block;
        padding: 10px 18px;
        color: rgba(255, 255, 255, 0.82);
        white-space: normal;
      }

      .nav-drop__panel a::after {
        display: none;
      }

      .nav-drop__panel a:hover,
      .nav-drop__panel a:focus-visible,
      .nav-drop__panel a[aria-current="page"] {
        color: #ff4500;
      }

      .site-header__cta {
        justify-self: end;
        display: flex;
        align-items: center;
        margin-inline-end: var(--pad-x);
        padding-block: clamp(10px, 1.5vh, 16px);
        z-index: 6;
      }

      .site-header__cta .btn-primary {
        font-size: var(--header-nav-fs);
      }

      .site-header__toggle,
      .site-header__overlay {
        display: none;
      }

      .site-header__panel {
        display: contents;
      }

      html.is-nav-open {
        overflow: hidden;
      }

      /* ========== Sections ========== */
      .site-section {
        width: 100%;
        padding: var(--sec-pad-y) var(--pad-x);
        background: #f4f6f8;
        scroll-margin-top: 88px;
      }

      #expert {
        scroll-margin-top: 88px;
      }

      .site-section--dark {
        background: #121820;
        color: #fff;
      }

      .site-section--contact {
        background: #101c30;
      }

      .site-section__inner {
        width: 100%;
        max-width: var(--sec-inner-max);
        margin-inline: auto;
      }

      .site-section__eyebrow {
        margin: 0 0 var(--sec-eyebrow-mb);
        color: #ff4500;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-eyebrow);
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .site-section__title {
        margin: 0 0 var(--sec-title-mb);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-title);
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: -0.02em;
      }

      .site-section--dark .site-section__title {
        color: #fff;
      }

      .site-section__lead {
        margin: 0 0 var(--sec-lead-mb);
        color: #3a424c;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-lead);
        font-weight: 400;
        line-height: 1.55;
      }

      .site-section--dark .site-section__lead {
        color: rgba(255, 255, 255, 0.82);
      }

      #expert.site-section,
      #education.site-section {
        background: #ffffff;
      }

      #expert.site-section.site-section--navy {
        background: #101c30;
        color: #fff;
      }

      #expert.site-section--navy .site-section__title {
        color: #fff;
      }

      #expert.site-section--navy .site-section__lead {
        color: rgba(255, 255, 255, 0.82);
      }

      #expert.site-section--navy .cred-layout {
        background: transparent;
        border-color: transparent;
      }

      .thomas-feature {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 320px minmax(0, 1fr);
        gap: var(--sec-gap-md);
        align-items: start;
      }

      .thomas-feature__intro {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-width: 0;
        max-width: none;
      }

      .thomas-feature__intro h2 {
        margin: 0 0 10px;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(26px, 2.4vw, 36px);
        font-weight: 700;
        line-height: 1.15;
        letter-spacing: -0.02em;
      }

      .thomas-feature__role {
        margin: 0;
        color: #ff4500;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-label);
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .thomas-feature__lead {
        margin: clamp(14px, 1.6vh, 20px) 0 0;
        color: #4a5560;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body-sm);
        line-height: 1.6;
      }

      .thomas-feature__media {
        overflow: hidden;
        background: #121820;
        width: 100%;
        max-width: 320px;
        aspect-ratio: 3 / 4;
        justify-self: center;
      }

      .thomas-feature__media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top;
      }

      .thomas-feature__copy {
        min-width: 0;
        max-width: none;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 0.85em;
      }

      .thomas-feature__copy p {
        margin: 0;
        color: #4a5560;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body-sm);
        line-height: 1.6;
      }

      .standard-line {
        margin: 0.4em 0 0;
        color: #0b0b0b;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-h3);
        font-weight: 700;
        letter-spacing: -0.01em;
      }

      #expert.site-section,
      #proof.site-section {
        background: linear-gradient(180deg, #f7f8fa 0%, #eef2f6 100%);
      }

          .trust-logos {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(12px, 1.4vw, 20px);
        margin: clamp(28px, 4vh, 48px) 0 0;
        padding: 0;
        list-style: none;
      }

      .trust-logos li {
        min-height: 112px;
        height: 112px;
      }

      .trust-logos span,
      .trust-logos a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        min-height: 112px;
        padding: 16px 18px;
        background: #fff;
        border: 1px solid rgba(11, 11, 11, 0.08);
      }

      .trust-logos img {
        display: block;
        max-width: 100%;
        max-height: 56px;
        width: auto;
        height: auto;
        object-fit: contain;
      }

      #mandates.site-section--dark,
      #method.site-section--dark {
        background: linear-gradient(180deg, #0e141c 0%, #121820 45%, #161d27 100%);
      }

      .serve-layout {
        display: grid;
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        gap: var(--sec-gap);
        align-items: start;
      }

      .audience-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
      }

      .audience-list li {
        display: flex;
        align-items: center;
        gap: clamp(14px, 1.2vw, 20px);
        padding: clamp(22px, 2.6vh + 0.4vw, 40px) var(--sec-row-pad-x);
        min-height: clamp(64px, 8vh, 88px);
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        color: rgba(255, 255, 255, 0.9);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body);
        line-height: 1.45;
      }

      .audience-icon {
        flex: 0 0 auto;
        width: clamp(28px, 2.1vw, 36px);
        height: clamp(28px, 2.1vw, 36px);
        color: #ff4500;
      }

      .audience-icon svg {
        display: block;
        width: 100%;
        height: 100%;
      }

      .work-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        margin-top: 0;
        align-items: stretch;
      }

      .services-stack {
        margin-top: clamp(28px, 4vh, 48px);
        background: #fff;
        border: 1px solid rgba(11, 11, 11, 0.08);
      }

      .work-card {
        display: flex;
        flex-direction: column;
        height: 100%;
        background: #fff;
        border: 0;
        border-right: 1px solid rgba(11, 11, 11, 0.08);
        transition: background-color 0.2s ease;
      }

      .work-card:last-child {
        border-right: 0;
      }

      .work-card:hover {
        background: #f7f9fb;
      }

      .work-card__media {
        overflow: hidden;
        background: #d7dde5;
        aspect-ratio: 4 / 3;
      }

      .work-card__media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.45s ease;
      }

      .work-card:hover .work-card__media img {
        transform: scale(1.04);
      }

      .work-card__body {
        display: flex;
        flex-direction: column;
        gap: clamp(8px, 1vh, 12px);
        padding: clamp(16px, 1.5vw, 22px);
        flex: 1 1 auto;
      }

      .work-card p.work-card__label {
        margin: 0;
        color: #ff4500;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-eyebrow);
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        line-height: 1.2;
      }

      .work-card h3 {
        margin: 0;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-h3);
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: -0.01em;
      }

      .work-card p {
        margin: 0;
        color: #4a5560;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body-sm);
        line-height: 1.55;
      }

      .special-areas {
        padding: clamp(20px, 2.2vh, 28px) clamp(18px, 1.6vw, 24px) clamp(8px, 1.2vh, 14px);
        background: #f7f8fa;
        border-top: 1px solid rgba(11, 11, 11, 0.08);
      }

      .special-areas__head {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: clamp(6px, 0.8vh, 10px);
        margin: 0 0 clamp(14px, 1.6vh, 22px);
      }

      .special-areas__head .site-section__eyebrow {
        margin: 0;
      }

      .special-areas__head h3 {
        margin: 0;
        color: #0b0b0b;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-h3);
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -0.01em;
      }

      .special-areas__head .site-section__lead {
        margin: 0;
        width: 100%;
        max-width: none;
      }

      .special-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid rgba(11, 11, 11, 0.08);
      }

      .special-list li {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        min-width: 0;
        padding: clamp(10px, 1.2vh, 14px) clamp(12px, 1.1vw, 18px) clamp(10px, 1.2vh, 14px) 0;
        border-bottom: 1px solid rgba(11, 11, 11, 0.08);
        color: #3a424c;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-meta);
        line-height: 1.45;
      }

      .special-list li::before {
        content: "";
        flex: 0 0 auto;
        width: 18px;
        height: 18px;
        margin-top: 0.15em;
        background-color: #ff4500;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 15.5v-1.8l-7.2-4.2V4.6c0-.9-.7-1.6-1.6-1.6S10.6 3.7 10.6 4.6v4.9L3.4 13.7v1.8l7.2-2.1v4.5l-1.9 1.3v1.5l3.3-.9 3.3.9v-1.5l-1.9-1.3v-4.5l7.2 2.1z' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 15.5v-1.8l-7.2-4.2V4.6c0-.9-.7-1.6-1.6-1.6S10.6 3.7 10.6 4.6v4.9L3.4 13.7v1.8l7.2-2.1v4.5l-1.9 1.3v1.5l3.3-.9 3.3.9v-1.5l-1.9-1.3v-4.5l7.2 2.1z' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
      }

      .special-list li:nth-child(3n) {
        padding-right: 0;
      }

      .special-list li > span {
        min-width: 0;
        flex: 1 1 auto;
      }

      .special-areas__cta {
        display: flex;
        margin: clamp(32px, 4vh, 48px) 0 0;
      }

      .special-areas__cta .btn-primary {
        margin: auto;
      }

      #expertise .special-areas {
        background: #101c30;
        border-top-color: rgba(255, 255, 255, 0.1);
      }

      #expertise .special-areas__head h3 {
        color: #fff;
      }

      #expertise .special-list {
        border-top-color: rgba(255, 255, 255, 0.1);
      }

      #expertise .special-list li {
        color: rgba(255, 255, 255, 0.82);
        border-bottom-color: rgba(255, 255, 255, 0.1);
      }

      .method-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(16px, 1.6vw, 28px);
        margin-top: clamp(28px, 4vh, 48px);
      }

      .method-cta {
        display: flex;
        justify-content: center;
        margin: clamp(32px, 4vh, 48px) 0 0;
      }

      .method-step {
        display: flex;
        flex-direction: column;
        gap: clamp(8px, 1vh, 12px);
        padding: clamp(18px, 2.2vh, 28px) 0;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
      }

      .method-step__n {
        color: #ff4500;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: clamp(18px, 1.2vw, 22px);
        font-weight: 700;
        letter-spacing: 0.04em;
      }

      .method-step h3 {
        margin: 0;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-h3);
        font-weight: 700;
      }

      .method-step p {
        margin: 0;
        color: rgba(255, 255, 255, 0.72);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body-sm);
        line-height: 1.55;
      }

      .cred-layout {
        display: grid;
        grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: var(--sec-gap);
        align-items: stretch;
        padding: 0;
        background: #f7f8fa;
        border: 1px solid rgba(11, 11, 11, 0.08);
      }

      #education > .site-section__inner,
      #expert > .site-section__inner {
        display: flex;
        flex-direction: column;
        gap: var(--sec-gap-md);
      }

      .cred-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: var(--sec-gap);
        align-items: end;
      }

      .cred-head__title .site-section__title {
        margin-bottom: 0;
      }

      .cred-head .site-section__lead {
        margin: 0;
      }

      .cred-list-wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: clamp(16px, 2vh, 24px);
        min-width: 0;
        padding: clamp(20px, 2.2vh, 28px) clamp(18px, 1.6vw, 24px);
      }

      .cred-intro {
        position: relative;
        min-height: min(560px, 68vh);
      }

      .cred-intro__media {
        position: absolute;
        inset: 0;
        overflow: hidden;
        background: #121820;
      }

      .cred-intro__media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top center;
      }

      .cred-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid rgba(11, 11, 11, 0.1);
      }

      .cred-list li {
        display: flex;
        align-items: flex-start;
        gap: clamp(8px, 0.7vw, 12px);
        padding: clamp(8px, 1vh, 14px) clamp(12px, 1.1vw, 18px) clamp(8px, 1vh, 14px) 0;
        border-bottom: 1px solid rgba(11, 11, 11, 0.1);
        color: #3a424c;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-meta);
        line-height: 1.4;
      }

      .cred-list li:nth-child(odd) {
        padding-right: clamp(12px, 1.1vw, 18px);
        border-right: 1px solid rgba(11, 11, 11, 0.1);
      }

      .cred-list li:nth-child(even) {
        padding-left: clamp(12px, 1.1vw, 18px);
        padding-right: 0;
      }

      .cred-list li::before {
        content: "";
        flex: 0 0 auto;
        width: 6px;
        height: 6px;
        margin-top: 0.55em;
        border-radius: 50%;
        background: #ff4500;
      }

      .research-stack {
        margin-top: clamp(28px, 4vh, 48px);
        background: #fff;
        border: 1px solid rgba(11, 11, 11, 0.08);
      }

      .research-stack > .special-areas:first-child {
        border-top: 0;
      }

      .research-cards {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        margin: 0;
      }

      .research-card {
        background: #fff;
        border: 0;
        border-right: 1px solid rgba(11, 11, 11, 0.08);
      }

      .research-card:last-child {
        border-right: 0;
      }

      .research-card img {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
        background: #d7dde5;
      }

      .research-card p {
        margin: 0;
        padding: clamp(14px, 1.6vh, 20px);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-body-sm);
        font-weight: 700;
        line-height: 1.35;
      }

      .research-stack .special-list {
        grid-template-columns: 1fr;
      }

      .research-stack .special-list li,
      .research-stack .special-list li:nth-child(3n),
      .research-stack .special-list li:nth-child(even) {
        padding-right: 0;
        padding-left: 0;
      }

      .research-stack .special-list em {
        font-style: italic;
      }

      .related-note {
        margin: clamp(28px, 4vh, 40px) 0 0;
        color: #4a5560;
        font-size: var(--sec-body-sm);
        line-height: 1.55;
      }

      .related-note a {
        color: #0b0b0b;
        font-weight: 600;
        text-decoration: none;
        border-bottom: 1.5px solid #ff4500;
      }

      .related-note a:hover {
        color: #ff4500;
      }

      #contact.site-section--contact {
        background: linear-gradient(180deg, #0c1524 0%, #101c30 45%, #101c305c 100%);
        color: #fff;
      }

      #contact > .site-section__inner {
        display: flex;
        flex-direction: column;
        gap: clamp(36px, 5vh, 64px);
      }

      .contact-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, var(--sec-form-w)) minmax(0, 1fr);
        gap: var(--sec-gap-md);
        align-items: start;
      }

      .contact-aside,
      .contact-points {
        padding-top: calc(var(--sec-label) * 1.45 + clamp(4px, 0.55vh, 6px));
      }

      .contact-aside {
        max-width: 28em;
      }

      .contact-aside p,
      .contact-aside address {
        margin: 0;
        color: rgba(255, 255, 255, 0.78);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body);
        font-style: normal;
        line-height: 1.6;
      }

      .contact-aside p + p,
      .contact-aside address + p,
      .contact-aside p + address,
      .contact-aside address + address {
        margin-top: 0.85em;
      }

      .contact-aside strong {
        display: block;
        margin: 0 0 4px;
        color: #fff;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-body-sm);
        font-weight: 700;
      }

      .contact-aside a {
        color: #fff;
        text-decoration: none;
        border-bottom: 1.5px solid #ff4500;
      }

      .contact-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sec-form-gap);
        width: 100%;
      }

      .contact-form-wrap {
        width: 100%;
        min-width: 0;
      }

      .contact-form .field {
        display: flex;
        flex-direction: column;
        gap: clamp(4px, 0.55vh, 6px);
      }

      .contact-form .field--full {
        grid-column: 1 / -1;
      }

      .contact-form label {
        color: rgba(255, 255, 255, 0.88);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-label);
        font-weight: 600;
        letter-spacing: 0.02em;
      }

      .contact-form input,
      .contact-form select,
      .contact-form textarea {
        width: 100%;
        padding: var(--sec-field-pad-y) var(--sec-field-pad-x);
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 0;
        background: rgba(255, 255, 255, 0.06);
        color: #fff;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-field-fs);
        line-height: 1.4;
      }

      .contact-form select {
        color-scheme: light;
        appearance: none;
        height: var(--sec-select-h);
        padding-right: clamp(32px, 3vw, 40px);
        cursor: pointer;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 14px center;
        background-size: 12px 8px;
      }

      .contact-form select option {
        background: #fff;
        color: #0b0b0b;
      }

      .contact-form textarea {
        min-height: var(--sec-textarea-min);
        resize: vertical;
      }

      .contact-form input:focus,
      .contact-form select:focus,
      .contact-form textarea:focus {
        outline: 2px solid #ff4500;
        outline-offset: 1px;
        border-color: transparent;
        background: rgba(255, 255, 255, 0.09);
      }

      .contact-form .form-actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sec-form-gap);
        margin-top: 4px;
      }

      .contact-form .form-actions .btn-primary {
        width: 100%;
        min-width: 0;
        white-space: normal;
      }

      .form-note {
        margin: 0;
        color: rgba(255, 255, 255, 0.55);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-meta);
      }

      .contact-form .form-actions .form-note {
        grid-column: 1 / -1;
        text-align: center;
      }

      .field .form-note {
        margin-top: 8px;
      }

      .form-success {
        display: none;
        padding: clamp(24px, 3vh, 40px);
        border: 1px solid rgba(255, 255, 255, 0.18);
        color: #fff;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body);
        line-height: 1.55;
      }

      .contact-form.is-sent {
        display: none;
      }

      .form-success.is-visible {
        display: block;
      }

      .contact-points {
        display: flex;
        flex-direction: column;
        margin: 0;
        padding: 0;
        list-style: none;
        max-width: 28em;
        width: 100%;
        justify-self: end;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
      }

      .contact-points li {
        display: grid;
        grid-template-columns: clamp(2rem, 2.2vw, 2.5rem) minmax(0, 1fr);
        gap: var(--sec-list-gap);
        padding: var(--sec-row-pad-y) 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
      }

      .contact-points__step {
        color: #ff4500;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-meta);
        font-weight: 700;
        letter-spacing: 0.04em;
      }

      .contact-points strong {
        display: block;
        margin: 0 0 4px;
        color: #fff;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-body-sm);
      }

      .contact-points span {
        color: rgba(255, 255, 255, 0.62);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-body-sm);
        line-height: 1.5;
      }

      .site-footer {
        padding: var(--sec-footer-pad-y) var(--pad-x) var(--sec-footer-pad-bottom);
        background: #0b0b0b;
        color: rgba(255, 255, 255, 0.78);
      }

      .site-footer__inner {
        width: 100%;
        max-width: var(--sec-inner-max);
        margin-inline: auto;
        display: grid;
        gap: var(--sec-footer-gap);
      }

      .site-footer__main {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        gap: var(--sec-gap-md);
        align-items: center;
      }

      .site-footer__brand-block {
        max-width: 36em;
        justify-self: start;
      }

      .site-footer__brand {
        margin: 0 0 clamp(10px, 1.2vh, 14px);
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-footer-brand);
        font-weight: 700;
        color: #fff;
      }

      .site-footer__legal {
        margin: 0;
        color: rgba(255, 255, 255, 0.55);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-label);
        line-height: 1.55;
      }

      .site-footer__legal a {
        color: rgba(255, 255, 255, 0.75);
        text-decoration: none;
      }

      .site-footer__legal a:hover {
        color: #ff4500;
      }

      .site-footer__logo {
        display: flex;
        align-items: center;
        justify-content: center;
        justify-self: center;
        width: var(--sec-footer-logo);
      }

      .site-footer__logo img {
        display: block;
        width: 100%;
        height: auto;
      }

      .site-footer__nav {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-end;
        justify-self: end;
        gap: 8px;
      }

      @media (max-width: 1279px) {
        .site-footer__nav {
          display: grid;
          grid-template-columns: 1fr 1fr;
          justify-content: start;
          gap: 8px;
        }
      }

      .site-footer__nav a {
        color: rgba(255, 255, 255, 0.75);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-footer-nav);
        text-decoration: none;
        transition: color 0.2s ease;
      }

      .site-footer__nav a:hover {
        color: #fff;
      }

      .site-footer__sitemap {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: clamp(16px, 1.8vw, 36px);
        padding-top: clamp(20px, 2.8vh, 40px);
        border-top: 1px solid rgba(255, 255, 255, 0.1);
      }

      .site-footer__sitemap-col {
        display: flex;
        flex-direction: column;
        gap: clamp(8px, 1vh, 10px);
        min-width: 0;
      }

      .site-footer__sitemap-col strong {
        margin: 0 0 clamp(2px, 0.4vh, 4px);
        color: #fff;
        font-family: Montserrat, system-ui, sans-serif;
        font-size: var(--sec-label);
        font-weight: 700;
        line-height: 1.35;
      }

      .site-footer__sitemap-col strong a {
        color: inherit;
        font-family: inherit;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
      }

      .site-footer__sitemap-col a {
        color: rgba(255, 255, 255, 0.55);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-meta);
        line-height: 1.4;
        text-decoration: none;
        transition: color 0.2s ease;
      }

      .site-footer__sitemap-col a:hover {
        color: #ff4500;
      }

      .site-footer__copy {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        gap: 12px 24px;
        margin: 0;
      }

      .site-footer__copy p {
        margin: 0;
        color: rgba(255, 255, 255, 0.4);
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-label);
        white-space: nowrap;
      }

      .site-footer__copy nav {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-items: center;
        gap: 8px;
        margin-left: auto;
      }

      .site-footer__copy a {
        color: rgba(255, 255, 255, 0.4);
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        font-family: "Source Sans 3", system-ui, sans-serif;
        font-size: var(--sec-label);
        white-space: nowrap;
      }

      .site-footer__copy a:hover {
        color: #ff4500;
      }

      @media (max-width: 1024px) {
        :root {
          --copy-h2: clamp(24px, 7vw, 38px);
          --copy-p: clamp(16px, 4vw, 20px);
          --group-block: auto;
          --group-logo-w: clamp(64px, 18vw, 84px);
          --group-pad: clamp(16px, 2.4vh, 28px);
        }

        .site-header {
          display: grid;
          grid-template-columns: 1fr auto;
          align-items: center;
          gap: 12px;
          padding: 0;
          --header-nav-fs: clamp(13px, 2.6vw, 15px);
        }

        .site-header__glass {
          grid-column: 1 / -1;
          grid-row: 1;
        }

        .site-header__logo {
          grid-column: 1;
          grid-row: 1;
          width: 40px;
          padding-block: 10px;
          z-index: 6;
        }

        .site-header__toggle {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          grid-column: 2;
          grid-row: 1;
          position: relative;
          z-index: 6;
          width: 44px;
          height: 44px;
          margin: 10px var(--pad-x) 10px 0;
          padding: 0;
          border: 0;
          background: transparent;
          cursor: pointer;
        }

        .site-header__toggle span {
          position: absolute;
          left: 11px;
          right: 11px;
          height: 1.5px;
          background: #fff;
          transition:
            transform 0.2s ease,
            opacity 0.2s ease,
            top 0.2s ease;
        }

        .site-header__toggle span:nth-child(1) {
          top: 15px;
        }

        .site-header__toggle span:nth-child(2) {
          top: 21px;
        }

        .site-header__toggle span:nth-child(3) {
          top: 27px;
        }

        .site-header.is-open .site-header__toggle span:nth-child(1) {
          top: 21px;
          transform: rotate(45deg);
        }

        .site-header.is-open .site-header__toggle span:nth-child(2) {
          opacity: 0;
        }

        .site-header.is-open .site-header__toggle span:nth-child(3) {
          top: 21px;
          transform: rotate(-45deg);
        }

        .site-header__overlay {
          display: block;
          position: fixed;
          inset: 0;
          grid-column: 1 / -1;
          grid-row: 1;
          z-index: 2;
          background: rgba(8, 14, 24, 0.55);
          opacity: 0;
          pointer-events: none;
          transition: opacity 0.28s ease;
        }

        .site-header.is-open .site-header__overlay {
          opacity: 1;
          pointer-events: auto;
        }

        .site-header__panel {
          display: flex;
          flex-direction: column;
          justify-content: center;
          gap: 0;
          position: fixed;
          top: 0;
          left: 0;
          bottom: 0;
          grid-column: 1 / -1;
          grid-row: 1;
          justify-self: start;
          z-index: 3;
          width: min(400px, 88vw);
          height: 100vh;
          height: 100dvh;
          padding: 28px var(--pad-x) 96px;
          background: #121820;
          box-shadow: 16px 0 48px rgba(8, 14, 24, 0.28);
          overflow-y: auto;
          transform: translateX(-110%);
          transition: transform 0.32s ease;
        }

        .site-header.is-open .site-header__panel {
          transform: none;
        }

        .site-header__nav {
          justify-self: stretch;
          flex-direction: column;
          align-items: flex-start;
          justify-content: center;
          gap: clamp(12px, 2.2vh, 20px);
          margin: 0;
          padding-block: 0;
          overflow: visible;
          mask-image: none;
          -webkit-mask-image: none;
        }

        .site-header__nav a {
          padding: 2px 0 4px;
        }

        .nav-drop {
          flex-direction: column;
          align-items: stretch;
          width: 100%;
        }

        .nav-drop::after {
          content: none;
        }

        .nav-drop__label {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          padding: 2px 0 4px;
          text-align: left;
        }

        .nav-drop__label::after {
          position: static;
          flex: 0 0 auto;
          margin-left: 12px;
          transition: transform 0.2s ease;
        }

        .nav-drop.is-open .nav-drop__label::after {
          transform: rotate(180deg);
        }

        .nav-drop__panel,
        .nav-drop:hover .nav-drop__panel,
        .nav-drop:focus-within .nav-drop__panel {
          position: static;
          display: none;
          min-width: 0;
          max-height: none;
          padding: 4px 0 4px 16px;
          overflow: visible;
          background: transparent;
          border-top: 0;
          box-shadow: none;
          transform: none;
        }

        .nav-drop.is-open .nav-drop__panel {
          display: flex;
        }

        .nav-drop__panel a {
          padding: 6px 0;
        }

        .site-header__cta {
          position: absolute;
          left: var(--pad-x);
          right: var(--pad-x);
          bottom: 28px;
          justify-self: stretch;
          width: auto;
          margin: 0;
          flex-shrink: 0;
        }

        .site-header__cta .btn-primary {
          width: 100%;
        }

        .hero-slide-copy {
          left: var(--pad-x);
          right: var(--pad-x);
          top: auto;
          bottom: clamp(118px, 22vh, 168px);
          max-width: none;
          transform: none;
        }

        .hero-slide-copy.is-active {
          transform: none;
        }

        .hero-cta-group {
          flex-direction: column;
          flex-wrap: nowrap;
          align-items: flex-start;
        }

        .hero-kicker {
          max-width: none;
          right: var(--pad-x);
          text-align: center;
        }

        .hero-ticks {
          position: absolute;
          top: calc(72px + max(12px, env(safe-area-inset-top, 0px)) + clamp(42px, 7vw + 2.2vh, 62px));
          right: var(--pad-x);
          left: var(--pad-x);
          bottom: auto;
          transform: none;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          gap: 8px;
          z-index: 4;
        }

        .hero-tick {
          width: clamp(26px, 7vw, 40px);
          height: 3px;
          background: rgba(255, 255, 255, 0.5);
        }

        .hero-tick.is-active::after {
          width: 0;
          height: 100%;
          animation: tick-fill-x 7s linear forwards;
        }

        @keyframes tick-fill-x {
          from {
            width: 0;
          }
          to {
            width: 100%;
          }
        }

        .hero-bar {
          grid-template-columns: minmax(0, 1fr);
          padding: var(--group-pad) var(--pad-x) clamp(18px, 3vh, 28px);
        }

        .hero-bar__logo,
        .hero-bar__cta {
          display: none;
        }

        .hero-bar__pos {
          width: 100%;
          display: grid;
          grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
          align-items: center;
          gap: 12px 16px;
        }

        .hero-bar__tag {
          font-size: clamp(12px, 3.2vw, 16px);
          line-height: 1.2;
          text-align: right;
        }

        .hero-bar__name {
          font-size: clamp(11px, 2.8vw, 13px);
        }

        .hero-slide-scrim {
          background: linear-gradient(
            180deg,
            rgba(8, 14, 24, 0.72) 0%,
            rgba(8, 14, 24, 0.38) 14%,
            rgba(8, 14, 24, 0.12) 36%,
            rgba(8, 14, 24, 0.22) 52%,
            rgba(8, 14, 24, 0.58) 76%,
            rgba(8, 14, 24, 0.42) 100%
          );
        }

        .thomas-feature,
        .serve-layout,
        .method-grid,
        .cred-head,
        .cred-layout,
        .contact-layout,
        .trust-logos,
        .audience-list {
          grid-template-columns: 1fr;
        }

        .cred-intro {
          min-height: 0;
          width: 100%;
        }

        .cred-intro__media {
          position: static;
          width: 100%;
          max-width: 100%;
          height: auto;
          aspect-ratio: 3 / 4;
          max-height: none;
        }

        .cred-intro__media img {
          width: 100%;
          height: 100%;
        }

        .work-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .work-card {
          border-right: 1px solid rgba(11, 11, 11, 0.08);
          border-bottom: 1px solid rgba(11, 11, 11, 0.08);
        }

        .work-card:nth-child(2n) {
          border-right: 0;
        }

        .work-card:nth-child(3),
        .work-card:nth-child(4) {
          border-bottom: 0;
        }

        .special-list {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .special-list li:nth-child(3n) {
          padding-right: clamp(12px, 1.1vw, 18px);
        }

        .special-list li:nth-child(even) {
          padding-right: 0;
          padding-left: 0;
        }

        .research-stack .special-list {
          grid-template-columns: 1fr;
        }

        .research-stack .special-list li:nth-child(even),
        .research-stack .special-list li:nth-child(3n) {
          padding-right: 0;
          padding-left: 0;
        }

        .thomas-feature__intro,
        .thomas-feature__copy {
          max-width: none;
        }

        .thomas-feature__media {
          width: 100%;
          max-width: none;
          height: 50svh;
          max-height: 50svh;
          aspect-ratio: unset;
        }

        .trust-logos {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .contact-form,
        .contact-form .form-actions {
          grid-template-columns: 1fr;
        }

        .contact-aside,
        .contact-points {
          max-width: none;
          width: 100%;
        }

        .site-footer__main {
          grid-template-columns: 1fr;
          justify-items: start;
        }

        .site-footer__sitemap {
          grid-template-columns: 1fr;
        }

        .site-footer__logo {
          order: -1;
          justify-self: start;
          width: clamp(56px, 18vw, 80px);
        }

        .site-footer__nav {
          justify-content: flex-start;
          justify-self: start;
        }

        .site-footer__copy {
          flex-wrap: wrap;
        }
      }

      @media (max-width: 640px) {
        .work-grid {
          grid-template-columns: 1fr;
        }

        .work-card,
        .work-card:nth-child(2n) {
          border-right: 0;
          border-bottom: 1px solid rgba(11, 11, 11, 0.08);
        }

        .work-card:last-child {
          border-bottom: 0;
        }

        .special-list {
          grid-template-columns: 1fr;
        }

        .special-list li,
        .special-list li:nth-child(3n),
        .special-list li:nth-child(even) {
          padding-right: 0;
        }

        .cred-list {
          grid-template-columns: 1fr;
        }

        .cred-list li:nth-child(odd) {
          padding-right: 0;
          border-right: 0;
        }

        .cred-list li:nth-child(even) {
          padding-left: 0;
        }

        .research-cards {
          grid-template-columns: 1fr;
        }

        .research-card,
        .research-card:last-child {
          border-right: 0;
          border-bottom: 1px solid rgba(11, 11, 11, 0.08);
        }

        .research-card:last-child {
          border-bottom: 0;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        html {
          scroll-behavior: auto;
        }

        .hero-slide,
        .hero-slide-bg,
        .hero-slide-copy,
        .work-card__media img,
        .site-header,
        .site-header__nav a,
        .site-header__nav a::after,
        .site-header__toggle span,
        .site-header__overlay,
        .site-header__panel {
          transition: none;
        }

        .hero-tick.is-active::after {
          animation: none;
          height: 100%;
          width: 100%;
        }
      }
    

#services .work-grid, #proof .work-grid { margin-top: clamp(28px, 4vh, 48px); }
#services .work-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 28px);
}
#services .work-card,
#services .work-card:last-child,
#services .work-card:nth-child(3n) {
  border: 0;
}
#proof .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#services .work-card .hero-slide-link { color: #0b0b0b; }
#proof .research-card img {
  aspect-ratio: 16 / 7;
  max-height: 220px;
}
.audience-list a {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.2vw, 20px);
  width: 100%;
  color: inherit;
  text-decoration: none;
}
.audience-list a:hover { color: #ff4500; }
.cred-logos-block .cred-logos { margin: 0; }
.cred-logos {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 8px;
  margin: clamp(14px, 1.8vh, 20px) 0 0;
  padding: 0;
  list-style: none;
}
.cred-logos li,
.cred-logos span {
  min-height: 0;
  height: 48px;
}
.cred-logos span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 6px 8px;
  background: #fff;
  border: 1px solid rgba(11, 11, 11, 0.08);
}
.cred-logos img {
  display: block;
  max-width: 100%;
  max-height: 28px;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (max-width: 800px) {
  .cred-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.site-section__lead a { color: #ff4500; text-decoration: none; }
.work-card .hero-slide-link {
  color: #0b0b0b;
  margin-top: auto;
  align-self: flex-start;
  padding-left: 0;
  padding-right: 0;
}
.work-card .hero-slide-link::after {
  left: 0;
  right: 0;
}
@media (max-width: 1024px) {
  #proof .work-grid { grid-template-columns: 1fr; }
  #services .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #services .work-card { border: 0; }
}

@media (max-width: 640px) {
  #services .work-grid { grid-template-columns: 1fr; }
  #services .work-card { border: 0; }
}

body.page-inner { padding-top: 88px; }
.site-section--white { background: #ffffff; }
.page-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.page-links a { color: #0b0b0b; font-family: Montserrat, system-ui, sans-serif; font-weight: 700; text-decoration: none; }
.page-links a:hover { color: #ff4500; }
.special-list a { color: inherit; font-weight: 700; text-decoration: none; border-bottom: 1.5px solid #ff4500; }

.offer-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 18px);
  margin: clamp(28px, 4vh, 48px) 0 0;
  padding: 0;
  list-style: none;
}

.offer-stages li {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.2vh, 14px);
  min-width: 0;
  margin: 0;
  padding: clamp(22px, 2.6vh, 36px) clamp(18px, 1.4vw, 24px);
  background: #fff;
  border-top: 3px solid #ff4500;
  box-shadow: 0 16px 40px rgba(11, 11, 11, 0.06);
}

.offer-stages span {
  color: #ff4500;
  font-family: Montserrat, system-ui, sans-serif;
  font-size: clamp(28px, 2vw, 40px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

.offer-stages h3 {
  margin: 0;
  color: #0b0b0b;
  font-family: Montserrat, system-ui, sans-serif;
  font-size: var(--sec-h3);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.offer-stages p {
  margin: 0;
  color: #3a424c;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--sec-body);
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .offer-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .offer-stages { grid-template-columns: 1fr; }
}

.service-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 18px);
  margin: clamp(28px, 4vh, 48px) 0 0;
  padding: 0;
  list-style: none;
}

.service-index li {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.2vh, 14px);
  min-width: 0;
  margin: 0;
  padding: clamp(22px, 2.6vh, 32px) clamp(18px, 1.4vw, 24px);
  background: #fff;
  border-top: 3px solid #ff4500;
}

.service-index h2 {
  margin: 0;
  color: #0b0b0b;
  font-family: Montserrat, system-ui, sans-serif;
  font-size: var(--sec-h3);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.service-index p {
  margin: 0;
  color: #3a424c;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--sec-body);
  line-height: 1.55;
}

.service-index .hero-slide-link {
  margin-top: auto;
  align-self: flex-start;
  color: #0b0b0b;
}

.industry-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: clamp(28px, 4vh, 48px) 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.industry-index a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: clamp(14px, 1.2vw, 20px);
  row-gap: 6px;
  align-items: start;
  padding: clamp(22px, 2.6vh, 32px) clamp(8px, 1vw, 16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
  text-decoration: none;
}

.industry-index .audience-icon {
  grid-row: 1 / span 2;
  margin-top: 2px;
}

.industry-index h2 {
  margin: 0;
  color: #fff;
  font-family: Montserrat, system-ui, sans-serif;
  font-size: var(--sec-h3);
  font-weight: 700;
  line-height: 1.25;
}

.industry-index p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--sec-body-sm);
  line-height: 1.5;
}

.industry-index a:hover h2 {
  color: #ff4500;
}

@media (max-width: 800px) {
  .service-index,
  .industry-index { grid-template-columns: 1fr; }
}

.resource-groups {
  display: grid;
  gap: clamp(28px, 4vh, 48px);
  margin-top: clamp(28px, 4vh, 48px);
}

.resource-groups h2 {
  margin: 0 0 clamp(10px, 1.4vh, 16px);
  font-family: Montserrat, system-ui, sans-serif;
  font-size: var(--sec-h3);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.resource-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(11, 11, 11, 0.08);
}

.resource-list li {
  margin: 0;
  padding: clamp(12px, 1.4vh, 16px) 0;
  border-bottom: 1px solid rgba(11, 11, 11, 0.08);
  color: #3a424c;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--sec-body);
  line-height: 1.5;
}

.service-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(28px, 4vw, 72px);
  align-items: center;
}

.service-hero__media {
  margin: 0;
  overflow: hidden;
  background: #121820;
  aspect-ratio: 4 / 3;
}

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

.service-follow {
  margin-top: 0;
}

.service-points {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-questions {
  margin: clamp(28px, 4vh, 48px) 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.service-questions li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(16px, 2vw, 28px);
  align-items: baseline;
  margin: 0;
  padding: clamp(18px, 2.4vh, 28px) 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  font-family: Montserrat, system-ui, sans-serif;
  font-size: clamp(18px, 1.1vw + 0.4vh, 26px);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.service-questions span {
  color: #ff4500;
  font-variant-numeric: tabular-nums;
}

.service-close {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(28px, 4vh, 40px);
  text-align: center;
}

.service-close p {
  margin: 0;
  max-width: 42rem;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--sec-body);
  line-height: 1.55;
}

.service-close a:not(.btn-primary) {
  color: #ff4500;
  text-decoration: none;
}

.service-grid__head .site-section__title {
  margin-bottom: 0;
}

.service-grid__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.2vw, 20px);
  margin-top: clamp(28px, 4vh, 48px);
}

.service-grid__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #f4f6f8;
  color: #0b0b0b;
  text-decoration: none;
}

.service-grid__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #d7dde5;
}

.service-grid__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.service-grid__card:hover .service-grid__media img,
.service-grid__card:focus-visible .service-grid__media img {
  transform: scale(1.04);
}

.service-grid__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 14px 16px;
}

.service-grid__body > span {
  color: #ff4500;
  font-family: Montserrat, system-ui, sans-serif;
  font-size: var(--sec-eyebrow);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service-grid__body strong {
  font-family: Montserrat, system-ui, sans-serif;
  font-size: var(--sec-h3);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.service-grid__body p {
  margin: 0;
  color: #3a424c;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--sec-body);
  line-height: 1.55;
}

.service-grid__card:hover strong,
.service-grid__card:focus-visible strong {
  color: #ff4500;
}

@media (prefers-reduced-motion: reduce) {
  .service-grid__media img {
    transition: none;
  }
}

#services .service-grid__items {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  container-type: inline-size;
}

#services .service-grid__media {
  aspect-ratio: auto;
  height: calc((100cqi - 2 * clamp(12px, 1.2vw, 20px)) / 3 * 9 / 16);
}

#services .service-grid__card {
  grid-column: span 2;
  background: #fff;
}

#services .service-grid__card:nth-child(n + 4) {
  grid-column: span 3;
}

@media (max-width: 1024px) {
  .service-points { grid-template-columns: 1fr; }
  .service-grid__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #services .service-grid__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #services .service-grid__card,
  #services .service-grid__card:nth-child(n + 4) { grid-column: auto; }
  #services .service-grid__media { aspect-ratio: 16 / 9; height: auto; }
}

@media (max-width: 900px) {
  .service-hero { grid-template-columns: 1fr; }
  .service-hero__media { aspect-ratio: 16 / 9; }
}

@media (max-width: 640px) {
  .service-grid__items,
  #services .service-grid__items { grid-template-columns: 1fr; }
  #services .service-grid__card,
  #services .service-grid__card:nth-child(n + 4) { grid-column: auto; }
}

.industry-banner {
  margin: clamp(28px, 4vh, 48px) 0 0;
  overflow: hidden;
  aspect-ratio: 21 / 8;
  background: #0b0b0b;
}

.industry-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.industry-banner img.is-focus-high {
  object-position: center 30%;
}

.site-section--white > .site-section__inner > .site-section__title {
  margin-top: clamp(36px, 5vh, 56px);
}

.industry-services {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.industry-ask {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  text-align: center;
}

.industry-ask .site-section__title {
  max-width: 16em;
  margin-bottom: 0;
}

.industry-ask p {
  margin: 0;
  max-width: 36rem;
  color: #3a424c;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: var(--sec-body);
  line-height: 1.55;
}

.industry-peers {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin: clamp(20px, 3vh, 32px) 0 0;
  padding: 0;
  list-style: none;
}

.industry-peers a {
  color: #fff;
  font-family: Montserrat, system-ui, sans-serif;
  font-size: var(--sec-h3);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-decoration: none;
}

.industry-peers a:hover,
.industry-peers a:focus-visible {
  color: #ff4500;
}

@media (max-width: 900px) {
  .industry-banner { aspect-ratio: 16 / 9; }
}
