/* Freight service: shares the established Cam's Services palette and type. */
.freight-hero { background: var(--navy); color: white; padding: 36px 0 78px; position: relative; overflow: hidden; }
.freight-hero::before { background: radial-gradient(ellipse at 90% 25%, rgba(143,198,47,.09), transparent 55%); content: ''; position: absolute; inset: 0; pointer-events: none; }
.freight-hero .container { position: relative; }
.freight-hero .breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 50px; font-size: .75rem; }
.freight-hero-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.85fr); gap: clamp(36px,6vw,88px); align-items: center; }
.freight-hero h1 { font-size: clamp(2.75rem,5.5vw,4.75rem); margin: 20px 0 24px; line-height: 1.09; }
.freight-hero h1 span { color: var(--green); }
.freight-hero-copy > p { color: #cbd7e1; font-size: 1.0625rem; max-width: 650px; }
.freight-hero-detail { color: #d6e3cc; display: inline-flex; align-items: center; gap: 18px; margin-top: 30px; font-size: .8125rem; text-decoration: underline; text-underline-offset: 5px; }
.freight-route-board { border: 1px solid #38506a; background: #10263c; padding: clamp(26px,3vw,40px); border-radius: 24px; position: relative; box-shadow: 0 22px 60px rgba(0,0,0,.2); }
.freight-board-top { color: #b5c7d7; display: flex; align-items: center; justify-content: space-between; font-size: .6875rem; text-transform: uppercase; letter-spacing: .17em; font-weight: 700; }
.freight-board-top svg { width: 40px; height: 40px; color: var(--green); }
.freight-route-board h2 { font-size: clamp(2rem,3.3vw,3rem); line-height: 1.1; margin-top: 20px; }
.freight-route-stops { margin: 30px 0; }
.freight-route-stops > div { display: flex; gap: 18px; align-items: flex-start; position: relative; padding-bottom: 27px; }
.freight-route-stops > div:first-child::before { content: ''; position: absolute; border-left: 2px dashed #607553; left: 7px; top: 18px; bottom: -3px; }
.freight-route-stops > div:last-child { padding-bottom: 0; }
.freight-stop-dot { display: block; flex: 0 0 16px; width: 16px; height: 16px; border: 4px solid var(--green); border-radius: 50%; margin-top: 4px; }
.freight-stop-dot.end { border-radius: 3px; background: var(--green); }
.freight-route-stops small { display: block; color: var(--green); font-size: .6875rem; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 7px; }
.freight-route-stops strong { font-family: Manrope,sans-serif; font-size: 1.0625rem; }
.freight-route-stops p { color: #b5c7d7; font-size: .8125rem; margin: 5px 0 0; }
.freight-board-note { border-top: 1px solid #38506a; display: flex; align-items: center; gap: 16px; padding-top: 20px; }
.freight-board-note > span { color: var(--green); font-size: 1.75rem; }
.freight-board-note p { color: #c5d3df; font-size: .8125rem; line-height: 1.5; margin: 0; }
.freight-jump-nav { border-bottom: 1px solid var(--line); background: white; }
.freight-jump-nav .container { display: flex; flex-wrap: wrap; gap: 14px 35px; padding-block: 20px; }
.freight-jump-nav a { font-size: .8125rem; font-weight: 700; padding: 8px 0; }
.freight-jump-nav a:hover { color: #466e13; text-decoration: underline; text-underline-offset: 5px; }
.freight-route-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-block: 1px solid #cbd4ce; }
.freight-route-option { padding: 35px 40px 35px 0; }
.freight-route-option + .freight-route-option { border-left: 1px solid #cbd4ce; padding-left: 40px; padding-right: 0; }
.freight-section-number { font-size: .6875rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #4b6b20; display: block; }
.freight-route-option h3 { margin: 19px 0 14px; font-size: 1.75rem; }
.freight-route-option p { color: #556577; margin: 0; }
.freight-load-list { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 70px; margin-top: 65px; }
.freight-load-list h3 { margin: 15px 0; font-size: 1.625rem; }
.freight-load-list p { color: #556577; max-width: 430px; margin-bottom: 0; }
.freight-load-list ul { margin: 0; padding: 0; list-style: none; }
.freight-load-list li { padding: 0 0 19px; margin-bottom: 19px; border-bottom: 1px solid #d2dacf; }
.freight-load-list li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.freight-load-list strong, .freight-load-list span { display: block; }
.freight-load-list strong { font-family: Manrope,sans-serif; font-size: 1rem; }
.freight-load-list span { color: #556577; font-size: .9375rem; line-height: 1.65; margin-top: 5px; }
.freight-compliance-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.12fr); gap: clamp(40px,7vw,95px); align-items: start; }
.freight-compliance-intro h2 { margin: 17px 0 25px; }
.freight-compliance-intro > p { color: #556577; }
.freight-guidance-note { background: #f2f5ed; border-left: 3px solid var(--green); padding: 24px; margin-top: 30px; }
.freight-guidance-note strong { font-family: Manrope,sans-serif; font-size: .9375rem; }
.freight-guidance-note p { color: #4c5d4b; margin: 10px 0 0; font-size: .875rem; }
.freight-requirements article { border-bottom: 1px solid var(--line); padding-bottom: 28px; margin-bottom: 30px; }
.freight-requirements article:last-child { margin-bottom: 0; padding-bottom: 0; border: 0; }
.freight-requirements h3 { font-size: 1.375rem; line-height: 1.25; margin: 14px 0; }
.freight-requirements p { color: #556577; font-size: .9375rem; margin: 10px 0 0; }
.freight-requirements p a { text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.freight-insurance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.freight-insurance-item { border-top: 1px solid #3b4c60; padding-top: 25px; }
.freight-insurance-item .freight-section-number { color: var(--green); }
.freight-insurance-item h3 { font-size: 1.5rem; line-height: 1.25; margin: 18px 0; }
.freight-insurance-item p { color: #bbcad6; font-size: .9375rem; margin-bottom: 0; }
.freight-coi-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 60px; background: #122b42; padding: 35px; border: 1px solid #3b4c60; border-radius: 18px; margin-top: 50px; }
.freight-coi-panel h3 { font-size: 1.5rem; line-height: 1.25; margin: 16px 0 12px; }
.freight-coi-panel p { color: #bbcad6; font-size: .875rem; margin: 0; }
.freight-coi-panel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; align-content: center; }
.freight-coi-panel li { display: flex; gap: 12px; color: #d3dfe9; font-size: .875rem; line-height: 1.55; }
.freight-coi-panel li::before { content: '✓'; color: var(--green); font-weight: 700; }
.freight-request-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(40px,7vw,100px); align-items: start; }
.freight-request-copy h2 { margin: 17px 0 24px; }
.freight-request-copy > p { color: #556577; }
.freight-request-copy .page-hero-actions { align-items: center; gap: 22px; }
.freight-request-copy .freight-request-note { font-size: .8125rem; margin-top: 22px; max-width: 440px; }
.freight-request-checklist { list-style: none; padding: 0; margin: 0; display: grid; }
.freight-request-checklist li { border-bottom: 1px solid #cbd4ce; display: flex; align-items: flex-start; gap: 22px; padding: 22px 0; }
.freight-request-checklist li:first-child { padding-top: 0; }
.freight-request-checklist li:last-child { border: 0; padding-bottom: 0; }
.freight-request-checklist li > span { font-family: Manrope,sans-serif; font-weight: 800; font-size: .875rem; color: #476820; padding-top: 2px; }
.freight-request-checklist h3 { font-size: 1.125rem; line-height: 1.3; }
.freight-request-checklist p { color: #556577; font-size: .9375rem; margin: 8px 0 0; }
.freight-faq .faq-list { max-width: 950px; }
.freight-faq .faq-list summary { font-size: 1rem; line-height: 1.5; }
.freight-faq .faq-list details p { font-size: .9375rem; }
.freight-sources { border-top: 1px solid var(--line); margin-top: 55px; padding-top: 28px; max-width: 950px; }
.freight-sources h3 { font-size: 1.125rem; }
.freight-sources p { color: #556577; font-size: .875rem; }
.freight-sources ul { list-style: none; padding: 0; margin: 18px 0; display: flex; flex-wrap: wrap; gap: 14px 26px; }
.freight-sources a { font-size: .8125rem; color: #405c1f; text-decoration: underline; text-underline-offset: 4px; line-height: 1.7; }
.freight-sources .freight-source-note { font-size: .8125rem; }
.freight-home-feature { margin-top: 24px; background: var(--navy); border-radius: 18px; padding: 32px; color: white; display: flex; align-items: center; gap: 26px; }
.freight-home-icon { width: 62px; height: 62px; flex: 0 0 62px; background: #213827; border-radius: 16px; display: grid; place-items: center; color: var(--green); }
.freight-home-icon svg { width: 36px; height: 36px; }
.freight-home-feature h3 { font-size: 1.5625rem; line-height: 1.2; }
.freight-home-feature p { font-size: .875rem; color: #c3d1dc; margin: 9px 0 0; max-width: 670px; }
.freight-home-feature .text-link { flex: 0 0 auto; color: var(--green); margin-left: auto; }
@media (max-width: 900px) {
  .freight-hero-grid { grid-template-columns: minmax(0,1fr); }
  .freight-route-board { max-width: 540px; }
  .freight-hero { padding-bottom: 64px; }
  .freight-hero h1 { font-size: clamp(2.75rem,7vw,4.75rem); }
  .freight-compliance-layout, .freight-request-layout { grid-template-columns: minmax(0,1fr); }
  .freight-compliance-intro { max-width: 720px; }
  .freight-insurance-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .freight-insurance-item h3 { margin-block: 12px; }
  .freight-coi-panel { gap: 30px; }
  .freight-home-feature { flex-wrap: wrap; }
  .freight-home-feature > div { flex: 1 1 320px; }
  .freight-home-feature .text-link { margin-left: 88px; }
}
@media (max-width: 620px) {
  .freight-hero { padding-top: 27px; }
  .freight-hero .breadcrumbs { margin-bottom: 35px; font-size: .6875rem; }
  .freight-hero h1 { font-size: clamp(2.35rem,10.7vw,3.9rem); }
  .freight-hero-copy > p { font-size: 1rem; }
  .freight-hero .page-hero-actions { align-items: stretch; flex-direction: column; }
  .freight-jump-nav .container { gap: 6px 24px; }
  .freight-jump-nav a { font-size: .75rem; }
  .freight-route-options, .freight-load-list, .freight-coi-panel { grid-template-columns: minmax(0,1fr); }
  .freight-route-option { padding: 28px 0; }
  .freight-route-option + .freight-route-option { border-left: 0; border-top: 1px solid #cbd4ce; padding: 28px 0; }
  .freight-load-list { gap: 28px; margin-top: 40px; }
  .freight-coi-panel { padding: 25px; }
  .freight-home-feature { padding: 26px; gap: 20px; }
  .freight-home-feature .text-link { margin-left: 0; }
}
html[data-text-size="200"] :is(.freight-hero-grid,.freight-route-options,.freight-load-list,.freight-compliance-layout,.freight-insurance-grid,.freight-coi-panel,.freight-request-layout) { grid-template-columns: minmax(0,1fr); }
html:not([data-text-size="100"]) :is(.freight-hero,.freight-home-feature,.freight-route-options,.freight-request-layout,.freight-compliance-layout,.freight-insurance-grid,.freight-coi-panel) { overflow-wrap: anywhere; }
html[data-text-size="200"] .freight-route-option + .freight-route-option { border-left: 0; padding-left: 0; border-top: 1px solid #cbd4ce; }

/* Shipment inquiry notice and registration status. */
.freight-launch-notice { background: #182e42; border: 1px solid #9bae66; border-left: 4px solid var(--green); border-radius: 12px; padding: 18px 20px; margin-bottom: 24px; }
.freight-launch-notice strong { color: #d5f29e; font-size: 1rem; }
.freight-launch-notice p { color: #d9e3eb; font-size: .875rem; line-height: 1.65; margin: 8px 0 0; }
.freight-registration { background: #fff; }
.freight-registration-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 0 0 24px; }
.freight-registration-grid > div { background: #f5f7f1; border: 1px solid #d4dccb; border-radius: 16px; padding: 25px; }
.freight-registration-grid dt { color: #526171; font-size: .8125rem; font-weight: 700; }
.freight-registration-grid dd { margin: 13px 0 0; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.freight-registration-grid strong { display: block; font-family: Manrope,sans-serif; font-size: clamp(1.4rem,2.6vw,2rem); overflow-wrap: anywhere; }
.freight-registration-status { display: inline-block; border-radius: 99px; padding: 6px 11px; color: #355713; background: #e3efcc; font-size: .75rem; font-weight: 700; margin-top: 0; }
.freight-registration-status.pending { color: #70440d; background: #f7e9ca; }
.freight-registration-context { font-size: .875rem; color: #526171; max-width: 1030px; margin: 12px 0 0; }
.freight-contact-notice { border-left: 3px solid #739d25; background: #f1f6e8; color: #385020; padding: 16px; margin: 0 0 24px; font-size: .875rem; }
.freight-contact-notice strong { display: block; margin-bottom: 5px; }
@media (max-width: 720px) { .freight-registration-grid { grid-template-columns: minmax(0,1fr); } }
html[data-text-size="200"] .freight-registration-grid { grid-template-columns: minmax(0,1fr); }
