@media (max-width: 1180px) {
  :root {
    --header-height: 76px;
  }

  .main-nav,
  .header-actions .button {
    display: none;
  }

  .header__inner {
    grid-template-columns: 1fr auto;
  }

  .header-actions,
  .menu-toggle {
    display: flex;
  }

  .mobile-panel {
    inset-block-start: calc(var(--topbar-height) + var(--header-height));
  }

  .hero__content {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 0.48fr);
    gap: 2.5rem;
  }

  .hero__copy h1 {
    font-size: clamp(3.3rem, 6.5vw, 5.4rem);
  }

  .footer-grid {
    grid-template-columns: 1.2fr 0.8fr 1fr;
  }

  .footer-col:nth-child(3) {
    display: none;
  }

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

  .audience-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1024px) {
  .section-heading {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .hero {
    min-height: auto;
  }

  .hero__content {
    min-height: 760px;
    grid-template-columns: 1fr;
    align-content: center;
    padding-bottom: 145px;
  }

  .hero__copy {
    max-width: 760px;
  }

  .hero__selector {
    width: min(100%, 480px);
    align-self: auto;
    margin: 0;
  }

  .hero__trust-item {
    min-height: 82px;
  }

  .solution-flow {
    grid-template-columns: repeat(2, 1fr);
  }

  .solution-step:nth-child(2) {
    border-right: 0;
  }

  .solution-step:nth-child(-n + 2) {
    border-bottom: 1px solid var(--color-border);
  }

  .service-tile,
  .service-tile:nth-child(4n + 1),
  .service-tile:nth-child(4n + 4) {
    grid-column: span 6;
  }

  .value-layout,
  .working-model,
  .quote-cta,
  .content-grid {
    grid-template-columns: 1fr;
  }

  .value-sticky,
  .working-model__intro,
  .quote-cta__copy {
    position: static;
  }

  .sector-explorer {
    grid-template-columns: 0.8fr 1.2fr;
  }

  .split-feature__media {
    min-height: 480px;
  }

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

  .need-options,
  .service-overview {
    grid-template-columns: repeat(2, 1fr);
  }

  .quote-page-layout {
    grid-template-columns: 1fr;
  }

  .quote-progress {
    position: static;
  }

  .quote-progress__list {
    grid-template-columns: repeat(3, 1fr);
    border: 0;
  }

  .quote-progress__item {
    min-height: 54px;
    border: 1px solid var(--color-border);
    padding: 0.5rem;
  }
}

@media (max-width: 768px) {
  :root {
    --topbar-height: 34px;
    --header-height: 70px;
  }

  body {
    padding-bottom: 62px;
  }

  .site-topbar {
    overflow: hidden;
  }

  .topbar__inner {
    justify-content: center;
  }

  .topbar__group:first-child .topbar__item:nth-child(2),
  .topbar__group:last-child {
    display: none;
  }

  .brand img {
    width: 164px;
    height: 46px;
  }

  .brand-wordmark {
    font-size: 1.25rem;
  }

  .site-header.is-scrolled .header__inner {
    min-height: 66px;
  }

  .mobile-panel {
    inset-block-start: calc(var(--topbar-height) + var(--header-height));
  }

  h1 {
    font-size: clamp(2.75rem, 12vw, 4.5rem);
  }

  h2 {
    font-size: clamp(2.15rem, 9vw, 3.5rem);
  }

  .hero__media::before {
    background:
      linear-gradient(90deg, rgba(10, 11, 12, 0.94), rgba(10, 11, 12, 0.55)),
      linear-gradient(0deg, rgba(10, 11, 12, 0.85), transparent 50%);
  }

  .hero__content {
    min-height: 830px;
    padding-top: 4rem;
    padding-bottom: 235px;
  }

  .hero__copy h1 {
    font-size: clamp(2.9rem, 12vw, 4.6rem);
  }

  .hero__copy .lead {
    font-size: 1rem;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero__actions .button {
    width: 100%;
  }

  .hero__selector {
    width: 100%;
  }

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

  .hero__trust-item {
    min-height: 96px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }

  .hero__trust-item:nth-child(2n) {
    border-right: 0;
  }

  .solution-flow {
    grid-template-columns: 1fr;
  }

  .solution-step {
    min-height: 210px;
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .solution-step:last-child {
    border-bottom: 0;
  }

  .solution-step__number {
    margin-bottom: 2rem;
  }

  .service-mosaic {
    display: grid;
    grid-template-columns: 1fr;
  }

  .service-tile,
  .service-tile:nth-child(4n + 1),
  .service-tile:nth-child(4n + 4) {
    min-height: 390px;
    grid-column: auto;
  }

  .value-item {
    min-height: 84px;
  }

  .sector-explorer {
    grid-template-columns: 1fr;
  }

  .sector-list {
    display: flex;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .sector-button {
    min-width: 210px;
    border-right: 1px solid var(--color-border);
    border-bottom: 0;
  }

  .sector-panel {
    min-height: 430px;
  }

  .split-feature {
    grid-template-columns: 1fr;
  }

  .split-feature__media {
    min-height: 360px;
  }

  .split-feature__content {
    padding: 3rem var(--gutter);
  }

  .form-grid,
  .service-choice-grid {
    grid-template-columns: 1fr;
  }

  .form-field--full {
    grid-column: auto;
  }

  .inner-hero,
  .inner-hero__content {
    min-height: 520px;
  }

  .inner-hero h1 {
    font-size: clamp(2.75rem, 11vw, 4.8rem);
  }

  .feature-line {
    grid-template-columns: 42px 1fr;
    align-items: start;
    gap: 0.8rem;
    padding-block: 1.2rem;
  }

  .feature-line p {
    grid-column: 2;
  }

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

  .principle-grid {
    grid-template-columns: 1fr;
  }

  .need-options,
  .service-overview,
  .fleet-grid {
    grid-template-columns: 1fr;
  }

  .need-button {
    min-height: 90px;
  }

  .quote-progress__list {
    grid-template-columns: 1fr;
  }

  .contact-grid,
  .legal-layout,
  .faq-layout {
    grid-template-columns: 1fr;
  }

  .legal-nav,
  .faq-categories {
    position: static;
  }

  .faq-categories {
    display: flex;
    overflow-x: auto;
  }

  .faq-category {
    min-width: max-content;
  }

  .footer-cta__inner {
    align-items: stretch;
    flex-direction: column;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand,
  .footer-col:last-child {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .quick-contact {
    display: none;
  }

  .mobile-contact-bar {
    position: fixed;
    z-index: 800;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    height: 62px;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--color-border);
    background: var(--color-white);
    box-shadow: 0 -8px 30px rgba(17, 18, 20, 0.1);
  }

  .mobile-contact-bar a,
  .mobile-contact-bar button {
    display: grid;
    min-height: 62px;
    place-items: center;
    border: 0;
    border-right: 1px solid var(--color-border);
    background: transparent;
    color: var(--color-black);
    font-size: 0.72rem;
    font-weight: 850;
  }

  .mobile-contact-bar a:last-child {
    border-right: 0;
    background: var(--color-primary);
    color: var(--color-white);
  }

  .toast {
    bottom: 76px;
  }
}

@media (max-width: 480px) {
  :root {
    --gutter: 1rem;
    --section-space: 4.5rem;
  }

  .topbar__item {
    font-size: 0.7rem;
  }

  .hero__content {
    min-height: 850px;
  }

  .hero__selector {
    padding: 1.15rem;
  }

  .hero__trust-item {
    padding-inline: 0.8rem;
    font-size: 0.65rem;
  }

  .service-tile {
    min-height: 360px;
  }

  .sector-panel {
    min-height: 390px;
    padding: 1.5rem;
  }

  .audience-grid {
    grid-template-columns: 1fr;
  }

  .audience-item {
    min-height: 125px;
  }

  .audience-item span {
    margin-bottom: 1.8rem;
  }

  .fleet-card__specs {
    grid-template-columns: 1fr;
  }

  .form-shell {
    padding: 1rem;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-brand,
  .footer-col:last-child {
    grid-column: auto;
  }
}

@media (min-width: 1600px) {
  :root {
    --container: 1360px;
    --container-wide: 1680px;
  }

  body {
    font-size: 1.04rem;
  }

  .hero__content {
    gap: 10rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .road-line::after {
    animation: none;
  }

  .reveal,
  .model-step,
  .service-tile__media img,
  .service-overview__item::before {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
