/* Shared layout breakpoints: 80rem (1280px), 64rem (1024px), 48rem (768px). */
:root {
  --color-background: #fff;
  --color-text: #171717;
  --color-accent: #171717;
  --color-accent-hover: #555;
  --color-on-accent: #fff;
  --color-header-background: #06080a;
  --color-header-overlay: rgba(0, 0, 0, .5);
  --color-header-edge: #0b0d0b;
  --color-header-glow: rgba(20, 28, 3, .35);
  --color-header-text: #fff;
  --color-text-secondary: #c9cccf;
  --color-header-muted: var(--color-text-secondary);
  --color-header-hover: #fff;
  --color-header-border-start: #91d7f5;
  --color-header-border-end: #346dff;
  --color-header-hover-fill: rgba(145, 215, 245, .14);
  --color-surface-dark: #0b0e14;
  --color-surface-raised: #161a22;
  --color-surface-cta: #3b3f47;
  --color-border-subtle: #3b3f47;
  --color-border-strong: #61666b;
  --color-border-map: #8a9197;
  --color-text-muted: #94999e;
  --color-warehouse-caption: #858b90;
  --color-surface-badge: var(--color-border-subtle);
  --color-input-border: var(--color-border-subtle);
  --color-input-placeholder: var(--color-text-muted);
  --color-status-positive: #1af9c1;
  --color-status-positive-surface: #021d16;
  --color-status-warning: #ffd184;
  --color-status-warning-surface: #302418;
  --color-status-negative: #ffb1b1;
  --color-status-negative-surface: #361d24;
  --color-control-disabled: #61666b;
  --color-hero-scrim: rgba(0, 0, 0, .4);
  --color-hero-muted: rgba(255, 255, 255, .8);
  --color-hero-fade: rgba(11, 14, 20, 0);
  --color-service-scrim: rgba(11, 14, 20, .38);
  --color-gradient-start: #91d7f5;
  --color-gradient-end: #3556fc;
  --color-transport-blue: #3455fb;
  --color-footer-background: var(--color-surface-raised);
  --color-footer-muted: var(--color-text-muted);
  --color-footer-address: rgba(255, 255, 255, .7);
  --color-footer-email: rgba(255, 255, 255, .8);
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fs-body: 1rem;
  --fs-nav: clamp(.875rem, 1.1765vw, 1rem);
  --fs-header-cta: clamp(.875rem, 1.3235vw, 1.125rem);
  --fs-hero-title: 3.5625rem;
  --fs-page-hero-title: 4rem;
  --fs-article-heading: 1.875rem;
  --fs-form-title: clamp(1.5rem, 2.2059vw, 1.875rem);
  --fs-caption: .875rem;
  --fs-review-role: .75rem;
  --fs-button: 1.125rem;
  --fs-footer-heading: clamp(1.125rem, 1.6176vw, 1.375rem);
  --fs-section-heading: 3rem;
  --fs-cta-heading: clamp(2rem, 3.3333vw, var(--fs-section-heading));
  --fs-stat-value: clamp(2.75rem, 4.1912vw, 3.5625rem);
  --fs-service-stat-value: clamp(2.75rem, 3.9583vw, 3.5625rem);
  --fs-feature-body: clamp(1rem, 1.25vw, 1.375rem);
  --fs-feature-heading: clamp(2rem, 3.3333vw, 3.625rem);
  --fs-feature-value: clamp(2.75rem, 3.9583vw, 4.25rem);
  --fs-feature-title: clamp(1.5rem, 2.0833vw, 2.25rem);
  --fs-body-large: clamp(1rem, 1.3235vw, 1.125rem);
  --fs-about-hero-copy: clamp(1.375rem, 2.0833vw, 1.875rem);
  --fs-advantage-title: clamp(1.5rem, 2.2059vw, 1.875rem);
  --fs-transport-card-title: clamp(1.125rem, 1.6176vw, 1.375rem);
  --fs-direction-title: 1.875rem;
  --fs-warehouse-title: clamp(1.25rem, 2.0833vw, var(--fs-direction-title));
  --lh-body: 1.5;
  --lh-tight: 1.1;
  --lh-description: 1.4;
  --lh-card: 1.2;
  --space-xs: .5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: clamp(1.5rem, 2.3529vw, 2rem);
  --space-xl: clamp(1.875rem, 2.9412vw, 2.5rem);
  --space-2xl: clamp(3rem, 4.7059vw, 4rem);
  --space-row-gap: clamp(2.25rem, 3.5294vw, 3rem);
  --space-about-hero-start: 7.5rem;
  --space-warehouse-leading: clamp(1.5rem, 3.8194vw, 3.4375rem);
  --space-document-outer: 1.125rem;
  --space-partner-column: clamp(1.5rem, 6.7361vw, 6.0625rem);
  --space-partners-top: 7.5rem;
  --space-metric-content-gap: clamp(2rem, 2.7778vw, 2.5rem);
  --space-heading-metrics: clamp(3rem, 5.5556vw, 5rem);
  --size-stat-metric-min-block: clamp(14rem, 18.75vw, 16.875rem);
  --size-stat-description-max: clamp(16.25rem, 25.6944vw, 23.125rem);
  --space-footer-top: clamp(3.75rem, 5.8824vw, 5rem);
  --space-cta-inset: clamp(4rem, 8.3333vw, 7.5rem);
  --space-cta-inset-end: clamp(4.25rem, 8.6111vw, 7.75rem);
  --space-contact-hero-inset: clamp(var(--container-gutter), 5.556vw, 5rem);
  --space-contact-grid-outset: clamp(var(--container-gutter), 3.4722vw, 3.125rem);
  --space-cta-group: 3rem;
  --space-cta-copy: .75rem;
  --space-cta-action-gap: 2.5625rem;
  --space-nav: 1.75rem;
  --space-nav-item: .625rem;
  --size-touch: 2.75rem;
  --size-form-control: 3rem;
  --size-tracking-row: 5.3125rem;
  --size-tracking-value: 25rem;
  --size-tracking-marker: 1.5rem;
  --size-about-values-stage: 30.1875rem;
  --size-contact-card: 15rem;
  --size-contact-map-mobile: 20rem;
  --size-warehouse-image: clamp(8rem, 16.8056vw, 15.125rem);
  --size-warehouse-card-min: 12.71875rem;
  --size-document-slide: 18.75rem;
  --size-document-active: 21rem;
  --size-document-active-block: 31.25rem;
  --size-document-slider: 62.5rem;
  --size-about-lead: 27.625rem;
  --size-about-closing: 36.25rem;
  --size-partner-logo: clamp(6.25rem, 8.8194vw, 7.9375rem);
  --size-partner-curve: clamp(3rem, 6.3194vw, 5.6875rem);
  --size-review-avatar: 2.5rem;
  --size-direction-icon: 3rem;
  --size-cta-logo: clamp(13rem, 20.5556vw, 18.5rem);
  --size-cta-button: 17.1875rem;
  --size-cta-button-height: 3rem;
  --size-cta-backdrop: min(136vw, 122.96rem);
  --radius-review-avatar: .625rem;
  --container-max: 82.5rem;
  --container-gutter: 1.25rem;
  --container-content-start: max(var(--container-gutter), calc((100vw - var(--container-max)) / 2 + var(--container-gutter)));
  --header-height: clamp(4.5rem, 7.0588vw, 6rem);
  --section-padding-block: clamp(3.5rem, 7vw, 7rem);
  --dur-fast: .25s;
  --dur-faq: .4s;
  --dur-reveal: .7s;
  --dur-carousel: .45s;
  --dur-partner-loop: 171s;
  --ease-standard: ease;
  --ease-reveal: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
a { color: inherit; }
:where(a, button, input, textarea, select):focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

:is(
  input:is([type='text'], [type='email'], [type='tel'], [type='number'], [type='search'], [type='url'], [type='password'], [type='date'], [type='time'], [type='datetime-local'], [type='month'], [type='week'], :not([type])),
  textarea,
  select
):is(:focus, :active) {
  border: 1px solid var(--color-gradient-start);
  border-image: linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end)) 1;
}

:is(
  input:is([type='text'], [type='email'], [type='tel'], [type='number'], [type='search'], [type='url'], [type='password'], [type='date'], [type='time'], [type='datetime-local'], [type='month'], [type='week'], :not([type])),
  textarea,
  select
):focus-visible { outline: none; /* The gradient border is the visible focus indicator. */ }

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter);
}
.section { padding-block: var(--section-padding-block); }
.section-eyebrow {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: var(--fs-body-large);
  font-weight: 274;
  line-height: var(--lh-description);
  letter-spacing: -.03em;
}
.section-heading {
  max-width: 100%;
  margin: 0;
  font-size: clamp(2rem, 3.3333vw, var(--fs-section-heading));
  font-weight: 450;
  line-height: var(--lh-tight);
  letter-spacing: -.015em;
  text-transform: uppercase;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  overflow-wrap: anywhere;
}
.section-heading--medium { font-weight: 510; }
.section-heading--compact { letter-spacing: -.02em; }
.gradient-text {
  background: linear-gradient(7deg, var(--color-gradient-start) 25%, var(--color-gradient-end) 75%);
  background-clip: text;
  color: transparent;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus-visible {
  position: fixed;
  z-index: 100;
  inset-block-start: var(--space-sm);
  inset-inline-start: var(--space-sm);
  width: auto;
  height: auto;
  padding: var(--space-xs) var(--space-sm);
  margin: 0;
  overflow: visible;
  clip: auto;
  background: var(--color-background);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  min-height: var(--size-touch);
  padding: var(--space-xs) var(--space-md);
  border: 0;
  cursor: pointer;
  text-decoration: none;
  font-size: var(--fs-button);
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: -.03em;
  transition: background-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);
}
.button--primary { background: var(--color-accent); color: var(--color-on-accent); }
.button--primary:hover { background: var(--color-accent-hover); }
.button--outline {
  border: 1px solid transparent;
  background: linear-gradient(var(--color-header-background), var(--color-header-background)) padding-box,
    linear-gradient(110deg, var(--color-header-border-start), var(--color-header-border-end)) border-box;
  color: var(--color-header-text);
}
.button--outline:hover {
  background: linear-gradient(var(--color-header-hover-fill), var(--color-header-hover-fill)) padding-box,
    linear-gradient(110deg, var(--color-header-border-start), var(--color-header-border-end)) border-box;
}
.button--ghost,
.button--gradient {
  position: relative;
  isolation: isolate;
  border: 1px solid transparent;
  border-image: linear-gradient(45deg, var(--color-gradient-start) 25%, var(--color-gradient-end) 75%) 1;
  background: transparent;
  color: var(--color-on-accent);
}
.button--ghost:hover { background: var(--color-header-hover-fill); }
.button--ghost::before,
.button--gradient::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
  pointer-events: none;
  transition: opacity var(--dur-fast) var(--ease-standard);
}
.button--ghost::before {
  background: linear-gradient(45deg, var(--color-gradient-start) 25%, var(--color-gradient-end) 75%);
  opacity: 0;
}
.button--ghost:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible)::before { opacity: 1; }
.button--gradient::before {
  background: linear-gradient(10deg, var(--color-gradient-start) 25%, var(--color-gradient-end) 75%);
  opacity: 1;
}
.button--gradient:not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible)::before { opacity: 0; }
.button:disabled, .button[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.icon { display: inline-flex; flex: none; }
.icon svg { width: 100%; height: 100%; }

.has-js [data-animate] {
  opacity: 0;
  transform: translateY(var(--space-sm));
  transition: opacity var(--dur-reveal) var(--ease-reveal), transform var(--dur-reveal) var(--ease-reveal);
}
.has-js [data-animate].is-visible { opacity: 1; transform: translateY(0); }

@media (width <= 48rem) {
  .section-heading { font-size: clamp(2rem, 7vw, var(--fs-section-heading)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .button--ghost::before, .button--gradient::before, .has-js [data-animate] { transition-duration: .01ms; }
  .has-js [data-animate] { opacity: 1; transform: none; }
}
