:root {
  --quote-ink: #071923;
  --quote-carbon: #263d47;
  --quote-teal: #4fa8bf;
  --quote-blue: #578b9e;
  --quote-paper: #f3f6f5;
  --quote-white: #ffffff;
  --quote-line: rgba(63, 71, 80, .2);
  --quote-muted: #5d6b72;
  --quote-error: #a33f3f;
}

.quote-page {
  background: var(--quote-paper);
  color: var(--quote-carbon);
}

.quote-hero {
  position: relative;
  min-height: min(790px, 100svh);
  padding: clamp(212px, 17vw, 242px) var(--ui-gutter) clamp(92px, 9vw, 132px);
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .72fr);
  align-content: end;
  gap: 34px clamp(48px, 9vw, 148px);
  overflow: hidden;
  border-bottom: 1px solid rgba(99, 189, 215, .3);
  background:
    radial-gradient(circle at 14% 35%, rgba(99,189,215,.35) 0 5px, transparent 6px),
    radial-gradient(circle at 25% 64%, rgba(99,189,215,.18) 0 4px, transparent 5px),
    linear-gradient(145deg, #071923 0%, #0b2530 60%, #143845 100%);
  color: white;
}

.quote-hero::after {
  content: "RATE / REQUEST";
  position: absolute;
  left: var(--ui-gutter);
  bottom: 14px;
  color: rgba(255,255,255,.055);
  direction: ltr;
  font: 800 clamp(50px, 9vw, 142px)/1 "NIKCO UI", sans-serif;
  letter-spacing: -.07em;
  white-space: nowrap;
  pointer-events: none;
}

.quote-hero > * { position: relative; z-index: 1; }

.quote-eyebrow {
  grid-column: 1 / -1;
  margin: 0;
  color: #65bdd5;
  font-size: 13px;
  font-weight: 700;
}

.quote-hero h1 {
  max-width: 13ch;
  margin: 0;
  color: #f7fafb;
  font-size: clamp(50px, 5.8vw, 88px);
  font-weight: 760;
  line-height: 1.18;
  letter-spacing: -.035em;
}

.quote-hero > p:not(.quote-eyebrow) {
  align-self: end;
  max-width: 52ch;
  margin: 0;
  color: #abc0c8;
  font-size: 18px;
  line-height: 2;
}

.quote-hero ul {
  grid-column: 1 / -1;
  margin: 10px 0 0;
  padding: 22px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 34px;
  border-top: 1px solid rgba(255,255,255,.16);
  list-style: none;
}

.quote-hero li {
  position: relative;
  padding-right: 17px;
  color: #d2dfe3;
  font-size: 14px;
}

.quote-hero li::before {
  content: "";
  position: absolute;
  top: .75em;
  right: 0;
  width: 7px;
  border-top: 2px solid #65bdd5;
}

.freight-quote-tool {
  width: min(1180px, calc(100% - 2 * var(--ui-gutter)));
  min-height: 680px;
  position: relative;
  z-index: 2;
  margin: clamp(-58px, -4vw, -38px) auto 0;
  border: 1px solid var(--quote-line);
  background: var(--quote-white);
  box-shadow: 0 34px 90px rgba(7, 25, 35, .16);
}

.quote-tool-header {
  padding: clamp(26px, 3vw, 42px);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  border-bottom: 1px solid var(--quote-line);
}

.quote-tool-header p {
  margin: 0;
  color: var(--quote-teal);
  font-size: 12px;
  font-weight: 700;
}

.quote-tool-header h2 {
  margin: 9px 0 0;
  color: var(--quote-ink);
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 720;
  line-height: 1.45;
}

.quote-tool-header .quote-time-note {
  min-height: 44px;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(62, 142, 132, .3);
  color: #41565b;
  white-space: nowrap;
}

.quote-progress {
  padding: 26px clamp(26px, 4vw, 52px) 24px;
  background: #f8fafa;
  border-bottom: 1px solid var(--quote-line);
}

.quote-progress-track {
  height: 3px;
  overflow: hidden;
  background: #d8e0e2;
}

.quote-progress-track span {
  display: block;
  width: 25%;
  height: 100%;
  background: var(--quote-teal);
  transition: width 220ms ease;
}

.quote-progress ol {
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
}

.quote-progress li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #7b898f;
}

.quote-progress li span {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #bac6ca;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
}

.quote-progress li strong {
  font-size: 13px;
  font-weight: 600;
}

.quote-progress li[aria-current="step"],
.quote-progress li.is-complete {
  color: var(--quote-ink);
}

.quote-progress li[aria-current="step"] span,
.quote-progress li.is-complete span {
  border-color: var(--quote-teal);
  background: var(--quote-teal);
  color: #071a1a;
}

.quote-progress-copy {
  display: none;
}

.quote-wizard-form {
  position: relative;
  min-height: 460px;
}

.wizard-message {
  margin: 24px clamp(26px, 5vw, 70px) 0;
  padding: 13px 16px;
  border-right: 4px solid var(--quote-error);
  background: #fff1f1;
  color: #762b2b;
  font-size: 14px;
  line-height: 1.8;
}

.wizard-step {
  margin: 0;
  padding: clamp(42px, 5vw, 72px) clamp(26px, 6vw, 84px) clamp(48px, 6vw, 78px);
  border: 0;
}

.wizard-step.is-entering {
  animation: wizard-in 220ms ease-out both;
}

@keyframes wizard-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

.wizard-step legend {
  width: 100%;
  padding: 0;
  color: var(--quote-ink);
  font-size: clamp(30px, 3.6vw, 48px);
  font-weight: 740;
  line-height: 1.38;
  letter-spacing: -.025em;
}

.wizard-step legend span {
  display: block;
  margin-bottom: 10px;
  color: var(--quote-teal);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
}

.wizard-context {
  max-width: 62ch;
  margin: 15px 0 34px;
  color: var(--quote-muted);
  font-size: 16px;
  line-height: 1.9;
}

.transport-mode-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--quote-line);
  border-right: 1px solid var(--quote-line);
}

.mode-card {
  position: relative;
  min-height: 220px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 34px;
  border-left: 1px solid var(--quote-line);
  border-bottom: 1px solid var(--quote-line);
  background: #fff;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.mode-card input,
.project-mode-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.mode-card .mode-symbol {
  width: fit-content;
  color: var(--quote-blue);
  font-size: 48px;
  font-variation-settings: 'FILL' 0, 'wght' 350, 'GRAD' 0, 'opsz' 48;
}

.mode-card > span:not(.mode-symbol) {
  display: grid;
  gap: 7px;
}

.mode-card strong {
  color: var(--quote-ink);
  font-size: 19px;
  font-weight: 720;
}

.mode-card small {
  color: var(--quote-muted);
  font-size: 13px;
  line-height: 1.6;
}

.mode-card > i {
  position: absolute;
  top: 22px;
  left: 22px;
  width: 20px;
  height: 20px;
  border: 1px solid #bdc8cb;
  border-radius: 50%;
}

.mode-card:hover {
  background: #f5f9f9;
}

.mode-card.is-selected {
  background: var(--quote-ink);
  color: #fff;
}

.mode-card.is-selected .mode-symbol { color: #80c8c0; }
.mode-card.is-selected strong { color: #fff; }
.mode-card.is-selected small { color: #bdc9ce; }
.mode-card.is-selected > i { border-color: #80c8c0; background: #80c8c0; box-shadow: inset 0 0 0 5px var(--quote-ink); }

.mode-card input:focus-visible + .mode-symbol,
.project-mode-option input:focus-visible + span {
  outline: 3px solid rgba(62, 142, 132, .45);
  outline-offset: 7px;
}

.project-mode-option {
  position: relative;
  min-height: 74px;
  margin-top: 18px;
  padding: 14px 19px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  border: 1px solid var(--quote-line);
  cursor: pointer;
}

.project-mode-option .project-symbol { flex: 0 0 auto; color: var(--quote-blue); font-size: 38px; font-variation-settings: 'FILL' 0, 'wght' 350, 'GRAD' 0, 'opsz' 40; }
.project-mode-option > i { margin-right: auto; }

.project-mode-option > span { display: grid; gap: 3px; }
.project-mode-option strong { color: var(--quote-ink); font-size: 15px; }
.project-mode-option small { color: var(--quote-muted); font-size: 13px; }
.project-mode-option.is-selected { border-color: var(--quote-teal); background: #edf7f5; }

.wizard-fields {
  display: grid;
  gap: 23px 18px;
}

.wizard-fields.two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field-full { grid-column: 1 / -1; }

.wizard-field {
  min-width: 0;
  display: grid;
  gap: 9px;
}

.wizard-field > span {
  color: var(--quote-ink);
  font-size: 14px;
  font-weight: 650;
}

.wizard-field > span em {
  margin-right: 6px;
  color: var(--quote-teal);
  font-size: 11px;
  font-style: normal;
}

.wizard-field > span small {
  color: #7c8b91;
  font-size: 11px;
  font-weight: 500;
}

.wizard-field input,
.wizard-field select,
.wizard-field textarea {
  width: 100%;
  min-height: 56px;
  padding: 13px 15px;
  border: 1px solid #bfcacd;
  border-radius: 0;
  background: #fff;
  color: var(--quote-ink);
  font: inherit;
  font-size: 16px;
  line-height: 1.6;
  outline: 0;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.wizard-field textarea {
  min-height: 110px;
  resize: vertical;
}

.wizard-field input::placeholder,
.wizard-field textarea::placeholder { color: #89969b; }

.wizard-field input:focus,
.wizard-field select:focus,
.wizard-field textarea:focus {
  border-color: var(--quote-teal);
  box-shadow: 0 0 0 3px rgba(62, 142, 132, .15);
}

.wizard-field [aria-invalid="true"] {
  border-color: var(--quote-error);
  box-shadow: 0 0 0 3px rgba(163, 63, 63, .12);
}

.wizard-field > small {
  color: #718087;
  font-size: 12px;
  line-height: 1.6;
}

.dynamic-shipment-fields {
  margin-top: 28px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(87, 139, 158, .32);
  background: #f4f8f9;
}

.dynamic-shipment-fields h3 {
  margin: 0 0 22px;
  color: var(--quote-ink);
  font-size: 20px;
  font-weight: 700;
}

.wizard-actions {
  margin-top: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.button-primary,
.button-secondary {
  min-height: 54px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 42px;
  border-radius: 0;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.button-primary {
  border: 1px solid var(--quote-ink);
  background: var(--quote-ink);
  color: #fff;
}

.button-primary:hover,
.button-primary:focus-visible {
  border-color: #255e59;
  background: #255e59;
}

.button-secondary {
  border: 1px solid #adb9bd;
  background: transparent;
  color: var(--quote-carbon);
}

.button-secondary:hover,
.button-secondary:focus-visible { border-color: var(--quote-carbon); }

.button-primary:focus-visible,
.button-secondary:focus-visible,
.start-another-quote:focus-visible {
  outline: 3px solid rgba(62, 142, 132, .4);
  outline-offset: 3px;
}

.button-primary:disabled {
  cursor: wait;
  opacity: .66;
}

.lead-summary {
  margin-bottom: 30px;
  padding: clamp(22px, 3vw, 34px);
  display: grid;
  grid-template-columns: minmax(200px, .55fr) minmax(0, 1fr);
  gap: 26px 50px;
  border: 1px solid var(--quote-line);
  background: #f8fafa;
}

.lead-summary p { margin: 0; color: var(--quote-teal); font-size: 12px; font-weight: 700; }
.lead-summary h3 { margin: 8px 0 0; color: var(--quote-ink); font-size: 20px; line-height: 1.55; }
.lead-summary dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 24px; }
.lead-summary dl > div { min-width: 0; }
.lead-summary dt { color: #748389; font-size: 11px; }
.lead-summary dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--quote-ink); font-size: 14px; font-weight: 650; }

.final-action { align-items: stretch; }
.submit-quote { min-width: min(360px, 100%); }
.trust-note { margin: 17px 0 0; color: #65757b; font-size: 13px; line-height: 1.8; }
.privacy-consent { margin: 22px 0 4px; padding: 17px 19px; display: flex; align-items: flex-start; gap: 12px; border: 1px solid var(--quote-line); background: #f8fafa; color: #4d626a; font-size: 13px; line-height: 1.9; cursor: pointer; }
.privacy-consent input { width: 18px; height: 18px; margin: 5px 0 0; flex: 0 0 auto; accent-color: var(--quote-teal); }
.privacy-consent a { color: var(--quote-teal); font-weight: 750; text-underline-offset: 3px; }
.privacy-consent:has(input[aria-invalid="true"]) { border-color: #b74242; background: #fff7f7; }

.quote-success {
  padding: clamp(50px, 7vw, 88px) clamp(26px, 7vw, 94px);
  text-align: center;
}

.success-mark {
  width: 72px;
  height: 72px;
  margin: 0 auto 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(62, 142, 132, .45);
  border-radius: 50%;
  background: #edf7f5;
}

.success-mark svg { width: 40px; fill: none; stroke: var(--quote-teal); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.quote-success > p:first-of-type { margin: 0; color: var(--quote-teal); font-size: 13px; font-weight: 700; }
.quote-success > h2 { margin: 12px 0 18px; color: var(--quote-ink); font-size: clamp(34px, 4.4vw, 56px); line-height: 1.4; }
.quote-success > h2 + p { max-width: 65ch; margin: 0 auto; color: var(--quote-muted); font-size: 16px; line-height: 2; }

.quote-reference {
  width: min(420px, 100%);
  min-height: 86px;
  margin: 34px auto 0;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--quote-line);
  background: #f8fafa;
}

.quote-reference span { color: #718087; font-size: 13px; }
.quote-reference strong { color: var(--quote-ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 20px; direction: ltr; }

.advisor-section {
  margin-top: clamp(48px, 6vw, 72px);
  padding-top: 38px;
  border-top: 1px solid var(--quote-line);
  text-align: right;
}

.advisor-section > div:first-child > p { margin: 0; color: var(--quote-teal); font-size: 12px; font-weight: 700; }
.advisor-section > div:first-child > h3 { margin: 9px 0 0; color: var(--quote-ink); font-size: clamp(20px, 2.5vw, 28px); line-height: 1.6; }
.advisor-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--quote-line); border-right: 1px solid var(--quote-line); }
.advisor-grid article { padding: 24px; border-left: 1px solid var(--quote-line); border-bottom: 1px solid var(--quote-line); }
.advisor-grid article > span { color: #718087; font-size: 12px; }
.advisor-grid h4 { margin: 12px 0 6px; color: var(--quote-ink); font-size: 22px; }
.advisor-grid p { margin: 0; color: var(--quote-muted); font-size: 13px; }
.advisor-grid article > div { margin-top: 20px; display: flex; gap: 10px; }
.advisor-action { min-height: 44px; padding: 9px 14px; display: inline-flex; align-items: center; border: 1px solid #c6d0d3; color: #7c898e; font-size: 13px; }
.advisor-action.is-disabled { cursor: not-allowed; opacity: .72; }
.start-another-quote { min-height: 48px; margin-top: 34px; padding: 10px 18px; display: inline-flex; align-items: center; border-bottom: 2px solid var(--quote-teal); color: var(--quote-ink); font-size: 14px; font-weight: 700; }

.quote-assurance {
  padding: 0 var(--ui-gutter) clamp(84px, 10vw, 142px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: var(--quote-paper);
}

.quote-assurance article {
  min-height: 250px;
  padding: clamp(28px, 4vw, 48px);
  border-top: 1px solid var(--quote-line);
  border-left: 1px solid var(--quote-line);
}

.quote-assurance article:first-child { border-right: 1px solid var(--quote-line); }
.quote-assurance span { color: var(--quote-blue); font-size: 12px; font-weight: 700; }
.quote-assurance h2 { margin: 42px 0 14px; color: var(--quote-carbon); font-size: clamp(21px, 2.1vw, 28px); line-height: 1.55; }
.quote-assurance p { margin: 0; color: var(--quote-muted); font-size: 15px; line-height: 1.9; }

[hidden] { display: none !important; }

.quote-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  pointer-events: none !important;
}

@media (max-width: 1260px) {
  .quote-hero { min-height: 680px; padding-top: 150px; }
}

@media (max-width: 980px) {
  .quote-hero { min-height: auto; padding-top: 152px; grid-template-columns: 1fr; }
  .quote-hero > p:not(.quote-eyebrow) { max-width: 66ch; }
  .transport-mode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-summary { grid-template-columns: 1fr; }
  .quote-assurance { grid-template-columns: 1fr; }
  .quote-assurance article { min-height: 0; border-right: 1px solid var(--quote-line); border-bottom: 1px solid var(--quote-line); }
}

@media (max-width: 700px) {
  .quote-hero {
    min-height: auto;
    padding: 128px 22px 88px;
    gap: 22px;
  }

  .quote-hero h1 { font-size: clamp(42px, 13vw, 60px); line-height: 1.3; }
  .quote-hero > p:not(.quote-eyebrow) { font-size: 16px; }
  .quote-hero ul { display: grid; gap: 12px; }

  .freight-quote-tool {
    width: 100%;
    margin: 0;
    border-right: 0;
    border-left: 0;
    box-shadow: none;
  }

  .quote-tool-header { padding: 26px 22px; display: grid; }
  .quote-tool-header .quote-time-note { width: fit-content; }
  .quote-progress { padding: 22px; }
  .quote-progress ol { display: none; }
  .quote-progress-copy { margin: 14px 0 0; display: flex; justify-content: space-between; color: #59696f; font-size: 13px; }
  .quote-progress-copy strong { color: var(--quote-ink); }
  .wizard-step { padding: 42px 22px 54px; }
  .wizard-step legend { font-size: 32px; line-height: 1.5; }
  .transport-mode-grid { grid-template-columns: 1fr; }
  .mode-card { min-height: 132px; padding: 20px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 22px; }
  .mode-card .mode-symbol { flex: 0 0 auto; font-size: 42px; }
  .mode-card > i { top: 18px; left: 18px; }
  .project-mode-option { align-items: flex-start; }
  .wizard-fields.two-columns { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .wizard-actions { align-items: stretch; }
  .button-primary { flex: 1; gap: 18px; }
  .button-secondary { flex: 0 0 auto; }
  .lead-summary dl { grid-template-columns: 1fr; }
  .final-action { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .submit-quote { min-width: 0; }
  .advisor-grid { grid-template-columns: 1fr; }
  .quote-assurance { padding: 70px 22px 90px; }
}

@media (prefers-reduced-motion: reduce) {
  .wizard-step.is-entering { animation: none; }
  .quote-progress-track span { transition: none; }
}

/* Homepage typography rhythm */
.quote-page{font-family:"NIKCO Body","NIKCO UI",Tahoma,sans-serif;font-weight:400}
.quote-page :where(h1,h2,h3,h4,legend,.quote-eyebrow,.quote-tool-header p,.button-primary,.button-secondary,.nikco-header,.nikco-mega-menu){font-family:"NIKCO UI",Abar,Tahoma,sans-serif}
.quote-page .quote-eyebrow,.quote-page .quote-tool-header p{font-weight:650;letter-spacing:.02em}
.quote-page .quote-hero h1{font-weight:800;line-height:1.44;letter-spacing:-.035em;text-wrap:balance}
.quote-page :is(.quote-tool-header h2,.quote-success>h2,.quote-assurance h2){font-weight:700;line-height:1.34;letter-spacing:-.02em;text-wrap:balance}
.quote-page :is(.dynamic-shipment-fields h3,.lead-summary h3,.advisor-section h3){font-weight:700;line-height:1.35;letter-spacing:-.015em;text-wrap:balance}
.quote-page .wizard-step legend{font-weight:700;line-height:1.38;letter-spacing:-.02em;text-wrap:balance}
@media(max-width:700px){.quote-page .quote-hero h1{font-size:clamp(36px,10.45vw,46px);line-height:1.42}.quote-page .wizard-step legend{line-height:1.4}}

/* A short first step, with the calling code always on the left. */
.quote-success-contacts { margin-top: 32px; text-align: start; }
.quote-success-contacts > h3 { margin: 0 0 8px; font-size: 24px; color: var(--quote-ink); }
.quote-success-contacts > p { margin: 0; color: var(--quote-muted); font-size: 14px; line-height: 1.8; }
.quote-contact-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.quote-contact-cards article { padding: 24px; border: 1px solid var(--quote-line); border-radius: 10px; background: #f8fafa; }
.quote-contact-kicker { color: #52666f; font-size: 12px; }
.quote-contact-cards h4 { margin: 10px 0 18px; font-size: 18px; color: var(--quote-ink); }
.quote-contact-number { display: block; direction: ltr; text-align: start; white-space: nowrap; color: var(--quote-ink); font-size: clamp(18px,2.2vw,24px); font-weight: 650; }
.quote-contact-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.quote-contact-buttons a { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 10px 14px; border: 1px solid #afbec3; border-radius: 6px; color: var(--quote-ink); font-size: 13px; text-decoration: none; transition: background-color 150ms; }
.quote-contact-buttons .quote-contact-primary { background: var(--quote-ink); border-color: var(--quote-ink); color: white; }
.quote-contact-buttons a:hover { background: #dce9eb; color: var(--quote-ink); }
.quote-contact-buttons a:focus-visible { outline: 2px solid var(--quote-ink); outline-offset: 3px; }
@media(max-width:700px) { .quote-contact-cards { grid-template-columns: 1fr; } .quote-contact-cards article { padding: 20px; } }
.quote-page .quote-hero { min-height: 0; padding-top: 150px; padding-bottom: 76px; gap: 20px 48px; }
.quote-page .quote-hero h1 { max-width: 22ch; font-size: clamp(32px, 3.8vw, 54px); }
.quote-page .quote-hero > p:not(.quote-eyebrow) { font-size: 15px; line-height: 1.85; }
.quote-page .quote-hero ul { display: none; }
.quote-page .freight-quote-tool { width: min(920px, calc(100% - 40px)); min-height: 0; margin: -32px auto 64px; box-shadow: 0 12px 36px rgba(7,25,35,.07); }
.quote-page .quote-tool-header { padding: 24px 32px; align-items: center; }
.quote-page .quote-tool-header h2 { font-size: 23px; }
.quote-page .quote-progress { padding: 20px 32px; }
.quote-page .wizard-step { padding: 32px; }
.quote-page .wizard-step legend { font-size: clamp(24px, 3vw, 32px); }
.quote-page .quote-contact-step > legend { padding-top: 24px; }
.quote-page .wizard-context { margin-bottom: 24px; font-size: 15px; }
.quote-phone-block { max-width: 540px; }
.quote-phone-label { display: block; margin-bottom: 10px; font-weight: 650; font-size: 15px; }
.quote-phone-row { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 8px; direction: ltr; }
.quote-phone-row .wizard-field { min-width: 0; margin: 0; }
.quote-page .quote-phone-row :is(input,select) { width: 100%; min-width: 0; height: 56px; padding: 12px; margin: 0; direction: ltr; text-align: left; font-size: 18px; border-radius: 6px; }
.quote-page .quote-phone-row select { padding-inline-end: 26px; cursor: pointer; font-size: 16px; }
.quote-phone-block > small { display: block; margin-top: 8px; color: var(--quote-muted); font-size: 13px; line-height: 1.8; }
.quote-contact-note { margin: 24px 0 0; color: var(--quote-muted); font-size: 13px; line-height: 1.9; max-width: 58ch; }
.quote-custom-code { max-width: 240px; margin-top: 16px; }
.quote-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.quote-page .quote-contact-step .wizard-actions { margin-top: 24px; }
.quote-page .button-primary { min-height: 48px; border-radius: 6px; }
.quote-page .transport-mode-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.quote-page .mode-card { min-height: 92px; padding: 16px 12px; gap: 10px; align-items: center; flex-direction: row; }
.quote-page .mode-card .mode-symbol { font-size: 26px; }
.quote-page .mode-card strong { font-size: 15px; }
.quote-page .mode-card small { display: none; }
.quote-page .mode-card > i { display: none; }
.quote-page .mode-card:focus-within { outline: 2px solid var(--quote-ink); outline-offset: 3px; }
.quote-page .project-mode-option { padding: 16px; margin-bottom: 24px; }
.quote-page .project-mode-option small { display: none; }
.quote-final-contact { max-width: 540px; margin-top: 24px; }
.quote-page .privacy-consent { margin-top: 24px; font-size: 13px; line-height: 1.9; }
@media(max-width:700px) {
  .quote-page .quote-hero { padding: 112px 20px 60px; gap: 16px; }
  .quote-page .quote-hero h1 { font-size: 32px; }
  .quote-page .freight-quote-tool { width: calc(100% - 24px); margin-bottom: 32px; border: 1px solid var(--quote-line); }
  .quote-page .quote-tool-header { padding: 20px; gap: 10px; }
  .quote-page .quote-tool-header h2 { font-size: 20px; }
  .quote-page .quote-tool-header .quote-time-note { display: none; }
  .quote-page .quote-progress { padding: 16px 20px; }
  .quote-page .wizard-step { padding: 24px 20px; }
  .quote-page .wizard-step legend { font-size: 24px; }
  .quote-phone-row { grid-template-columns: 88px minmax(0,1fr); }
  .quote-page .quote-phone-row :is(input,select) { padding-inline-start: 10px; font-size: 16px; }
  .quote-page .transport-mode-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quote-page .mode-card { min-height: 72px; gap: 8px; }
  .quote-page .project-mode-option strong { font-size: 14px; }
  .quote-page .quote-contact-step .button-primary { width: 100%; justify-content: center; }
}
