/* /freight-forwarding/ (FreeBuild #1800). Scoped to body.ffw-page.
   Brand tokens come from the site's Avada variables:
   --awb-color4 #bda16b gold, --awb-color8 #000 black, --awb-color1 #fff,
   headings Bebas Neue, body Work Sans. */
body.ffw-page {
  --ffw-gold: var(--awb-color4, #bda16b);
  --ffw-ink: var(--awb-color8, #000);
  --ffw-paper: var(--awb-color1, #fff);
  --ffw-teal: rgb(2, 81, 76);
  /* Above 1024px the site header is absolute and sits over the first band
     (130px tall at 1025, about 150 at 1366 and up); at 1024 and below it is in
     normal flow, so nothing needs clearing. */
  --ffw-header-clear: clamp(130px, 11vw, 156px);
}
@media (max-width: 1024px) { body.ffw-page { --ffw-header-clear: 0px; } }
/* The page builds its own full-bleed bands: drop the theme's #main gutter. */
body.ffw-page #main.ffw-main { padding: 0 !important; }
body.ffw-page #main.ffw-main > .fusion-row { max-width: 100% !important; margin: 0; padding: 0; }

body.ffw-page .ffw {
  --ffw-head: var(--awb-typography1-font-family, "Bebas Neue", Arial, sans-serif);
  --ffw-body: var(--body_typography-font-family, "Work Sans", Arial, sans-serif);
}

/* Shared buttons: brand gold fill and a light outline. */
body.ffw-page .ffw-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px;
  font-family: var(--ffw-body); font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  text-decoration: none; border-radius: 0; transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
body.ffw-page .ffw-btn--gold { background: var(--ffw-gold); color: var(--ffw-ink); border: 1px solid var(--ffw-gold); }
body.ffw-page .ffw-btn--gold:hover, body.ffw-page .ffw-btn--gold:focus-visible { background: var(--ffw-paper); border-color: var(--ffw-paper); color: var(--ffw-ink); }
body.ffw-page .ffw-btn--line { color: var(--ffw-paper); border: 1px solid rgba(255,255,255,.45); }
body.ffw-page .ffw-btn--line:hover, body.ffw-page .ffw-btn--line:focus-visible { border-color: var(--ffw-gold); color: var(--ffw-gold); }

/* ===== Section 2: Hero, "Ten calls, or one" ===== */
body.ffw-page .ffw-hero {
  position: relative; overflow: hidden; color: var(--ffw-paper); background: var(--ffw-ink);
  padding: calc(var(--ffw-header-clear) + 40px) 6vw 80px;
}
/* a faint survey-grid of lanes behind everything, gold at the far right */
body.ffw-page .ffw-hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(60% 70% at 85% 45%, rgba(189,161,107,.16), transparent 70%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 96px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 96px);
}
body.ffw-page .ffw-hero__inner {
  position: relative; max-width: 1430px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 72px; align-items: start;
}
body.ffw-page .ffw-hero__eyebrow {
  margin: 0 0 18px; font-family: var(--ffw-body); font-size: 14px; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--ffw-gold);
}
body.ffw-page .ffw-hero__title {
  margin: 0; font-family: var(--ffw-head); font-weight: 400; font-size: clamp(56px, 6.2vw, 112px);
  line-height: .92; letter-spacing: .01em; color: var(--ffw-paper);
}
body.ffw-page .ffw-hero__title span { display: block; color: var(--ffw-gold); }
body.ffw-page .ffw-hero__lead {
  margin: 22px 0 0; max-width: 600px; font-family: var(--ffw-body); font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.9);
}
body.ffw-page .ffw-hero__for {
  margin: 16px 0 0; max-width: 600px; font-family: var(--ffw-body); font-size: 16px; font-weight: 500; line-height: 1.55; color: rgba(255,255,255,.92);
}
body.ffw-page .ffw-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }

/* the call panel */
body.ffw-page .ffw-calls {
  position: relative; padding: 30px 30px 26px; background: #0b0b0b; border: 1px solid rgba(189,161,107,.28);
  box-shadow: 0 40px 80px -30px rgba(0,0,0,.9);
}
body.ffw-page .ffw-calls__label {
  margin: 0 0 18px; font-family: var(--ffw-body); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55);
}
body.ffw-page .ffw-calls__count { font-family: var(--ffw-head); font-size: 30px; letter-spacing: 0; color: var(--ffw-gold); margin-right: 4px; vertical-align: -3px; }
body.ffw-page .ffw-calls__stack { position: relative; }
body.ffw-page .ffw-calls__card {
  position: relative; z-index: 2; display: flex; flex-direction: column; gap: 4px; padding: 22px 24px;
  background: var(--ffw-gold); color: var(--ffw-ink);
}
body.ffw-page .ffw-calls__card-kicker { font-family: var(--ffw-body); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
body.ffw-page .ffw-calls__card-title { font-family: var(--ffw-head); font-size: 40px; line-height: 1; }
body.ffw-page .ffw-calls__card-sub { font-family: var(--ffw-body); font-size: 15px; line-height: 1.45; }
body.ffw-page .ffw-calls__list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; }
body.ffw-page .ffw-call {
  display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 12px; margin: 0; padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.02);
  font-family: var(--ffw-body); font-size: 15px; color: rgba(255,255,255,.62);
}
body.ffw-page .ffw-call__icon {
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  border: 1px solid rgba(189,161,107,.5); color: var(--ffw-gold);
}
body.ffw-page .ffw-call__phone { display: none; }
body.ffw-page .ffw-call__state { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(189,161,107,.8); }
body.ffw-page .ffw-call__ring { display: none; }
body.ffw-page .ffw-call__text { text-decoration: line-through; text-decoration-color: rgba(189,161,107,.55); }

/* ---- motion (only when the script runs; final state above is the default) ---- */
/* while the calls ring, the card waits out of flow so the list starts at the top */
body.ffw-page .ffw-hero.is-play .ffw-calls__card { position: absolute; top: 0; left: 0; right: 0; opacity: 0; transform: translateY(14px) scale(.97); }
body.ffw-page .ffw-hero.is-play .ffw-calls__list { margin-top: 0; }
body.ffw-page .ffw-hero.is-play .ffw-call {
  opacity: 0; transform: translateX(26px); color: var(--ffw-paper); background: rgba(255,255,255,.05);
  transition: opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1), border-color .3s ease;
}
body.ffw-page .ffw-hero.is-play .ffw-call__text { text-decoration-color: transparent; }
body.ffw-page .ffw-hero.is-play .ffw-call__phone { display: block; }
body.ffw-page .ffw-hero.is-play .ffw-call__check { display: none; }
body.ffw-page .ffw-hero.is-play .ffw-call__ring { display: inline; }
body.ffw-page .ffw-hero.is-play .ffw-call__done { display: none; }
body.ffw-page .ffw-hero.is-play .ffw-call.is-ringing { opacity: 1; transform: none; border-color: rgba(189,161,107,.45); }
body.ffw-page .ffw-hero.is-play .ffw-call.is-ringing .ffw-call__icon { animation: ffw-ring .6s ease-in-out 1; background: rgba(189,161,107,.14); }
@keyframes ffw-ring {
  0%, 100% { transform: rotate(0); }
  15%, 45%, 75% { transform: rotate(-14deg); }
  30%, 60%, 90% { transform: rotate(14deg); }
}
/* fold: the calls slide up under the card and settle as "handled" */
body.ffw-page .ffw-hero.is-folding .ffw-calls__card { opacity: 1; transform: none; transition: opacity .5s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
body.ffw-page .ffw-hero.is-folding .ffw-call {
  transform: translateY(calc(-1 * (var(--i) + 1) * 8px)) scale(.985); opacity: .0; transition: transform .55s cubic-bezier(.6,0,.4,1), opacity .4s ease;
  transition-delay: calc(var(--i) * 40ms);
}
body.ffw-page .ffw-hero.is-done .ffw-call { animation: ffw-settle .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i) * 45ms); }
body.ffw-page .ffw-hero.is-done .ffw-calls__card { animation: ffw-card .5s ease-out 1; }
@keyframes ffw-settle { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes ffw-card { 0% { box-shadow: 0 0 0 0 rgba(189,161,107,.55); } 100% { box-shadow: 0 0 0 18px rgba(189,161,107,0); } }

@media (prefers-reduced-motion: reduce) {
  body.ffw-page .ffw-hero *, body.ffw-page .ffw-hero *::before { animation: none !important; transition: none !important; }
}

/* tablet and phone: copy first, the call panel below */
@media (max-width: 1100px) {
  body.ffw-page .ffw-hero { padding: calc(var(--ffw-header-clear) + 48px) 30px 72px; }
  body.ffw-page .ffw-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  body.ffw-page .ffw-calls { max-width: 620px; }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-hero { padding: calc(var(--ffw-header-clear) + 32px) 20px 56px; }
  body.ffw-page .ffw-hero__title { font-size: clamp(52px, 15vw, 72px); }
  body.ffw-page .ffw-hero__lead { font-size: 16px; margin-top: 16px; }
  body.ffw-page .ffw-hero__for { font-size: 15px; margin-top: 12px; }
  body.ffw-page .ffw-hero__eyebrow { font-size: 12px; margin-bottom: 12px; }
  body.ffw-page .ffw-hero__actions { margin-top: 22px; gap: 10px; }
  body.ffw-page .ffw-hero__actions { flex-direction: column; }
  body.ffw-page .ffw-btn { width: 100%; }
  body.ffw-page .ffw-calls { padding: 22px 16px 18px; }
  body.ffw-page .ffw-calls__card-title { font-size: 32px; }
  body.ffw-page .ffw-call { font-size: 14px; gap: 10px; padding: 8px 10px; }
}

/* ===== Shared: kicker, H2, reveal ===== */
body.ffw-page .ffw-kicker {
  margin: 0 0 14px; font-family: var(--ffw-body); font-size: 13px; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--ffw-gold);
}
body.ffw-page .ffw-h2 {
  margin: 0; font-family: var(--ffw-head); font-weight: 400; font-size: clamp(44px, 4.4vw, 72px); line-height: .98;
  letter-spacing: .01em; color: var(--ffw-ink);
}
body.ffw-page .ffw-h2 span { color: var(--ffw-gold); }
html.ffw-js body.ffw-page [data-ffw-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .4s ease, transform .5s cubic-bezier(.2,.8,.2,1); transition-delay: var(--d, 0ms); }
html.ffw-js body.ffw-page [data-ffw-reveal].is-in { opacity: 1; transform: none; }

/* ===== Section 3: What we take off your plate ===== */
/* small gold text on white fails contrast; light bands use the deeper brand gold */
body.ffw-page .ffw-plate .ffw-kicker { color: #8a7140; }
body.ffw-page .ffw-plate { background: var(--ffw-paper); color: var(--ffw-ink); padding: 120px 6vw; }
body.ffw-page .ffw-plate__inner {
  max-width: 1430px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 80px; align-items: start;
}
body.ffw-page .ffw-plate__intro { position: sticky; top: 40px; }
body.ffw-page .ffw-plate__lead { margin: 24px 0 0; font-family: var(--ffw-body); font-size: 18px; line-height: 1.6; color: #333; }
body.ffw-page .ffw-plate__more { margin: 20px 0 0; font-family: var(--ffw-body); font-size: 16px; line-height: 1.6; color: #545454; }
body.ffw-page .ffw-plate__more a { color: var(--ffw-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--ffw-gold); text-decoration-thickness: 2px; text-underline-offset: 4px; }
body.ffw-page .ffw-plate__more a:hover, body.ffw-page .ffw-plate__more a:focus-visible { color: #8a7140; }
body.ffw-page .ffw-plate__list {
  list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 56px; border-top: 1px solid #d6d6d6;
}
body.ffw-page .ffw-job { margin: 0; padding: 32px 0 34px; border-bottom: 1px solid #d6d6d6; }
body.ffw-page .ffw-job__n { display: block; font-family: var(--ffw-head); font-size: 54px; line-height: 1; color: var(--ffw-gold); }
body.ffw-page .ffw-job__title { margin: 12px 0 0; font-family: var(--ffw-head); font-weight: 400; font-size: 30px; line-height: 1.05; letter-spacing: .01em; color: var(--ffw-ink); }
body.ffw-page .ffw-job__body { margin: 10px 0 0; font-family: var(--ffw-body); font-size: 16px; line-height: 1.6; color: #333; }

@media (max-width: 1100px) {
  body.ffw-page .ffw-plate { padding: 88px 30px; }
  body.ffw-page .ffw-plate__inner { grid-template-columns: 1fr; gap: 40px; }
  body.ffw-page .ffw-plate__intro { position: static; max-width: 680px; }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-plate { padding: 64px 20px; }
  body.ffw-page .ffw-plate__list { grid-template-columns: 1fr; }
  body.ffw-page .ffw-job { padding: 24px 0 26px; }
  body.ffw-page .ffw-job__n { font-size: 44px; }
  body.ffw-page .ffw-job__title { font-size: 27px; }
}

/* ===== Section 4: What we forward ===== */
body.ffw-page .ffw-h2--light { color: var(--ffw-paper); }
body.ffw-page .ffw-freight { background: var(--ffw-ink); color: var(--ffw-paper); padding: 120px 6vw 110px; }
body.ffw-page .ffw-freight__inner { max-width: 1430px; margin: 0 auto; }
body.ffw-page .ffw-freight__head { max-width: 760px; }
body.ffw-page .ffw-freight__lead { margin: 22px 0 0; font-family: var(--ffw-body); font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.8); }
body.ffw-page .ffw-freight__grid {
  margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px;
  background: rgba(189,161,107,.32); border: 1px solid rgba(189,161,107,.32);
}
body.ffw-page .ffw-freight__photo { grid-column: span 2; margin: 0; position: relative; min-height: 300px; background: #111; overflow: hidden; }
body.ffw-page .ffw-freight__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
body.ffw-page .ffw-freight__photo figcaption {
  position: absolute; left: 0; bottom: 0; padding: 10px 16px; background: rgba(0,0,0,.72);
  font-family: var(--ffw-body); font-size: 13px; color: rgba(255,255,255,.85);
}
body.ffw-page .ffw-tile {
  position: relative; display: flex; flex-direction: column; gap: 10px; padding: 30px 30px 56px; background: var(--ffw-ink);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), background-color .3s ease;
}
body.ffw-page .ffw-tile:hover, body.ffw-page .ffw-tile:focus-within { transform: translateY(-4px); background: #121212; z-index: 1; }
body.ffw-page .ffw-tile__n { font-family: var(--ffw-body); font-size: 12px; font-weight: 600; letter-spacing: .16em; color: var(--ffw-gold); }
body.ffw-page .ffw-tile__title { margin: 0; font-family: var(--ffw-head); font-weight: 400; font-size: 32px; line-height: 1.02; letter-spacing: .01em; }
body.ffw-page .ffw-tile__title a { color: var(--ffw-paper); text-decoration: none; }
/* the title link covers the whole tile; the extra link sits above it */
body.ffw-page .ffw-tile__title a::after { content: ''; position: absolute; inset: 0; }
body.ffw-page .ffw-tile__title a:focus-visible { outline: none; }
body.ffw-page .ffw-tile:focus-within { outline: 2px solid var(--ffw-gold); outline-offset: -2px; }
body.ffw-page .ffw-tile__body { margin: 0; font-family: var(--ffw-body); font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.72); }
body.ffw-page .ffw-tile__extra {
  position: relative; z-index: 2; align-self: flex-start; font-family: var(--ffw-body); font-size: 14px; font-weight: 600;
  color: var(--ffw-gold); text-decoration: underline; text-underline-offset: 3px;
}
body.ffw-page .ffw-tile__arrow {
  position: absolute; right: 26px; bottom: 20px; font-family: var(--ffw-body); font-size: 22px; color: var(--ffw-gold);
  transition: transform .3s ease;
}
body.ffw-page .ffw-tile:hover .ffw-tile__arrow { transform: translateX(5px); }
body.ffw-page .ffw-freight__not {
  margin: 32px 0 0; max-width: 760px; font-family: var(--ffw-body); font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.75);
}
body.ffw-page .ffw-freight__not strong { color: var(--ffw-paper); }
@media (prefers-reduced-motion: reduce) {
  body.ffw-page .ffw-tile, body.ffw-page .ffw-tile__arrow { transition: none; }
  body.ffw-page .ffw-tile:hover { transform: none; }
}
@media (max-width: 1100px) {
  body.ffw-page .ffw-freight { padding: 88px 30px; }
  body.ffw-page .ffw-freight__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ffw-page .ffw-freight__photo { grid-column: span 2; min-height: 320px; }
  /* 7 tiles in 2 columns: the last one spans the row so no empty cell shows */
  body.ffw-page .ffw-freight__grid > .ffw-tile:last-child { grid-column: span 2; }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-freight { padding: 64px 20px; }
  body.ffw-page .ffw-freight__grid { grid-template-columns: 1fr; margin-top: 40px; }
  body.ffw-page .ffw-freight__photo { grid-column: auto; min-height: 240px; }
  body.ffw-page .ffw-freight__grid > .ffw-tile:last-child { grid-column: auto; }
  body.ffw-page .ffw-tile { padding: 24px 22px 50px; }
  body.ffw-page .ffw-tile__title { font-size: 28px; }
}

/* ===== Section 5: How your shipment runs (signature) ===== */
body.ffw-page .ffw-run { position: relative; background: #0b0b0b; color: var(--ffw-paper); border-top: 1px solid rgba(189,161,107,.22); }
body.ffw-page .ffw-run__sticky { padding: 110px 6vw 110px; }
body.ffw-page .ffw-run__inner { max-width: 1430px; margin: 0 auto; }
body.ffw-page .ffw-run__head { max-width: 760px; }
body.ffw-page .ffw-run__lead { margin: 20px 0 0; font-family: var(--ffw-body); font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.8); }

/* the lane */
body.ffw-page .ffw-run__route { position: relative; height: 160px; margin: 120px 0 0; }
body.ffw-page .ffw-run__svg { position: absolute; left: 0; top: 0; width: 100%; height: 120px; overflow: visible; }
body.ffw-page .ffw-run__lane { fill: none; stroke: rgba(255,255,255,.18); stroke-width: 2; stroke-dasharray: 2 9; vector-effect: non-scaling-stroke; stroke-linecap: round; }
body.ffw-page .ffw-run__done { fill: none; stroke: var(--ffw-gold); stroke-width: 3; stroke-linecap: round; }
body.ffw-page .ffw-run__stops { position: absolute; inset: 0 0 auto 0; height: 120px; pointer-events: none; }
body.ffw-page .ffw-run__stop { display: none; }
body.ffw-page .ffw-run__place {
  position: absolute; top: 138px; font-family: var(--ffw-body); font-size: 12px; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.55);
}
body.ffw-page .ffw-run__place--start { left: 0; }
body.ffw-page .ffw-run__place--end { right: 0; text-align: right; }

/* the rider: badge, tether and load marker travel together */
body.ffw-page .ffw-run__rider { position: absolute; left: 0; top: 0; width: 0; height: 0; transform: translate(98%, 0); will-change: transform; }
body.ffw-page .ffw-run__load {
  position: absolute; left: -11px; top: -11px; width: 22px; height: 22px; background: var(--ffw-gold);
  box-shadow: 0 0 0 6px rgba(189,161,107,.18), 0 0 26px rgba(189,161,107,.6); transform: rotate(45deg);
}
body.ffw-page .ffw-run__tether { position: absolute; left: -1px; top: -62px; width: 2px; height: 50px; background: linear-gradient(var(--ffw-gold), rgba(189,161,107,.15)); }
body.ffw-page .ffw-run__badge {
  position: absolute; left: 0; bottom: 62px; transform: translateX(calc(-1 * var(--p, 1) * 100%)); display: flex; align-items: center; gap: 12px;
  padding: 10px 16px 10px 10px; background: var(--ffw-ink); border: 1px solid var(--ffw-gold); white-space: nowrap;
}
body.ffw-page .ffw-run__ring {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  border: 2px solid var(--ffw-gold); color: var(--ffw-gold); box-shadow: 0 0 0 4px rgba(189,161,107,.14);
}
body.ffw-page .ffw-run__badge-text { display: flex; flex-direction: column; font-family: var(--ffw-body); font-size: 13px; line-height: 1.35; color: rgba(255,255,255,.75); }
body.ffw-page .ffw-run__badge-text strong { font-family: var(--ffw-head); font-weight: 400; font-size: 22px; letter-spacing: .02em; color: var(--ffw-paper); }

/* stage cards */
body.ffw-page .ffw-run__cards { list-style: none; margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
body.ffw-page .ffw-stage {
  margin: 0; padding: 22px 20px 24px; border: 1px solid rgba(255,255,255,.12); border-top: 3px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.02);
  transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .45s ease, border-color .4s ease, background-color .4s ease;
}
body.ffw-page .ffw-stage__n { font-family: var(--ffw-body); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ffw-gold); }
body.ffw-page .ffw-stage__title { margin: 10px 0 0; font-family: var(--ffw-head); font-weight: 400; font-size: 28px; line-height: 1.02; color: var(--ffw-paper); }
body.ffw-page .ffw-stage__body { margin: 10px 0 0; font-family: var(--ffw-body); font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.72); }
body.ffw-page .ffw-stage.is-docked { border-top-color: var(--ffw-gold); }

/* scroll scrub (desktop, motion allowed): the section gets tall, the stage pins */
body.ffw-page .ffw-run.is-scrub { height: 320vh; }
body.ffw-page .ffw-run.is-scrub .ffw-run__sticky {
  position: sticky; top: 0; min-height: 100vh; box-sizing: border-box; display: flex; align-items: center; padding-top: 32px; padding-bottom: 32px;
}
body.ffw-page .ffw-run.is-scrub .ffw-h2 { font-size: clamp(44px, 4vw, 64px); }
body.ffw-page .ffw-run.is-scrub .ffw-run__lead { font-size: 16px; margin-top: 14px; }
body.ffw-page .ffw-run.is-scrub .ffw-run__cards { margin-top: 18px; }
body.ffw-page .ffw-run.is-scrub .ffw-stage { padding: 18px 18px 20px; }
body.ffw-page .ffw-run.is-scrub .ffw-stage__title { font-size: 26px; }
body.ffw-page .ffw-run.is-scrub .ffw-stage__body { font-size: 14px; }
body.ffw-page .ffw-run.is-scrub .ffw-run__inner { width: 100%; }
body.ffw-page .ffw-run.is-scrub .ffw-run__route { margin-top: 104px; }
body.ffw-page .ffw-run.is-scrub .ffw-run__stop {
  display: block; position: absolute; left: var(--x); top: 0; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%;
  background: #0b0b0b; border: 2px solid rgba(255,255,255,.35); transition: border-color .3s ease, background-color .3s ease;
}
body.ffw-page .ffw-run.is-scrub .ffw-run__stop.is-passed { border-color: var(--ffw-gold); background: var(--ffw-gold); }
body.ffw-page .ffw-run.is-scrub .ffw-stage { opacity: .32; transform: translateY(26px); }
body.ffw-page .ffw-run.is-scrub .ffw-stage.is-docked { opacity: .8; transform: none; }
body.ffw-page .ffw-run.is-scrub .ffw-stage.is-current { opacity: 1; background: rgba(189,161,107,.1); border-color: rgba(189,161,107,.55); border-top-color: var(--ffw-gold); }

/* tablet and phone: a vertical lane on the left, every stage docked */
@media (max-width: 1100px) {
  body.ffw-page .ffw-run__sticky { padding: 88px 30px; }
  body.ffw-page .ffw-run__route { height: auto; margin: 44px 0 0; }
  body.ffw-page .ffw-run__svg, body.ffw-page .ffw-run__stops, body.ffw-page .ffw-run__place, body.ffw-page .ffw-run__tether, body.ffw-page .ffw-run__load { display: none; }
  body.ffw-page .ffw-run__rider { position: static; transform: none !important; width: auto; height: auto; }
  body.ffw-page .ffw-run__badge { position: static; transform: none; display: inline-flex; }
  body.ffw-page .ffw-run__cards { grid-template-columns: 1fr; gap: 0; margin-top: 0; padding: 16px 0 0 42px; position: relative; }
  body.ffw-page .ffw-run__cards::before { content: ''; position: absolute; left: 21px; top: 0; bottom: 24px; width: 2px; background: var(--ffw-gold); }
  body.ffw-page .ffw-stage { position: relative; margin-top: 16px; }
  body.ffw-page .ffw-stage::before {
    content: ''; position: absolute; left: -27px; top: 26px; width: 12px; height: 12px; border-radius: 50%; background: var(--ffw-gold);
    box-shadow: 0 0 0 4px #0b0b0b;
  }
  /* with motion: the lane fills to --fill and each stage's dot lights as it passes */
  body.ffw-page .ffw-run.is-fill .ffw-run__cards::before {
    background: linear-gradient(var(--ffw-gold) 0 calc(var(--fill, 0) * 100%), rgba(255,255,255,.16) calc(var(--fill, 0) * 100%) 100%);
  }
  body.ffw-page .ffw-run.is-fill .ffw-stage::before { background: #0b0b0b; border: 2px solid rgba(255,255,255,.35); width: 8px; height: 8px; transition: background-color .3s ease, border-color .3s ease; }
  body.ffw-page .ffw-run.is-fill .ffw-stage.is-lit::before { background: var(--ffw-gold); border-color: var(--ffw-gold); }
  body.ffw-page .ffw-run.is-fill .ffw-stage { border-top-color: rgba(255,255,255,.12); transition: border-color .4s ease; }
  body.ffw-page .ffw-run.is-fill .ffw-stage.is-lit { border-top-color: var(--ffw-gold); }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-run__sticky { padding: 64px 20px; }
  body.ffw-page .ffw-run__badge { white-space: normal; }
  body.ffw-page .ffw-stage__title { font-size: 26px; }
}

/* ===== Section 6: Since 1992 ===== */
body.ffw-page .ffw-since { background: #f4f3f0; color: var(--ffw-ink); padding: 120px 6vw; }
body.ffw-page .ffw-since .ffw-kicker { color: #8a7140; }
body.ffw-page .ffw-since .ffw-h2 span { color: #8a7140; }
body.ffw-page .ffw-since__inner {
  max-width: 1430px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: center;
}
body.ffw-page .ffw-since__lead { margin: 22px 0 0; max-width: 560px; font-family: var(--ffw-body); font-size: 18px; line-height: 1.6; color: #333; }
body.ffw-page .ffw-since__line { list-style: none; margin: 36px 0 0; padding: 0; border-left: 2px solid var(--ffw-gold); }
body.ffw-page .ffw-since__step { position: relative; display: grid; grid-template-columns: 110px 1fr; gap: 16px; margin: 0; padding: 0 0 22px 26px; }
body.ffw-page .ffw-since__step::before {
  content: ''; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--ffw-gold); box-shadow: 0 0 0 4px #f4f3f0;
}
body.ffw-page .ffw-since__step:last-child { padding-bottom: 0; }
body.ffw-page .ffw-since__when { font-family: var(--ffw-head); font-size: 26px; line-height: 1; color: var(--ffw-ink); }
body.ffw-page .ffw-since__what { font-family: var(--ffw-body); font-size: 16px; line-height: 1.55; color: #333; }
body.ffw-page .ffw-since__more { margin: 30px 0 0; }
body.ffw-page .ffw-since__more a {
  font-family: var(--ffw-body); font-size: 15px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ffw-ink);
  text-decoration: underline; text-decoration-color: var(--ffw-gold); text-decoration-thickness: 2px; text-underline-offset: 6px;
}
body.ffw-page .ffw-since__more a:hover, body.ffw-page .ffw-since__more a:focus-visible { color: #8a7140; }
body.ffw-page .ffw-since__side { position: relative; }
body.ffw-page .ffw-since__photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #ddd; }
body.ffw-page .ffw-since__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ffw-page .ffw-since__stats {
  position: relative; z-index: 1; margin: -64px 0 0 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  background: var(--ffw-ink); color: var(--ffw-paper);
}
body.ffw-page .ffw-since__stat { padding: 24px 22px; border-left: 1px solid rgba(189,161,107,.35); display: grid; grid-template-rows: auto 1fr; row-gap: 8px; align-content: start; }
/* number on top, label under it, whatever the label's line count */
body.ffw-page .ffw-since__stat .ffw-since__num { grid-row: 1; }
body.ffw-page .ffw-since__stat .ffw-since__label { grid-row: 2; align-self: start; }
body.ffw-page .ffw-since__stat:first-child { border-left: 0; }
body.ffw-page .ffw-since__num { margin: 0; font-family: var(--ffw-head); font-size: 58px; line-height: 1; color: var(--ffw-gold); font-variant-numeric: tabular-nums; }
body.ffw-page .ffw-since__label { font-family: var(--ffw-body); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.75); }
@media (max-width: 1100px) {
  body.ffw-page .ffw-since { padding: 88px 30px; }
  body.ffw-page .ffw-since__inner { grid-template-columns: 1fr; gap: 56px; }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-since { padding: 64px 20px; }
  body.ffw-page .ffw-since__step { grid-template-columns: 1fr; gap: 4px; padding-left: 22px; }
  body.ffw-page .ffw-since__stats { margin: -40px 12px 0; }
  body.ffw-page .ffw-since__stat { padding: 18px 12px; }
  body.ffw-page .ffw-since__num { font-size: 40px; }
  body.ffw-page .ffw-since__label { font-size: 10px; letter-spacing: .1em; }
}

/* ===== Section 7: Where we run ===== */
body.ffw-page .ffw-lanes { background: var(--ffw-paper); color: var(--ffw-ink); padding: 110px 6vw; }
body.ffw-page .ffw-lanes .ffw-kicker, body.ffw-page .ffw-lanes .ffw-h2 span { color: #8a7140; }
body.ffw-page .ffw-lanes__inner { max-width: 1430px; margin: 0 auto; }
body.ffw-page .ffw-lanes__head { max-width: 900px; }
body.ffw-page .ffw-lanes__cols { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 3px solid var(--ffw-ink); }
body.ffw-page .ffw-lane { padding: 34px 36px 8px 0; }
body.ffw-page .ffw-lane + .ffw-lane { padding-left: 36px; border-left: 1px solid #d6d6d6; }
body.ffw-page .ffw-lane__where { margin: 0; font-family: var(--ffw-head); font-weight: 400; font-size: 40px; line-height: 1; color: var(--ffw-ink); }
body.ffw-page .ffw-lane__tags { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.ffw-page .ffw-lane__tags li {
  margin: 0; padding: 5px 10px; border: 1px solid var(--ffw-gold); font-family: var(--ffw-body); font-size: 12px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--ffw-ink);
}
body.ffw-page .ffw-lane__body { margin: 18px 0 0; font-family: var(--ffw-body); font-size: 16px; line-height: 1.6; color: #333; }
body.ffw-page .ffw-lane__link {
  display: inline-block; margin-top: 16px; font-family: var(--ffw-body); font-size: 15px; font-weight: 600; color: var(--ffw-ink);
  text-decoration: underline; text-decoration-color: var(--ffw-gold); text-decoration-thickness: 2px; text-underline-offset: 5px;
}
body.ffw-page .ffw-lane__link:hover, body.ffw-page .ffw-lane__link:focus-visible { color: #8a7140; }
@media (max-width: 1100px) {
  body.ffw-page .ffw-lanes { padding: 88px 30px; }
  body.ffw-page .ffw-lanes__cols { grid-template-columns: 1fr; }
  body.ffw-page .ffw-lane, body.ffw-page .ffw-lane + .ffw-lane { padding: 28px 0; border-left: 0; }
  body.ffw-page .ffw-lane + .ffw-lane { border-top: 1px solid #d6d6d6; }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-lanes { padding: 64px 20px; }
  body.ffw-page .ffw-lane__where { font-size: 34px; }
}

/* ===== Section 8: Freight forwarding questions ===== */
body.ffw-page .ffw-faq { background: #f4f3f0; color: var(--ffw-ink); padding: 110px 6vw; }
body.ffw-page .ffw-faq .ffw-kicker, body.ffw-page .ffw-faq .ffw-h2 span { color: #8a7140; }
body.ffw-page .ffw-faq__inner { max-width: 1430px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 80px; align-items: start; }
body.ffw-page .ffw-faq__head { position: sticky; top: 40px; }
body.ffw-page .ffw-faq__lead { margin: 22px 0 0; font-family: var(--ffw-body); font-size: 17px; line-height: 1.6; color: #333; }
body.ffw-page .ffw-faq__lead a { color: var(--ffw-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--ffw-gold); text-decoration-thickness: 2px; text-underline-offset: 4px; white-space: nowrap; }
body.ffw-page .ffw-faq__list { border-top: 1px solid #c9c6bf; }
body.ffw-page .ffw-qa { border-bottom: 1px solid #c9c6bf; }
body.ffw-page .ffw-qa__q { margin: 0; }
body.ffw-page .ffw-qa__btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; margin: 0;
  background: none; border: 0; cursor: pointer; text-align: left; color: var(--ffw-ink);
  font-family: var(--ffw-head); font-weight: 400; font-size: 28px; line-height: 1.1; letter-spacing: .01em;
}
body.ffw-page .ffw-qa__btn:focus-visible { outline: 2px solid var(--ffw-gold); outline-offset: 4px; }
body.ffw-page .ffw-qa__icon { position: relative; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ffw-ink); transition: background-color .25s ease, border-color .25s ease; }
body.ffw-page .ffw-qa__icon::before, body.ffw-page .ffw-qa__icon::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--ffw-ink); transition: transform .25s ease;
}
body.ffw-page .ffw-qa__icon::after { transform: rotate(90deg); }
body.ffw-page .ffw-qa.is-open .ffw-qa__icon { background: var(--ffw-gold); border-color: var(--ffw-gold); }
body.ffw-page .ffw-qa.is-open .ffw-qa__icon::after { transform: rotate(0deg); }
body.ffw-page .ffw-qa__a p { margin: 0; padding: 0 60px 26px 0; font-family: var(--ffw-body); font-size: 16px; line-height: 1.65; color: #333; }
/* without the script every answer shows; the plus/minus only means something once it runs */
body.ffw-page .ffw-faq__list:not(.is-accordion) .ffw-qa__icon { display: none; }
body.ffw-page .ffw-faq__list:not(.is-accordion) .ffw-qa__btn { cursor: default; }
@media (prefers-reduced-motion: reduce) { body.ffw-page .ffw-qa__icon, body.ffw-page .ffw-qa__icon::after { transition: none; } }
@media (max-width: 1100px) {
  body.ffw-page .ffw-faq { padding: 88px 30px; }
  body.ffw-page .ffw-faq__inner { grid-template-columns: 1fr; gap: 40px; }
  body.ffw-page .ffw-faq__head { position: static; }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-faq { padding: 64px 20px; }
  body.ffw-page .ffw-qa__btn { font-size: 24px; padding: 20px 0; }
  body.ffw-page .ffw-qa__a p { padding-right: 0; font-size: 15px; }
}

/* ===== Section 9: Request a quote ===== */
body.ffw-page .ffw-quote { background: var(--ffw-ink); color: var(--ffw-paper); padding: 110px 6vw 120px; }
body.ffw-page .ffw-quote__inner { max-width: 1430px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 72px; align-items: start; }
body.ffw-page .ffw-quote__lead { margin: 22px 0 0; max-width: 520px; font-family: var(--ffw-body); font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.82); }
body.ffw-page .ffw-quote__call { margin-top: 30px; }
body.ffw-page .ffw-quote__facts { margin: 40px 0 0; padding: 0; border-top: 1px solid rgba(189,161,107,.35); }
body.ffw-page .ffw-quote__facts > div { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
body.ffw-page .ffw-quote__facts dt { font-family: var(--ffw-body); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ffw-gold); padding-top: 3px; }
body.ffw-page .ffw-quote__facts dd { margin: 0; font-family: var(--ffw-body); font-size: 16px; line-height: 1.5; color: rgba(255,255,255,.88); }
body.ffw-page .ffw-quote__facts a { color: var(--ffw-paper); text-decoration: underline; text-decoration-color: var(--ffw-gold); text-underline-offset: 4px; }
body.ffw-page .ffw-quote__card { background: var(--ffw-paper); color: var(--ffw-ink); padding: 40px 40px 36px; border-top: 4px solid var(--ffw-gold); scroll-margin-top: 24px; }
body.ffw-page .ffw-quote__card-title { margin: 0; font-family: var(--ffw-head); font-weight: 400; font-size: 40px; line-height: 1; color: var(--ffw-ink); }
body.ffw-page .ffw-quote__card-sub { margin: 10px 0 24px; font-family: var(--ffw-body); font-size: 15px; color: #545454; }
/* The form markup is the site's own (fusion-form-3348), built for a translucent
   rounded panel on the teal band. Inside this white card: drop that panel and
   give the outline-white submit button the brand gold so it is visible. */
body.ffw-page .ffw-quote__card .fusion-form .fusion-fullwidth {
  background: transparent !important; background-image: none !important; border-radius: 0 !important;
  padding: 0 !important; margin: 0 !important; min-height: 0 !important; box-shadow: none !important;
}
body.ffw-page .ffw-quote__card .fusion-form .fusion-builder-row { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: 100% !important; }
body.ffw-page .ffw-quote__card .fusion-form button[type="submit"] {
  background: var(--ffw-gold) !important; border: 1px solid var(--ffw-gold) !important; color: var(--ffw-ink) !important;
  min-height: 52px; padding: 0 34px !important; font-weight: 600; letter-spacing: .08em;
}
body.ffw-page .ffw-quote__card .fusion-form button[type="submit"] * { color: var(--ffw-ink) !important; }
/* the theme's slide-in hover layer shows as a stray corner on gold; our hover swaps colours instead */
body.ffw-page .ffw-quote__card .fusion-form button[type="submit"]::before, body.ffw-page .ffw-quote__card .fusion-form button[type="submit"]::after { display: none !important; }
body.ffw-page .ffw-quote__card .fusion-form button[type="submit"]:hover,
body.ffw-page .ffw-quote__card .fusion-form button[type="submit"]:focus-visible { background: var(--ffw-ink) !important; border-color: var(--ffw-ink) !important; }
body.ffw-page .ffw-quote__card .fusion-form button[type="submit"]:hover *,
body.ffw-page .ffw-quote__card .fusion-form button[type="submit"]:focus-visible * { color: var(--ffw-paper) !important; }
@media (max-width: 1100px) {
  body.ffw-page .ffw-quote { padding: 88px 30px; }
  body.ffw-page .ffw-quote__inner { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 640px) {
  body.ffw-page .ffw-quote { padding: 64px 20px; }
  body.ffw-page .ffw-quote__card { padding: 28px 20px 24px; }
  body.ffw-page .ffw-quote__card-title { font-size: 34px; }
  body.ffw-page .ffw-quote__facts > div { grid-template-columns: 1fr; gap: 4px; }
}
