
    /* TransFlow About — scoped styles for everything BELOW the existing hero. */
/* Keep this file after your base stylesheet. No framework or JavaScript required. */
/* @font-face {
  font-family: "TransFlow Roboto";
  src: url("../fonts/roboto-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
} */

.tf-about,
.tf-about-footer {
  --tf-about-navy: #08283f;
  --tf-about-text: #344b60;
  --tf-about-orange: #ff6b22;
  --tf-about-orange-text: #b7430b;
  --tf-about-button: #c44708;
  --tf-about-button-hover: #a93705;
  --tf-about-surface: #ffffff;
  --tf-about-tint: #eaf5fa;
  --tf-about-border: #dde6ec;
  --tf-about-footer-bg: #082839;
  --tf-about-footer-text: #c4d8e4;
  --tf-about-font: "TransFlow Roboto", Arial, Helvetica, sans-serif;
  --tf-about-radius: 4px;
  --tf-about-section-space: clamp(20px, 2.2vw, 32px);
  font-family: var(--tf-about-font);
  font-size: clamp(0.75rem, 1.303vw, 1rem);
  line-height: 1.5;
  font-weight: 400;
  text-align: start;
  color: var(--tf-about-text);
  background: var(--tf-about-surface);
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.tf-about,
.tf-about *,
.tf-about *::before,
.tf-about *::after,
.tf-about-footer,
.tf-about-footer *,
.tf-about-footer *::before,
.tf-about-footer *::after {
  box-sizing: border-box;
  display: flow;
}

:where(.tf-about, .tf-about-footer) :where(h2, h3, p, ul, ol) {
  margin: 0;
  padding: 0;
}

.tf-about p,
.tf-about-footer p {
  font: inherit;
  color: inherit;
}

:where(.tf-about, .tf-about-footer) :where(ul, ol) {
  list-style: none;
}

:where(.tf-about, .tf-about-footer) :where(img, svg) {
  display: block;
  flex-shrink: 0;
}

:where(.tf-about, .tf-about-footer) a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.2em;
  touch-action: manipulation;
}

:where(.tf-about, .tf-about-footer) a:focus-visible {
  outline: 3px solid var(--tf-about-orange);
  outline-offset: 4px;
  border-radius: 3px;
}

:where(.tf-about, .tf-about-footer) .tf-about__container {
  width: min(87.3%, 1200px);
  margin-inline: auto;
}

.tf-about .tf-about__section {
  padding-block: var(--tf-about-section-space);
}

.tf-about .tf-about__section--tinted {
  background: var(--tf-about-tint);
}

.tf-about .tf-about__eyebrow {
  margin-block-end: 4px;
  color: var(--tf-about-orange-text);
  font-size: clamp(0.6875rem, 1.19vw, 0.8125rem);
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
}

.tf-about .tf-about__title {
  margin: 0 0 6px;
  font-family: inherit;
  color: var(--tf-about-navy);
  font-size: clamp(1.375rem, 2.5vw, 2rem);
  font-weight: 750;
  letter-spacing: -0.01em;
  line-height: 1.2;
  text-wrap: pretty;
}

.tf-about .tf-about__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  gap: clamp(24px, 4.34vw, 56px);
  align-items: center;
}

.tf-about .tf-about__warehouse {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  border-radius: var(--tf-about-radius);
}

.tf-about .tf-about__checklist {
  display: grid;
  gap: 8px;
  margin-block-start: 17px;
}

.tf-about .tf-about__checklist li {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tf-about .tf-about__checklist img {
  width: clamp(24px, 2.82vw, 30px);
  height: auto;
}

.tf-about .tf-about__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.52vw, 22px);
  margin-block-start: 6px;
}

.tf-about .tf-about__card {
  padding: clamp(16px, 1.74vw, 24px) clamp(20px, 3.6vw, 38px);
  border-radius: var(--tf-about-radius);
  background: var(--tf-about-surface);
}

.tf-about .tf-about__card-icon {
  width: clamp(44px, 5.21vw, 56px);
  height: auto;
  margin-block-end: 8px;
}

.tf-about .tf-about__card h3 {
  margin: 0 0 7px;
  color: var(--tf-about-navy);
  font-size: clamp(0.9375rem, 1.64vw, 1.125rem);
  line-height: 1.25;
  letter-spacing: -0.025em;
  font-weight: 700;
}

.tf-about .tf-about__card p {
  line-height: 1.38;
}

.tf-about .tf-about__transport {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: clamp(28px, 5.8vw, 64px);
  align-items: center;
}

.tf-about .tf-about__services {
  margin-block-start: 11px;
}

.tf-about .tf-about__services a {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 22px;
  align-items: center;
  gap: clamp(15px, 2.2vw, 22px);
  min-height: clamp(49px, 5.32vw, 62px);
  padding: 5px 10px;
  border-block-end: 1px solid var(--tf-about-border);
  color: var(--tf-about-navy);
  font-weight: 700;
  transition: background-color 160ms ease, color 160ms ease;
}

.tf-about .tf-about__service-icon {
  width: 38px;
  height: 38px;
}

.tf-about .tf-about__arrow {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tf-about .tf-about__services .tf-about__arrow {
  color: var(--tf-about-orange);
}

.tf-about .tf-about__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.tf-about .tf-about__gallery img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--tf-about-radius);
}

.tf-about .tf-about__gallery .tf-about__gallery-wide {
  grid-column: 1 / -1;
  aspect-ratio: 3.5 / 1;
  object-position: center;
}

.tf-about .tf-about__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-block-start: 10px;
}

.tf-about .tf-about__step {
  position: relative;
  min-width: 0;
}

.tf-about .tf-about__step + .tf-about__step {
  padding-inline-start: 24px;
}

.tf-about .tf-about__step + .tf-about__step::before {
  content: "";
  position: absolute;
  top: 9px;
  bottom: 0;
  left: 0;
  width: 1px;
  background: #cfE2eb;
}

.tf-about .tf-about__step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(32px, 3.48vw, 40px);
  aspect-ratio: 1;
  margin-block-end: 6px;
  border-radius: 50%;
  color: #fff;
  background: var(--tf-about-button);
  font-size: clamp(0.8125rem, 1.52vw, 1rem);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.tf-about .tf-about__step h3 {
  margin: 0 0 5px;
  color: var(--tf-about-navy);
  font-size: clamp(0.75rem, 1.35vw, 0.9375rem);
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -0.025em;
}

.tf-about .tf-about__step p {
  font-size: clamp(0.75rem, 1.26vw, 0.9375rem);
  line-height: 1.42;
}

.tf-about .tf-about__commitment {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
  gap: clamp(28px, 5.7vw, 64px);
  align-items: center;
}

.tf-about .tf-about__promises li {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: clamp(37px, 4vw, 48px);
  padding: 6px 12px;
  border: 1px solid var(--tf-about-border);
  border-radius: 3px;
  color: var(--tf-about-navy);
  font-size: clamp(0.6875rem, 1.19vw, 0.875rem);
}

.tf-about .tf-about__promises li + li {
  margin-block-start: -1px;
}

.tf-about .tf-about__promises img {
  width: 24px;
  height: 24px;
}

.tf-about .tf-about__cta {
  padding-block: clamp(18px, 2vw, 28px);
  color: #fff;
  background-color: var(--tf-about-navy);
  background-image:
    linear-gradient(90deg, rgb(6 36 54 / 92%), rgb(6 36 54 / 23%) 55%, rgb(6 36 54 / 84%)),
    url("./../../images/about/AboutPagesFooterImages.webp");
  background-size: cover;
  background-position: center 50%;
}

.tf-about .tf-about__cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.tf-about .tf-about__cta .tf-about__title {
  color: #fff;
  margin-block-end: 2px;
}

.tf-about .tf-about__cta p {
  color: #e0eef6;
  font-size: clamp(0.875rem, 1.57vw, 1.0625rem);
}

.tf-about .tf-about__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.tf-about .tf-about__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: var(--tf-about-button);
  color: #fff;
  font-size: clamp(0.6875rem, 1.19vw, 0.875rem);
  font-weight: 650;
  line-height: 1.4;
  text-align: center;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.tf-about .tf-about__button--outline {
  border-color: #c0ced9;
  background: rgb(6 36 54 / 45%);
}

.tf-about .tf-about__button:focus-visible {
  outline-color: #fff;
}

.tf-about-footer {
  padding-block: 18px 16px;
  background: var(--tf-about-footer-bg);
  color: var(--tf-about-footer-text);
  border-block-start: 1px solid #385364;
  font-size: clamp(0.625rem, 1.09vw, 0.8125rem);
}

.tf-about-footer .tf-about-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1.12fr) minmax(0, 1.1fr);
  gap: 30px;
}

.tf-about-footer .tf-about-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 750;
  letter-spacing: -0.055em;
  line-height: 1.1;
}

.tf-about-footer .tf-about-footer__logo svg {
  width: 23px;
  height: 29px;
}

.tf-about-footer .tf-about-footer__brand p {
  margin-block-start: 4px;
  font-size: clamp(0.75rem, 1.3vw, 0.9375rem);
}

.tf-about-footer h2 {
  margin: 0 0 3px;
  color: #fff;
  font-size: inherit;
  font-weight: 600;
  line-height: 1.5;
}

.tf-about-footer li a {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  max-width: 100%;
}

.tf-about-footer .tf-about-footer__contact {
  display: grid;
  gap: 5px;
  font-style: normal;
}

.tf-about-footer .tf-about-footer__contact :where(a, p) {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  min-height: 20px;
}

.tf-about-footer .tf-about-footer__contact span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.tf-about-footer .tf-about-footer__contact svg {
  width: 14px;
  height: 14px;
  margin-block-start: 1px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tf-about-footer .tf-about-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-block-start: 10px;
  padding-block-start: 10px;
  border-block-start: 1px solid #385364;
}

.tf-about-footer .tf-about-footer__bottom small {
  font-size: clamp(0.5625rem, 0.98vw, 0.75rem);
}

@media (hover: hover) {
  .tf-about .tf-about__services a:hover {
    background: #f1f7fa;
    color: var(--tf-about-orange-text);
  }

  .tf-about .tf-about__button:hover {
    background: var(--tf-about-button-hover);
  }

  .tf-about .tf-about__button--outline:hover {
    background: #234359;
    border-color: #fff;
  }

  .tf-about-footer a:hover {
    color: #fff;
    text-decoration: underline;
  }
}

/* Tablet: preserve paired imagery; allow steps and CTA to use comfortable rows. */
@media (max-width: 900px) {
  .tf-about .tf-about__card {
    padding-inline: 20px;
  }

  .tf-about .tf-about__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 32px;
  }

  .tf-about .tf-about__step:nth-child(3) {
    padding-inline-start: 0;
  }

  .tf-about .tf-about__step:nth-child(3)::before {
    display: none;
  }

  .tf-about .tf-about__cta-inner {
    flex-wrap: wrap;
    gap: 18px;
  }

  .tf-about-footer .tf-about-footer__grid {
    gap: 22px;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 0.75fr) minmax(0, 1fr) minmax(0, 1.4fr);
  }
}

@media (max-width: 767px) {
  .tf-about,
  .tf-about-footer {
    font-size: 0.9375rem;
    --tf-about-section-space: 32px;
  }

  :where(.tf-about, .tf-about-footer) .tf-about__container {
    width: calc(100% - 64px);
  }

  .tf-about .tf-about__intro,
  .tf-about .tf-about__transport,
  .tf-about .tf-about__commitment {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .tf-about .tf-about__title {
    font-size: clamp(1.375rem, 3.7vw, 1.75rem);
  }

  .tf-about .tf-about__eyebrow {
    font-size: 0.75rem;
    margin-block-end: 6px;
  }

  .tf-about .tf-about__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin-block-start: 18px;
  }

  .tf-about .tf-about__card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 20px;
    padding: 24px;
  }

  .tf-about .tf-about__card-icon {
    grid-row: span 2;
    width: 48px;
    margin: 0;
  }

  .tf-about .tf-about__card h3 {
    font-size: 1rem;
  }

  .tf-about .tf-about__card p {
    line-height: 1.5;
  }

  .tf-about .tf-about__services a {
    min-height: 58px;
  }

  .tf-about .tf-about__step h3 {
    font-size: 0.875rem;
  }

  .tf-about .tf-about__step p {
    font-size: 0.875rem;
    line-height: 1.5;
  }

  .tf-about .tf-about__step-number {
    width: 36px;
    font-size: 0.875rem;
  }

  .tf-about .tf-about__promises li {
    min-height: 48px;
    font-size: 0.875rem;
  }

  .tf-about .tf-about__cta {
    padding-block: 28px;
  }

  .tf-about .tf-about__cta p {
    font-size: 0.9375rem;
  }

  .tf-about .tf-about__button {
    min-height: 46px;
    font-size: 0.8125rem;
  }

  .tf-about-footer {
    padding-block: 30px 20px;
    font-size: 0.8125rem;
  }

  .tf-about-footer .tf-about-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .tf-about-footer .tf-about-footer__brand,
  .tf-about-footer .tf-about-footer__grid > :last-child {
    grid-column: 1 / -1;
  }

  .tf-about-footer .tf-about-footer__logo {
    font-size: 1.75rem;
  }

  .tf-about-footer h2 {
    margin-block-end: 5px;
    font-size: 0.875rem;
  }

  .tf-about-footer li a {
    min-height: 32px;
  }

  .tf-about-footer .tf-about-footer__contact a {
    min-height: 32px;
    align-items: center;
  }

  .tf-about-footer .tf-about-footer__bottom {
    margin-block-start: 24px;
    padding-block-start: 16px;
  }

  .tf-about-footer .tf-about-footer__bottom small {
    font-size: 0.6875rem;
  }
}

@media (max-width: 639px) {
  :where(.tf-about, .tf-about-footer) .tf-about__container {
    width: calc(100% - 40px);
  }

  .tf-about .tf-about__steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin-block-start: 20px;
  }

  .tf-about .tf-about__step,
  .tf-about .tf-about__step + .tf-about__step {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 14px;
    padding: 0;
  }

  .tf-about .tf-about__step + .tf-about__step::before {
    display: none;
  }

  .tf-about .tf-about__step-number {
    grid-row: span 2;
    margin: 0;
  }

  .tf-about .tf-about__step h3 {
    padding-block-start: 2px;
    font-size: 0.9375rem;
  }

  .tf-about .tf-about__step p {
    grid-column: 2;
  }

  .tf-about .tf-about__actions {
    width: 100%;
    gap: 10px;
  }

  .tf-about .tf-about__button {
    flex: 1 1 140px;
    padding-inline: 10px;
  }
}

@media (max-width: 359px) {
  .tf-about .tf-about__card {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 14px;
    padding: 18px;
  }

  .tf-about .tf-about__card-icon {
    width: 36px;
  }

  .tf-about .tf-about__button {
    flex-basis: 100%;
  }
}

/* Logical spacing also supports a future fully translated RTL version. */
.tf-about[dir="rtl"] .tf-about__arrow {
  transform: scaleX(-1);
}

.tf-about[dir="rtl"] .tf-about__step + .tf-about__step::before {
  left: auto;
  right: 0;
}

@media (prefers-reduced-motion: reduce) {
  :where(.tf-about, .tf-about-footer) a {
    transition: none;
  }
}

@media (forced-colors: active) {
  .tf-about .tf-about__button,
  .tf-about .tf-about__step-number {
    border: 1px solid ButtonText;
  }
}
