:root {
  --dixon-ink: #1C2733;
  --dixon-navy: #00264A;
  --dixon-deep-navy: #00182D;
  --dixon-blue: #0066A4;
  --dixon-gold: #C0A124;
  --dixon-accent: #D4B414;
  --dixon-bg: #F5F7F9;
  --dixon-line: #DDE3E8;
  --dixon-muted: #637180;
  --dixon-white: #FFFFFF;
  --dixon-green: #16865C;
  --dixon-red: #C43D3D;
  --dixon-amber: #9A7D00;
  --dixon-radius-sm: 4px;
  --dixon-radius: 8px;
  --dixon-radius-lg: 12px;
  --dixon-button-radius: 6px;
  --dixon-shadow: 0 8px 24px rgba(0, 24, 45, 0.06);
  --dixon-font-heading: Manrope, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --dixon-font-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dixon-site {
  font-family: var(--dixon-font-body);
  color: var(--dixon-ink);
  font-size: 17px;
  line-height: 1.65;
}

.dixon-site * { box-sizing: border-box; }
.dixon-site h1,
.dixon-site h2,
.dixon-site h3,
.dixon-site h4,
.dixon-site h5,
.dixon-site h6,
.dixon-site .dixon-btn { font-family: var(--dixon-font-heading); }

.dixon-wrap { width: min(1240px, calc(100% - 64px)); margin: auto; }

.dixon-hero {
  padding: 110px 0 90px;
  background: linear-gradient(135deg, var(--dixon-deep-navy) 0%, var(--dixon-navy) 100%);
  color: var(--dixon-white);
}
.dixon-hero h1 {
  font-size: clamp(2.7rem, 6vw, 5.4rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  max-width: 930px;
  margin: .2em 0;
  font-weight: 700;
}
.dixon-lead {
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  max-width: 820px;
  color: inherit;
  opacity: .92;
}
.dixon-eyebrow {
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--dixon-accent);
  margin: 0 0 12px;
}
.dixon-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }

.dixon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--dixon-button-radius);
  background: var(--dixon-navy);
  color: var(--dixon-white) !important;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none !important;
  padding: 14px 24px;
  min-height: 50px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.dixon-btn:hover {
  background: var(--dixon-accent);
  color: var(--dixon-navy) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 24, 45, .12);
}
.dixon-btn:focus-visible {
  outline: 3px solid rgba(212, 180, 20, .35);
  outline-offset: 3px;
}
.dixon-btn--secondary {
  background: transparent;
  color: inherit !important;
  border-color: currentColor;
}
.dixon-btn--secondary:hover {
  background: var(--dixon-white);
  border-color: var(--dixon-white);
  color: var(--dixon-navy) !important;
}
.dixon-hero .dixon-btn:not(.dixon-btn--secondary),
.dixon-cta .dixon-btn:not(.dixon-btn--secondary) {
  background: var(--dixon-accent);
  color: var(--dixon-navy) !important;
}
.dixon-hero .dixon-btn:not(.dixon-btn--secondary):hover,
.dixon-cta .dixon-btn:not(.dixon-btn--secondary):hover {
  background: var(--dixon-gold);
  color: var(--dixon-deep-navy) !important;
}

.dixon-section { padding: 96px 0; }
.dixon-section--muted { background: var(--dixon-bg); }
.dixon-section--dark { background: var(--dixon-deep-navy); color: var(--dixon-white); }
.dixon-section h2 {
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.1;
  letter-spacing: -.035em;
  margin: 0 0 28px;
  font-weight: 700;
}

.dixon-grid { display: grid; gap: 24px; }
.dixon-grid--3 { grid-template-columns: repeat(3, 1fr); }
.dixon-grid--4 { grid-template-columns: repeat(4, 1fr); }

.dixon-card,
.dixon-stat,
.dixon-step,
.dixon-track-card,
.dixon-tech-panel {
  background: var(--dixon-white);
  border: 1px solid var(--dixon-line);
  border-radius: var(--dixon-radius);
  padding: 28px;
  box-shadow: var(--dixon-shadow);
}
.dixon-section--dark .dixon-step {
  background: rgba(255, 255, 255, .055);
  border-color: rgba(255, 255, 255, .12);
  box-shadow: none;
}
.dixon-card h3,
.dixon-step h3 { font-size: 1.35rem; line-height: 1.2; margin: 0 0 12px; font-weight: 700; }
.dixon-card p,
.dixon-step p { color: var(--dixon-muted); }
.dixon-section--dark .dixon-step p { color: #DCE5EC; }
.dixon-stat strong { display: block; font-size: 1.3rem; }
.dixon-stat span { color: var(--dixon-muted); }
.dixon-step b { font-size: 2.4rem; color: var(--dixon-accent); }
.dixon-text-link { font-weight: 800; color: var(--dixon-blue); text-decoration: none; }
.dixon-text-link:hover { color: var(--dixon-navy); text-decoration: underline; }

.dixon-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 44px; align-items: center; }
.dixon-tech-panel { background: var(--dixon-navy); color: var(--dixon-white); }
.dixon-tech-panel > span {
  display: inline-block;
  color: var(--dixon-accent);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.dixon-cta { background: var(--dixon-navy); color: var(--dixon-white); }
.dixon-cta p { max-width: 760px; color: #DCE5EC; }

.dixon-track-hero { padding: 70px 0; background: var(--dixon-bg); }
.dixon-track-hero h1 { font-size: clamp(2.3rem, 5vw, 4.5rem); margin: .1em 0; font-weight: 700; }
.dixon-track-search { display: grid; grid-template-columns: 1fr auto; gap: 10px; max-width: 760px; margin-top: 26px; }
.dixon-track-search input,
.dixon-form input,
.dixon-form select,
.dixon-form textarea {
  width: 100%;
  border: 1px solid #CCD5DD;
  border-radius: var(--dixon-button-radius);
  padding: 14px 16px;
  font: inherit;
  color: var(--dixon-ink);
  background: var(--dixon-white);
}
.dixon-track-search input::placeholder,
.dixon-form input::placeholder,
.dixon-form textarea::placeholder { color: #82909D; }
.dixon-track-search input:focus,
.dixon-form input:focus,
.dixon-form select:focus,
.dixon-form textarea:focus {
  outline: 3px solid rgba(0, 38, 74, .10);
  border-color: var(--dixon-navy);
}
.dixon-demo-note { font-size: .88rem; color: var(--dixon-muted); }
.dixon-demo-note button { border: 0; background: none; color: var(--dixon-blue); text-decoration: underline; cursor: pointer; }

.dixon-track-summary {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: flex-end;
  padding: 30px;
  border-radius: var(--dixon-radius);
  background: var(--dixon-navy);
  color: var(--dixon-white);
}
.dixon-track-summary h2 { font-size: 2rem; margin: 0 0 12px; }
.dixon-route { display: flex; gap: 20px; align-items: center; }
.dixon-route span,
.dixon-details-grid span { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: #7A8B96; }
.dixon-track-summary .dixon-route span { color: #C7D3DC; }
.dixon-route strong { display: block; font-size: 1.15rem; }

.dixon-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 32px 0; }
.dixon-progress__item { position: relative; text-align: center; color: #7A8B96; }
.dixon-progress__item:before {
  content: "";
  position: absolute;
  height: 3px;
  background: #D7E0E5;
  left: -50%;
  right: 50%;
  top: 20px;
  z-index: 0;
}
.dixon-progress__item:first-child:before { display: none; }
.dixon-progress__item span {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  margin: 0 auto 8px;
  background: #E3E9ED;
  font-weight: 800;
}
.dixon-progress__item.is-done span,
.dixon-progress__item.is-current span { background: var(--dixon-blue); color: var(--dixon-white); }
.dixon-progress__item.is-done:before { background: var(--dixon-blue); }

.dixon-track-card { margin: 20px 0; box-shadow: var(--dixon-shadow); }
.dixon-track-card h2 { font-size: 1.55rem; }
.dixon-details-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.dixon-details-grid strong { display: block; margin-top: 4px; }

.dixon-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 11px;
  font-weight: 800;
  font-size: .8rem;
  background: #F1F3F5;
  color: #66727D;
}
.dixon-status--completed { background: #EAF7F1; color: var(--dixon-green); }
.dixon-status--in_transit { background: #EAF4FA; color: var(--dixon-blue); }
.dixon-status--exception { background: #FBECEC; color: var(--dixon-red); }
.dixon-status--scheduled { background: #FBF7E6; color: var(--dixon-amber); }

.dixon-history__row {
  display: grid;
  grid-template-columns: 180px 130px 1fr;
  gap: 18px;
  padding: 16px 0;
  border-top: 1px solid var(--dixon-line);
  align-items: center;
}
.dixon-history__row:first-child { border-top: 0; }
.dixon-proof img {
  max-width: 340px;
  max-height: 220px;
  object-fit: contain;
  border: 1px solid var(--dixon-line);
  border-radius: var(--dixon-radius);
  background: var(--dixon-white);
  margin-top: 10px;
}
.dixon-time-note { font-size: .85rem; color: var(--dixon-muted); }

.dixon-loading,
.dixon-error,
.dixon-success {
  padding: 36px;
  border: 1px solid var(--dixon-line);
  border-radius: var(--dixon-radius);
  background: var(--dixon-white);
  box-shadow: var(--dixon-shadow);
}
.dixon-loading div { height: 16px; border-radius: var(--dixon-radius); background: #EDF1F3; margin: 10px 0; animation: dixonPulse 1.1s infinite alternate; }
.dixon-loading div:nth-child(2) { width: 75%; }
.dixon-loading div:nth-child(3) { width: 55%; }
@keyframes dixonPulse { to { opacity: .4; } }

.dixon-form-wrap { max-width: 900px; }
.dixon-form { display: grid; gap: 20px; }
.dixon-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.dixon-form label { font-weight: 700; }
.dixon-form label input,
.dixon-form label select,
.dixon-form label textarea { display: block; margin-top: 6px; font-weight: 400; }
.dixon-hp { position: absolute !important; left: -9999px !important; }
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 900px) {
  .dixon-wrap { width: min(100% - 48px, 1240px); }
  .dixon-grid--4,
  .dixon-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .dixon-split { grid-template-columns: 1fr; }
  .dixon-track-summary { align-items: flex-start; flex-direction: column; }
  .dixon-details-grid { grid-template-columns: repeat(2, 1fr); }
  .dixon-history__row { grid-template-columns: 1fr 120px; }
  .dixon-history__row p { grid-column: 1 / -1; margin: 0; }
}

@media (max-width: 620px) {
  .dixon-wrap { width: min(100% - 36px, 1240px); }
  .dixon-hero { padding: 74px 0 62px; }
  .dixon-section { padding: 56px 0; }
  .dixon-grid--4,
  .dixon-grid--3,
  .dixon-details-grid,
  .dixon-form-grid { grid-template-columns: 1fr; }
  .dixon-track-search { grid-template-columns: 1fr; }
  .dixon-track-search .dixon-btn { width: 100%; }
  .dixon-route { width: 100%; justify-content: space-between; align-items: flex-start; }
  .dixon-progress { display: block; margin-left: 12px; }
  .dixon-progress__item { display: grid; grid-template-columns: 44px 1fr; text-align: left; align-items: center; gap: 12px; margin: 0 0 14px; }
  .dixon-progress__item span { margin: 0; }
  .dixon-progress__item:before { height: calc(100% + 14px); width: 3px; left: 20px; right: auto; top: -100%; }
  .dixon-progress__item:first-child:before { display: none; }
  .dixon-history__row { grid-template-columns: 1fr; }
  .dixon-history__row p { grid-column: auto; }
  .dixon-actions .dixon-btn { width: 100%; }
}


/* ==========================================================
   DIXON GLOBAL CARD & MOTION SYSTEM — v0.3.0
   Used by Elementor cards throughout the Dixon website.
   ========================================================== */

.dixon-home-card {
  transition:
    translate .26s cubic-bezier(.22,1,.36,1),
    box-shadow .26s cubic-bezier(.22,1,.36,1),
    border-color .26s ease !important;
}

@media (hover:hover) and (pointer:fine) {
  .dixon-home-card:hover {
    translate: 0 -5px;
    box-shadow: 0 16px 38px rgba(0,24,45,.12) !important;
    border-color: rgba(0,38,74,.30) !important;
  }

  .dixon-tech-section .dixon-home-card:hover {
    box-shadow: 0 16px 38px rgba(0,0,0,.25) !important;
    border-color: rgba(212,180,20,.48) !important;
  }
}

a.dixon-clickable-card {
  display: flex;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer;
}

a.dixon-clickable-card *,
a.dixon-clickable-card:hover *,
a.dixon-clickable-card:focus * {
  text-decoration: none !important;
}

a.dixon-clickable-card:focus-visible {
  outline: 3px solid var(--dixon-accent, #D4B414);
  outline-offset: 3px;
}

.dixon-tracking-float {
  animation: dixonTrackingFloat 5s ease-in-out infinite;
  will-change: transform;
  transition: box-shadow .26s ease, border-color .26s ease;
}

@keyframes dixonTrackingFloat {
  0%,100% { transform: translate3d(0,0,0); }
  50%     { transform: translate3d(0,-9px,0); }
}

.dixon-tracking-float:hover {
  box-shadow: 0 22px 48px rgba(0,24,45,.22) !important;
  border-color: rgba(0,38,74,.25) !important;
}

.dixon-home-image {
  overflow: hidden;
  border-radius: 12px;
}

.dixon-home-image img {
  transition: filter .30s ease, scale .50s cubic-bezier(.22,1,.36,1);
}

@media (hover:hover) and (pointer:fine) {
  .dixon-home-image:hover img {
    scale: 1.015;
    filter: saturate(1.03) contrast(1.02);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dixon-home-card,
  .dixon-tracking-float,
  .dixon-home-image img {
    transition: none !important;
    animation: none !important;
    translate: none !important;
    transform: none !important;
    scale: none !important;
  }
}
