/* Shared marketing presentation. Loaded last by every public page. */
body.ps-v2 .ps-page-hero {
  --page-hero-bg: #f4faff;
  --page-hero-image: url('/assets/img/shipment-hero-light-20260929.webp');
  min-height: 380px;
  display: flex;
  align-items: center;
  padding: 48px 0;
  background: var(--page-hero-bg);
}
html[data-theme="dark"] body.ps-v2 .ps-page-hero {
  --page-hero-bg: #07182d;
  --page-hero-image: url('/assets/img/shipment-hero-dark-20260929.webp');
  background: var(--page-hero-bg);
}
body.ps-v2 .ps-page-hero::after { content: none; }
body.ps-v2 .ps-page-hero::before {
  content: ""; position: absolute; inset: 0 0 0 auto; width: min(100%, 1140px);
  background: var(--page-hero-image) right center / auto 100% no-repeat;
  mask-image: linear-gradient(90deg, transparent, #000 28%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%);
  pointer-events: none;
}
body.ps-v2 .ps-page-hero > .container { position: relative; z-index: 1; }
body.ps-v2 .ps-page-hero h1 { max-width: 55%; font-size: clamp(36px, 4.2vw, 60px); line-height: 1.06; }
body.ps-v2 .ps-page-hero .lede { max-width: 50%; }
body .site-header .theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  width: auto; height: 44px; min-height: 44px; padding: 0 14px; border-radius: 24px;
}
body .site-header .theme-toggle .theme-label { position: static !important; width: auto !important; height: auto !important; margin: 0 !important; clip: auto !important; overflow: visible !important; }
body.ps-v2 .ps-v2-header .ps-theme-dot { width: auto; height: 44px; min-height: 44px; padding: 0 14px; border-radius: 24px; }
body.home-v2 .live-track-form { display: flex; align-items: center; gap: 12px; padding: 10px; }
body.home-v2 .live-track-form .home-track-input { flex: 1; min-width: 0; padding: 10px 14px; border: 0; }
body.home-v2 .live-track-form input { display: block; width: 100%; min-width: 0; min-height: 36px; font: inherit; font-size: 16px; color: inherit; background: transparent; border: 0; border-radius: 4px; }
body.home-v2 .live-track-form input::placeholder { color: #62778d; opacity: 1; }
html[data-theme="dark"] body.home-v2 .live-track-form input::placeholder { color: #afc1d5; }
body.home-v2 .live-track-form .home-track-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 14px 24px; border: 0; border-radius: 10px; font: inherit; font-weight: 750; cursor: pointer; }
body.home-v2 .live-track-form button:disabled { cursor: wait; opacity: .65; }
body .example-caption { margin: 12px 0 0; text-align: center; font-size: 12px; color: #526b86; }
html[data-theme="dark"] body .example-caption { color: #aec1d5; }
body .policy-links { display: flex; gap: 24px; flex-wrap: wrap; justify-content: center; padding-top: 24px; font-size: 13px; }
body .resource-card h2 { font-size: 24px; line-height: 1.25; }
body :is(a, button, input, [tabindex]):focus-visible { outline: 3px solid #168ce4; outline-offset: 4px; }
html { scroll-padding-top: 100px; }
@media (max-width: 760px) {
  body.ps-v2 .ps-page-hero, body.ps-v2.ps-doc-page .ps-page-hero, html[data-theme="dark"] body.ps-v2 .ps-page-hero {
    min-height: 0; padding: 180px 0 32px;
    background: var(--page-hero-bg);
  }
  body.ps-v2 .ps-page-hero::before { width: 100%; height: 190px; background-position: calc(100% + 88.5px) top; background-size: auto 190px; mask-image: linear-gradient(#000 65%, transparent); -webkit-mask-image: linear-gradient(#000 65%, transparent); }
  body.ps-v2 .ps-page-hero h1, body.ps-v2 .ps-page-hero .lede { max-width: 100%; }
  body.ps-v2 .ps-page-hero h1, body.ps-v2.ps-doc-page .ps-page-hero h1 { font-size: clamp(34px, 8vw, 46px); }
  body .cards-2 { grid-template-columns: 1fr; }
}
@media (max-width: 500px) {
  body.home-v2 .live-track-form { flex-direction: column; align-items: stretch; }
  body.home-v2 .live-track-form .home-track-input { flex-basis: auto; min-height: 48px; }
  body.home-v2 .live-track-form .home-track-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body *, body *::before, body *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}

body.ps-v2 .ps-page-hero .ghost-button { color: var(--ps-blue); }
html[data-theme="dark"] body.ps-v2 .resource-card h2 a { color: #8fcaff; }

/* One brand lockup across the home, content, form and error templates. */
body .site-header:is(.home-v2-header, .ps-v2-header) .header-inner { min-height: 76px; }
body .site-header:is(.home-v2-header, .ps-v2-header) .brand { gap: 11px; }
body .site-header:is(.home-v2-header, .ps-v2-header) .brand img {
  width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; border-radius: 0;
}
body .site-header:is(.home-v2-header, .ps-v2-header) .brand strong {
  font-size: 18px; line-height: 1.3; letter-spacing: -.025em;
}
body .site-header:is(.home-v2-header, .ps-v2-header) .brand small {
  display: block; margin-top: 2px; font-size: 9px; line-height: 1.4;
  font-weight: 700; letter-spacing: .18em;
}
body .site-header:is(.home-v2-header, .ps-v2-header) .site-nav { gap: 22px; }
body .site-header:is(.home-v2-header, .ps-v2-header) .site-nav > a:not(.button) {
  font-size: 14px; font-weight: 750;
}
body:is(.home-v2, .ps-v2) .site-footer .brand { gap: 10px; max-width: 100%; white-space: nowrap; }
body:is(.home-v2, .ps-v2) .site-footer .brand img { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; border-radius: 0; }
body:is(.home-v2, .ps-v2) .site-footer .brand strong { font-size: 16px; line-height: 1.3; letter-spacing: -.025em; }
body:is(.home-v2, .ps-v2) .site-footer .brand small { font-size: 9px; line-height: 1.4; letter-spacing: .18em; }
@media (max-width: 960px) {
  body .site-header:is(.home-v2-header, .ps-v2-header) .header-inner { min-height: 68px; }
  body .site-header:is(.home-v2-header, .ps-v2-header) .brand img { width: 42px; height: 42px; flex-basis: 42px; }
  body .site-header:is(.home-v2-header, .ps-v2-header) .brand strong { font-size: 17px; }
  body .site-header:is(.home-v2-header, .ps-v2-header) .site-nav { gap: 8px; }
}
