/*
 Theme Name:   Cargofusion Child
 Theme URI:    https://cargofusion.net
 Description:  Cargofusion Child Theme for Hello Elementor — v3.0 FINAL
 Author:       Cargofusion LLC
 Template:     hello-elementor
 Version:      3.0.1
 Text Domain:  cargofusion-child
*/

/* ============================================================
   CARGOFUSION BRAND PALETTE v3.0 — CONFIRMED FINAL
   All values confirmed from designer's original vector file.
   Last updated: May 2026

   TO UPDATE ANY COLOR: change the value here — it updates
   everywhere on the site automatically.

   ── CONFIRMED BRAND HEX CODES ──────────────────────────────
   Industrial Orange   #FF7A00   FUSION, arc, nodes, CTAs
   Titanium Grey       #D9D9D9   CARGO wordmark (dark bg)
   Network Grey        #A6A6A6   Network lines, secondary nodes
   Dark Charcoal       #151515   Primary dark bg, header, footer
   Tagline Grey        #707070   SOURCE SHARP. SHIP RIGHT.
   ============================================================ */
:root {

  /* PRIMARY ORANGE — confirmed #FF7A00                    */
  --cf-orange:           #FF7A00;   /* Industrial Orange — FUSION, nodes, arc */
  --cf-orange-hover:     #FF9533;   /* Hover — lightened 15%                  */
  --cf-orange-dim:       #CC6200;   /* Pressed — darkened 15%                 */
  --cf-orange-glow:      rgba(255,122,0,0.35);

  /* CONFIRMED GREY TONES                                  */
  --cf-grey-cargo:       #D9D9D9;   /* Titanium Grey — CARGO wordmark         */
  --cf-grey-network:     #A6A6A6;   /* Network Grey — dome lines, nodes       */
  --cf-grey-tagline:     #707070;   /* Tagline Grey — SOURCE SHARP. SHIP RIGHT*/

  /* CONFIRMED DARK BACKGROUNDS                            */
  --cf-black:            #151515;   /* Dark Charcoal — primary bg             */
  --cf-black-soft:       #1C1C1C;   /* Derived — slightly lighter panels      */
  --cf-black-card:       #242424;   /* Derived — cards on dark bg             */
  --cf-black-border:     #2E2E2E;   /* Derived — borders on dark bg           */

  /* LIGHT (content body sections)                        */
  --cf-white:            #FFFFFF;
  --cf-off-white:        #F5F5F5;
  --cf-light-bg:         #EEEEEE;
  --cf-light-border:     #DDDDDD;

  /* TEXT                                                  */
  --cf-text-dark:        #1A1A1A;
  --cf-text-mid:         #555555;
  --cf-text-light:       #707070;   /* Matches confirmed Tagline Grey         */
  --cf-text-white:       #FFFFFF;
  --cf-text-muted:       rgba(255,255,255,0.62);

  /* TYPOGRAPHY                                            */
  --cf-font-head:        'Barlow', 'Segoe UI', sans-serif;
  --cf-font-body:        'Inter', 'Segoe UI', sans-serif;

  /* SHAPE — sharp, angular to match brand precision       */
  --cf-radius:           2px;

  /* SHADOWS — updated rgba to match #FF7A00              */
  --cf-shadow-sm:        0 1px 4px  rgba(0,0,0,0.28);
  --cf-shadow-md:        0 4px 16px rgba(0,0,0,0.38);
  --cf-shadow-lg:        0 8px 32px rgba(0,0,0,0.48);
  --cf-shadow-orange:    0 4px 20px rgba(255,122,0,0.35);
  --cf-shadow-orange-lg: 0 8px 32px rgba(255,122,0,0.45);
}

/* ============================================================
   BASE RESET
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--cf-font-body);
  color: var(--cf-text-dark);
  background: var(--cf-white);
  -webkit-font-smoothing: antialiased;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6,
.elementor-heading-title {
  font-family: var(--cf-font-head);
  font-weight: 700;
  color: var(--cf-text-dark);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
.cf-dark h1,.cf-dark h2,.cf-dark h3,
.cf-dark h4,.cf-dark h5,.cf-dark h6,
.cf-dark .elementor-heading-title { color: var(--cf-text-white); }

h1,.cf-h1 { font-size: clamp(2rem,4vw,3.2rem); }
h2,.cf-h2 { font-size: clamp(1.5rem,3vw,2.2rem); }
h3,.cf-h3 { font-size: clamp(1.2rem,2vw,1.5rem); }

p { font-family:var(--cf-font-body); font-size:1rem; line-height:1.75; color:var(--cf-text-mid); }
.cf-dark p { color: var(--cf-text-muted); }

a { color:var(--cf-orange); text-decoration:none; transition:color .2s ease; }
a:hover { color:var(--cf-orange-hover); }

.cf-highlight { color:var(--cf-orange); font-weight:700; }

.cf-eyebrow {
  font-family: var(--cf-font-head);
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--cf-orange);
  display: block;
  margin-bottom: .875rem;
}

/* ============================================================
   HEADER & NAV
   ============================================================ */
.site-header,
header.elementor-section {
  background: var(--cf-black) !important;
  border-bottom: 3px solid var(--cf-orange) !important;
  position: sticky; top:0; z-index:1000;
  box-shadow: 0 2px 20px rgba(0,0,0,.55);
}
.elementor-nav-menu a,
.elementor-nav-menu .elementor-item {
  font-family: var(--cf-font-head) !important;
  font-weight: 600 !important;
  font-size: .8125rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--cf-text-white) !important;
  transition: color .2s ease !important;
  padding: .5rem .75rem !important;
}
.elementor-nav-menu a:hover,
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active {
  color: var(--cf-orange) !important;
}
.elementor-nav-menu .elementor-item.elementor-item-active {
  border-bottom: 2px solid var(--cf-orange) !important;
}
.elementor-menu-toggle i { color:var(--cf-text-white) !important; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
footer.elementor-section {
  background: var(--cf-black) !important;
  border-top: 3px solid var(--cf-orange) !important;
}
.site-footer p,
footer .elementor-widget-text-editor p { color:var(--cf-text-muted) !important; font-size:.875rem !important; }
.site-footer a, footer a { color:var(--cf-orange) !important; }
.site-footer a:hover, footer a:hover { color:var(--cf-orange-hover) !important; }
.site-footer h3,.site-footer h4, footer h3, footer h4 {
  color:var(--cf-text-white) !important;
  font-size:.75rem !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  font-family:var(--cf-font-head) !important;
  margin-bottom:1rem !important;
}
.cf-footer-legal {
  border-top: 1px solid var(--cf-black-border);
  padding-top: 1.25rem; margin-top: 1.25rem;
}
.cf-footer-legal p {
  font-size:.75rem !important;
  color:rgba(255,255,255,.3) !important;
  letter-spacing:.04em;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.cf-btn-primary,
a.cf-btn-primary,
.elementor-button.cf-btn-primary {
  background: var(--cf-orange) !important;
  color: var(--cf-white) !important;
  font-family:var(--cf-font-head) !important;
  font-weight:700 !important; font-size:.875rem !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  border:none !important; border-radius:var(--cf-radius) !important;
  padding:14px 36px !important; cursor:pointer !important;
  display:inline-block;
  transition:background .2s, transform .15s, box-shadow .2s !important;
  box-shadow:var(--cf-shadow-orange) !important;
}
.cf-btn-primary:hover,
a.cf-btn-primary:hover,
.elementor-button.cf-btn-primary:hover {
  background:var(--cf-orange-hover) !important;
  transform:translateY(-1px) !important;
  box-shadow:var(--cf-shadow-orange-lg) !important;
}

.cf-btn-secondary,
a.cf-btn-secondary,
.elementor-button.cf-btn-secondary {
  background:transparent !important;
  color:var(--cf-white) !important;
  font-family:var(--cf-font-head) !important;
  font-weight:700 !important; font-size:.875rem !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  border:2px solid rgba(255,255,255,.35) !important;
  border-radius:var(--cf-radius) !important;
  padding:12px 34px !important; cursor:pointer !important;
  display:inline-block;
  transition:border-color .2s, color .2s !important;
}
.cf-btn-secondary:hover,
a.cf-btn-secondary:hover {
  border-color:var(--cf-orange) !important;
  color:var(--cf-orange) !important;
}

/* ============================================================
   SECTION UTILITIES
   ============================================================ */
.cf-dark, .cf-section-dark    { background:var(--cf-black) !important; }
.cf-section-dark-soft          { background:var(--cf-black-soft) !important; }
.cf-section-white              { background:var(--cf-white) !important; }
.cf-section-light              { background:var(--cf-off-white) !important; }
.cf-border-top-orange          { border-top:4px solid var(--cf-orange) !important; }

.cf-border-left-orange {
  border-left:4px solid var(--cf-orange) !important;
  background:rgba(255,122,0,.06) !important;
  padding:1.25rem 1.5rem !important;
  border-radius:0 var(--cf-radius) var(--cf-radius) 0 !important;
}

/* ============================================================
   TEXT UTILITIES
   ============================================================ */
.cf-text-orange { color:var(--cf-orange) !important; }
.cf-text-white  { color:var(--cf-white) !important; }
.cf-text-grey   { color:var(--cf-grey-cargo) !important; }
.cf-text-muted  { color:var(--cf-text-muted) !important; }

/* ============================================================
   DIVIDER
   ============================================================ */
.cf-divider { width:48px; height:3px; background:var(--cf-orange); margin:1rem 0 1.5rem; border-radius:1px; }
.cf-divider-center { margin-left:auto; margin-right:auto; }

/* ============================================================
   HERO
   ============================================================ */
.cf-hero {
  background:var(--cf-black);
  padding:7rem 2rem 5.5rem;
  position:relative; overflow:hidden;
}
.cf-hero::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:3px; background:var(--cf-orange); z-index:2;
}
.cf-hero::after {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background:radial-gradient(circle at 72% 38%, rgba(255,122,0,.07) 0%, transparent 58%);
  pointer-events:none;
}
.cf-hero h1 { color:var(--cf-white); font-size:clamp(2.4rem,5vw,3.8rem); max-width:720px; position:relative; z-index:1; }
.cf-hero h1 .grey   { color:var(--cf-grey-cargo); }
.cf-hero h1 .orange { color:var(--cf-orange); }
.cf-hero p { color:var(--cf-text-muted); font-size:1.125rem; max-width:580px; margin:1.375rem 0 2.5rem; line-height:1.8; position:relative; z-index:1; }
.cf-hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; position:relative; z-index:1; }

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.cf-service-card {
  background:var(--cf-white);
  border:1px solid var(--cf-light-border);
  border-top:4px solid var(--cf-orange);
  border-radius:var(--cf-radius);
  padding:2.25rem 2rem;
  height:100%;
  transition:box-shadow .25s, transform .2s;
}
.cf-service-card:hover { box-shadow:var(--cf-shadow-orange); transform:translateY(-3px); }
.cf-service-card h3 { color:var(--cf-text-dark); margin-bottom:.75rem; font-size:1.1875rem; }
.cf-service-card p  { color:var(--cf-text-mid); font-size:.9375rem; line-height:1.7; }

.cf-service-card-dark {
  background:var(--cf-black-card);
  border:1px solid var(--cf-black-border);
  border-top:4px solid var(--cf-orange);
  border-radius:var(--cf-radius);
  padding:2.25rem 2rem; height:100%;
  transition:box-shadow .25s, transform .2s;
}
.cf-service-card-dark:hover { box-shadow:var(--cf-shadow-orange); transform:translateY(-3px); }
.cf-service-card-dark h3 { color:var(--cf-white); margin-bottom:.75rem; }
.cf-service-card-dark p  { color:var(--cf-text-muted); font-size:.9375rem; }

/* ============================================================
   MARKET CARDS
   ============================================================ */
.cf-market-card {
  background:var(--cf-black-card);
  border:1px solid var(--cf-black-border);
  border-radius:var(--cf-radius);
  padding:1.75rem 1.25rem; text-align:center;
  transition:background .2s, border-color .2s, transform .2s;
  cursor:pointer;
}
.cf-market-card:hover { background:rgba(255,122,0,.1); border-color:var(--cf-orange); transform:translateY(-2px); }
.cf-market-card .flag { font-size:2.25rem; display:block; margin-bottom:.875rem; }
.cf-market-card h4 { color:var(--cf-white); font-size:.875rem; margin:0 0 .4rem; font-family:var(--cf-font-head); text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.cf-market-card p  { color:var(--cf-text-muted); font-size:.8125rem; margin:0; line-height:1.5; }

/* ============================================================
   TRUST PILLARS
   ============================================================ */
.cf-pillar { text-align:center; padding:2rem 1.5rem; }
.cf-pillar-icon {
  width:60px; height:60px;
  background:rgba(255,122,0,.1);
  border:2px solid var(--cf-orange);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.375rem; font-size:1.5rem;
  transition:background .2s;
}
.cf-pillar:hover .cf-pillar-icon { background:rgba(255,122,0,.22); }
.cf-pillar h3 { color:var(--cf-white); font-size:1rem; margin-bottom:.5rem; }
.cf-pillar p  { color:var(--cf-text-muted); font-size:.9rem; max-width:240px; margin:0 auto; }

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.cf-step { display:flex; gap:1.375rem; margin-bottom:2rem; align-items:flex-start; }
.cf-step-num {
  flex-shrink:0; width:42px; height:42px;
  background:var(--cf-orange); color:var(--cf-white);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--cf-font-head); font-weight:700; font-size:1rem;
  box-shadow:var(--cf-shadow-orange);
}
.cf-step-content h4 { color:var(--cf-text-dark); margin:0 0 .3rem; font-size:1rem; font-weight:700; }
.cf-step-content p  { color:var(--cf-text-mid); font-size:.9375rem; margin:0; line-height:1.65; }
.cf-dark .cf-step-content h4 { color:var(--cf-white); }
.cf-dark .cf-step-content p  { color:var(--cf-text-muted); }

/* ============================================================
   STATS
   ============================================================ */
.cf-stat { text-align:center; padding:1.75rem 1rem; border-right:1px solid var(--cf-black-border); }
.cf-stat:last-child { border-right:none; }
.cf-stat-value { font-family:var(--cf-font-head); font-size:2.75rem; font-weight:800; color:var(--cf-orange); display:block; line-height:1; margin-bottom:.5rem; }
.cf-stat-label { font-size:.75rem; color:var(--cf-text-muted); text-transform:uppercase; letter-spacing:.1em; font-family:var(--cf-font-head); font-weight:600; }

/* ============================================================
   WPFORMS
   ============================================================ */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container select,
.wpforms-container textarea {
  font-family:var(--cf-font-body) !important;
  border:1px solid var(--cf-light-border) !important;
  border-radius:var(--cf-radius) !important;
  padding:.8125rem 1rem !important;
  font-size:.9375rem !important;
  color:var(--cf-text-dark) !important;
  background:var(--cf-white) !important;
  width:100% !important;
  transition:border-color .2s, box-shadow .2s !important;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color:var(--cf-orange) !important;
  box-shadow:0 0 0 3px rgba(255,122,0,.15) !important;
  outline:none !important;
}
.cf-dark .wpforms-container input,
.cf-dark .wpforms-container select,
.cf-dark .wpforms-container textarea {
  background:var(--cf-black-card) !important;
  border-color:var(--cf-black-border) !important;
  color:var(--cf-white) !important;
}
.wpforms-container .wpforms-submit {
  background:var(--cf-orange) !important;
  color:var(--cf-white) !important;
  font-family:var(--cf-font-head) !important;
  font-weight:700 !important; letter-spacing:.1em !important;
  text-transform:uppercase !important;
  border:none !important; border-radius:var(--cf-radius) !important;
  padding:14px 40px !important; font-size:.875rem !important;
  cursor:pointer !important;
  box-shadow:var(--cf-shadow-orange) !important;
  transition:background .2s, box-shadow .2s !important;
}
.wpforms-container .wpforms-submit:hover {
  background:var(--cf-orange-hover) !important;
  box-shadow:var(--cf-shadow-orange-lg) !important;
}
.wpforms-field-label {
  font-family:var(--cf-font-head) !important;
  font-size:.8125rem !important; font-weight:600 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
  color:var(--cf-text-dark) !important; margin-bottom:.375rem !important;
}
.cf-dark .wpforms-field-label { color:var(--cf-grey-cargo) !important; }

/* ============================================================
   CTA STRIP
   ============================================================ */
.cf-cta-strip {
  background:var(--cf-black);
  padding:5rem 2rem; text-align:center;
  border-top:4px solid var(--cf-orange);
  position:relative; overflow:hidden;
}
.cf-cta-strip::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center, rgba(255,122,0,.08) 0%, transparent 65%);
  pointer-events:none;
}
.cf-cta-strip h2 { color:var(--cf-white); margin-bottom:1rem; position:relative; z-index:1; }
.cf-cta-strip p  { color:var(--cf-text-muted); max-width:560px; margin:0 auto 2.25rem; font-size:1.0625rem; position:relative; z-index:1; }

/* ============================================================
   BLOG CARDS
   ============================================================ */
.cf-post-card { background:var(--cf-white); border:1px solid var(--cf-light-border); border-radius:var(--cf-radius); overflow:hidden; transition:box-shadow .25s, transform .2s; }
.cf-post-card:hover { box-shadow:var(--cf-shadow-orange); transform:translateY(-2px); }
.cf-post-card-inner { padding:1.5rem; }
.cf-post-card-meta { font-size:.75rem; color:var(--cf-text-light); text-transform:uppercase; letter-spacing:.08em; font-family:var(--cf-font-head); margin-bottom:.5rem; }
.cf-post-card-category { color:var(--cf-orange); font-weight:700; }

/* ============================================================
   WHATSAPP FLOAT
   ============================================================ */
.cf-whatsapp-float {
  position:fixed; bottom:24px; right:24px; z-index:9999;
  background:#25D366; color:white;
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,.5);
  transition:transform .2s, box-shadow .2s;
  text-decoration:none;
}
.cf-whatsapp-float:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,.65); color:white; }

/* ============================================================
   SECTION PADDING HELPERS
   ============================================================ */
.cf-pad    { padding:5rem 0; }
.cf-pad-sm { padding:3rem 0; }
.cf-pad-lg { padding:7rem 0; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:768px) {
  .cf-hero { padding:4.5rem 1.25rem 3.5rem; }
  .cf-hero-ctas { flex-direction:column; align-items:flex-start; }
  .cf-service-card,.cf-service-card-dark { margin-bottom:1.5rem; }
  .cf-stat { border-right:none; border-bottom:1px solid var(--cf-black-border); }
  .cf-stat:last-child { border-bottom:none; }
  .cf-cta-strip { padding:3.5rem 1.25rem; }
  .cf-whatsapp-float { bottom:16px; right:16px; width:52px; height:52px; }
}
@media (max-width:480px) {
  h1,.cf-h1 { font-size:1.875rem; }
  h2,.cf-h2 { font-size:1.5rem; }
}


/* CargoFusion mobile section alignment fix - May 2026 */
@media (max-width: 1024px) {
  body .cf-page .cf-section,
  body .cf-page .cf-section.cf-final,
  body .cf-page .cf-route,
  body .cf-page section[class*="cf-"] {
    min-height: auto !important;
    height: auto !important;
    padding: 64px 20px !important;
    display: block !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  body .cf-page .cf-wrap,
  body .cf-page .cf-split,
  body .cf-page .cf-grid,
  body .cf-page .cf-card,
  body .cf-page .cf-process,
  body .cf-page .cf-final .cf-wrap,
  body .cf-page .cf-route .cf-wrap {
    min-height: auto !important;
    height: auto !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  body .cf-page .cf-final .cf-lead,
  body .cf-page .cf-section .cf-lead,
  body .cf-page .cf-text,
  body .cf-page p {
    max-width: 100% !important;
    font-size: clamp(20px, 5vw, 24px) !important;
    line-height: 1.45 !important;
  }

  body .cf-page .cf-kicker {
    margin-bottom: 18px !important;
  }

  body .cf-page .cf-h1,
  body .cf-page .cf-h2 {
    max-width: 100% !important;
  }

  body .cf-page .cf-process {
    padding-bottom: 96px !important;
  }

  body .cf-page .cf-step {
    padding: 74px 22px 24px !important;
  }

  body .cf-page .cf-step:before {
    left: 22px !important;
    top: 22px !important;
  }

  body .cf-whatsapp-float,
  body a.cf-whatsapp-float {
    width: 48px !important;
    height: 48px !important;
    right: 14px !important;
    bottom: 82px !important;
    transform: scale(.88) !important;
    z-index: 40 !important;
  }
}

@media (max-width: 767px) {
  body .cf-page .cf-section,
  body .cf-page .cf-section.cf-final,
  body .cf-page .cf-route,
  body .cf-page section[class*="cf-"] {
    padding: 64px 20px !important;
    min-height: auto !important;
    height: auto !important;
  }

  body .cf-page {
    padding-bottom: 88px !important;
  }

  body .cf-page .cf-final {
    padding-bottom: 96px !important;
  }

  body .cf-page .cf-final .cf-lead,
  body .cf-page .cf-section .cf-lead,
  body .cf-page .cf-text,
  body .cf-page p {
    font-size: 20px !important;
    line-height: 1.5 !important;
  }
}

/* ============================================================
   CARGOFUSION RFQ SHORTCODE
   ============================================================ */
.cf-rfq-form form {
  display:grid;
  gap:1rem;
}
.cf-rfq-form p {
  margin:0;
}
.cf-rfq-form label {
  display:block;
  margin-bottom:.375rem;
  font-family:var(--cf-font-head);
  font-size:.8125rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--cf-text-dark);
}
.cf-rfq-form input[type="text"],
.cf-rfq-form input[type="email"],
.cf-rfq-form input[type="url"],
.cf-rfq-form input[type="file"],
.cf-rfq-form select,
.cf-rfq-form textarea {
  width:100%;
  max-width:100%;
  border:1px solid var(--cf-light-border);
  border-radius:var(--cf-radius);
  padding:.8125rem 1rem;
  font-family:var(--cf-font-body);
  font-size:.9375rem;
  color:var(--cf-text-dark);
  background:var(--cf-white);
}
.cf-rfq-form input:focus,
.cf-rfq-form select:focus,
.cf-rfq-form textarea:focus {
  border-color:var(--cf-orange);
  box-shadow:0 0 0 3px rgba(255,122,0,.15);
  outline:none;
}
.cf-rfq-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.cf-rfq-ack label {
  display:flex;
  gap:.625rem;
  align-items:flex-start;
  margin:0;
  font-family:var(--cf-font-body);
  font-size:.875rem;
  font-weight:500;
  letter-spacing:0;
  line-height:1.5;
  text-transform:none;
  color:var(--cf-text-mid);
}
.cf-rfq-ack input {
  flex:0 0 auto;
  margin-top:.2rem;
}
.cf-form-success {
  color:#146c43;
  font-weight:600;
}
.cf-form-error {
  color:#b42318;
  font-weight:600;
}
.cf-honeypot {
  display:none !important;
  visibility:hidden !important;
  position:absolute !important;
  left:-9999px !important;
  width:1px;
  height:1px;
  overflow:hidden;
}
@media (max-width:768px) {
  .cf-rfq-grid {
    grid-template-columns:1fr;
  }
}

/* CargoFusion homepage/RFQ layout polish -- 2026-05-23 */
body .cf-page section.cf-section.cf-band > div.cf-wrap.cf-split,
body .cf-page .cf-band .cf-wrap.cf-split {
  width:min(1120px, calc(100% - 64px)) !important;
  max-width:1120px !important;
  grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr) !important;
  gap:clamp(32px,4.8vw,64px) !important;
  align-items:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}
body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > div:first-child,
body .cf-page .cf-band .cf-wrap.cf-split > div:first-child {
  max-width:650px !important;
}
body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > div:first-child .cf-h2,
body .cf-page .cf-band .cf-wrap.cf-split > div:first-child .cf-h2 {
  max-width:610px !important;
  font-size:clamp(32px,2.9vw,44px) !important;
  line-height:1.1 !important;
  text-wrap:balance;
}
body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > .cf-card,
body .cf-page .cf-band .cf-wrap.cf-split > .cf-card {
  align-self:center !important;
  max-width:430px !important;
  width:100% !important;
  justify-self:end !important;
}
body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > .cf-card .cf-checklist {
  gap:13px;
}

body .cf-page #how-it-works .cf-process {
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr)) !important;
  gap:22px !important;
  max-width:980px !important;
}
body .cf-page .cf-grid.four.cf-process,
body .cf-page .cf-process.cf-grid.four {
  grid-template-columns:repeat(2,minmax(320px,1fr)) !important;
  max-width:980px !important;
  gap:22px !important;
}
body .cf-page #how-it-works .cf-step {
  min-height:190px;
  padding:32px 30px 30px 82px !important;
}
body .cf-page .cf-process .cf-step {
  display:block !important;
  min-height:190px !important;
  padding:32px 30px 30px 82px !important;
}
body .cf-page #how-it-works .cf-step:before {
  left:30px;
  top:32px;
}
body .cf-page #how-it-works .cf-step .cf-h3 {
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:manual !important;
  text-wrap:balance;
  line-height:1.15 !important;
}
body .cf-page .cf-process .cf-step .cf-h3 {
  display:block !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  white-space:normal !important;
  line-height:1.15 !important;
}
body .cf-page .cf-process .cf-step .cf-text {
  display:block !important;
  max-width:100% !important;
  margin:0 !important;
}
body .cf-page #how-it-works .cf-step .cf-text {
  font-size:16px;
  line-height:1.58;
}

body .cf-page .cf-form-shell > .cf-form-shell.cf-rfq-form {
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
body .cf-page .cf-rfq-form .cf-rfq-ack {
  margin:6px 0 2px !important;
  padding:16px 18px !important;
  border:1px solid rgba(22,37,49,.14) !important;
  border-radius:8px !important;
  background:#f6f8f7 !important;
  grid-column:1 / -1 !important;
}
body .cf-page .cf-rfq-form .cf-rfq-ack label {
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  margin:0 !important;
  width:100% !important;
  font-size:15px;
  line-height:1.58;
}
body .cf-page .cf-rfq-form .cf-rfq-ack input {
  margin-top:4px;
  flex:0 0 auto;
}
body .cf-page .cf-rfq-form .cf-rfq-ack span {
  flex:1 1 auto !important;
  min-width:0 !important;
}
body .cf-page .cf-rfq-form .cf-note + .cf-btn {
  margin-top:8px;
}
body .cf-page .cf-rfq-form .cf-note,
body .cf-page .cf-rfq-form .cf-btn[type="submit"] {
  grid-column:1 / -1 !important;
}

#how-it-works .cf-grid.four.cf-process {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:22px !important;
  max-width:980px !important;
}
#how-it-works .cf-grid.four.cf-process .cf-step {
  display:flex !important;
  flex:1 1 calc(50% - 11px) !important;
  flex-direction:column !important;
  min-height:190px !important;
  padding:32px 30px 30px 82px !important;
  box-sizing:border-box !important;
}
#how-it-works .cf-grid.four.cf-process .cf-step .cf-h3 {
  display:block !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  white-space:normal !important;
  line-height:1.15 !important;
}
#how-it-works .cf-grid.four.cf-process .cf-step .cf-text {
  display:block !important;
  max-width:100% !important;
  margin:0 !important;
}
#rfq-intake .cf-rfq-form .cf-rfq-ack {
  display:block !important;
  grid-column:1 / -1 !important;
}
#rfq-intake .cf-rfq-form .cf-rfq-ack label {
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  width:100% !important;
}
#rfq-intake .cf-rfq-form .cf-rfq-ack span {
  flex:1 1 auto !important;
  min-width:0 !important;
}
#rfq-intake .cf-rfq-form .cf-note,
#rfq-intake .cf-rfq-form .cf-btn[type="submit"] {
  grid-column:1 / -1 !important;
}

body.home .cf-page #how-it-works.cf-section .cf-grid.four.cf-process {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:22px !important;
  max-width:980px !important;
}
body.home .cf-page #how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step {
  display:block !important;
  flex:1 1 calc(50% - 11px) !important;
  min-width:320px !important;
  min-height:190px !important;
  padding:32px 30px 30px 82px !important;
  box-sizing:border-box !important;
}
body.home .cf-page #how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step .cf-h3 {
  display:block !important;
  max-width:100% !important;
  margin:0 0 12px !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  white-space:normal !important;
  line-height:1.15 !important;
}
body.home .cf-page #how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step .cf-text {
  display:block !important;
  max-width:100% !important;
  margin:0 !important;
}
body.home .cf-page #rfq-intake.cf-section .cf-rfq-form .cf-rfq-ack {
  display:block !important;
  grid-column:1 / -1 !important;
  margin:6px 0 2px !important;
  padding:16px 18px !important;
  border:1px solid rgba(22,37,49,.14) !important;
  border-radius:8px !important;
  background:#f6f8f7 !important;
}
body.home .cf-page #rfq-intake.cf-section .cf-rfq-form .cf-rfq-ack label {
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.58 !important;
}
body.home .cf-page #rfq-intake.cf-section .cf-rfq-form .cf-rfq-ack input {
  flex:0 0 auto !important;
  margin-top:4px !important;
}
body.home .cf-page #rfq-intake.cf-section .cf-rfq-form .cf-rfq-ack span {
  flex:1 1 auto !important;
  min-width:0 !important;
}
body.home .cf-page #rfq-intake.cf-section .cf-rfq-form .cf-note,
body.home .cf-page #rfq-intake.cf-section .cf-rfq-form .cf-btn[type="submit"] {
  grid-column:1 / -1 !important;
}

@media (max-width:1024px) {
  body .cf-page .cf-section.cf-band > .cf-wrap.cf-split {
    width:calc(100% - 40px) !important;
    max-width:920px !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
    align-items:start !important;
  }
  body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > div:first-child,
  body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > .cf-card {
    max-width:100%;
    justify-self:stretch;
  }
  body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > div:first-child .cf-h2 {
    max-width:760px;
    font-size:clamp(32px,4.3vw,44px);
  }
  body .cf-page #how-it-works .cf-process {
    max-width:900px !important;
    grid-template-columns:repeat(2,minmax(250px,1fr)) !important;
    gap:18px !important;
  }
  body .cf-page .cf-grid.four.cf-process,
  body .cf-page .cf-process.cf-grid.four {
    grid-template-columns:repeat(2,minmax(250px,1fr)) !important;
  }
  #how-it-works .cf-grid.four.cf-process {
    display:flex !important;
    flex-wrap:wrap !important;
  }
  body .cf-page #how-it-works .cf-step {
    padding:28px 24px 26px 74px;
  }
  body .cf-page #how-it-works .cf-step:before {
    left:24px;
    top:28px;
  }
}

@media (max-width:767px) {
  body .cf-page .cf-section.cf-band > .cf-wrap.cf-split {
    width:calc(100% - 32px) !important;
    max-width:calc(100% - 32px) !important;
    gap:20px;
  }
  body .cf-page .cf-section.cf-band > .cf-wrap.cf-split > div:first-child .cf-h2 {
    font-size:clamp(28px,7.2vw,32px) !important;
    line-height:1.12 !important;
  }
  body .cf-page #how-it-works .cf-process {
    grid-template-columns:1fr !important;
    gap:16px !important;
    max-width:100%;
  }
  body .cf-page .cf-grid.four.cf-process,
  body .cf-page .cf-process.cf-grid.four {
    grid-template-columns:1fr !important;
  }
  #how-it-works .cf-grid.four.cf-process {
    display:flex !important;
    flex-wrap:wrap !important;
  }
  #how-it-works .cf-grid.four.cf-process .cf-step {
    flex-basis:100% !important;
  }
  body.home .cf-page #how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step {
    flex-basis:100% !important;
    min-width:0 !important;
  }
  body .cf-page #how-it-works .cf-step {
    min-height:0;
    padding:60px 18px 20px !important;
  }
  body .cf-page #how-it-works .cf-step:before {
    left:18px !important;
    top:18px !important;
  }
  body .cf-page .cf-rfq-form .cf-rfq-ack {
    padding:14px 15px;
  }
  body .cf-page .cf-rfq-form .cf-rfq-ack label {
    font-size:14px;
    line-height:1.55;
  }
}

/* CargoFusion final homepage layout polish — 2026-05-23 */
body .cf-page section#how-it-works.cf-section .cf-wrap {
  max-width:1180px !important;
}

body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
  max-width:1040px !important;
  margin-top:34px !important;
}

body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step {
  display:block !important;
  position:relative !important;
  min-width:0 !important;
  min-height:188px !important;
  padding:32px 30px 30px 82px !important;
  overflow:visible !important;
}

body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step:before {
  position:absolute !important;
  left:30px !important;
  top:32px !important;
}

body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step .cf-h3 {
  display:block !important;
  max-width:none !important;
  margin:0 0 12px !important;
  font-size:24px !important;
  line-height:1.16 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step .cf-text {
  display:block !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.58 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-rfq-ack {
  display:block !important;
  grid-column:1 / -1 !important;
  margin:10px 0 4px !important;
  padding:18px 20px !important;
  border:1px solid rgba(22,37,49,.16) !important;
  border-radius:8px !important;
  background:#f6f8f7 !important;
}

body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-rfq-ack label {
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.6 !important;
}

body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-rfq-ack input[type="checkbox"] {
  flex:0 0 auto !important;
  width:18px !important;
  height:18px !important;
  margin:3px 0 0 !important;
}

body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-rfq-ack span {
  flex:1 1 auto !important;
  min-width:0 !important;
}

body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-note {
  grid-column:1 / -1 !important;
  margin-top:12px !important;
  line-height:1.5 !important;
}

body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-btn[type="submit"] {
  grid-column:1 / -1 !important;
  margin-top:8px !important;
  justify-self:start !important;
}

@media (max-width:1024px) {
  body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px !important;
    max-width:920px !important;
  }

  body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step {
    min-height:180px !important;
    padding:30px 26px 28px 78px !important;
  }

  body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step:before {
    left:26px !important;
    top:30px !important;
  }
}

@media (max-width:767px) {
  body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process {
    grid-template-columns:1fr !important;
    gap:16px !important;
    max-width:100% !important;
  }

  body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step {
    min-height:0 !important;
    padding:60px 18px 20px !important;
  }

  body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step:before {
    left:18px !important;
    top:18px !important;
  }

  body .cf-page section#how-it-works.cf-section .cf-grid.four.cf-process > .cf-card.cf-step .cf-h3 {
    font-size:20px !important;
    line-height:1.18 !important;
  }

  body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-rfq-ack {
    padding:15px 16px !important;
  }

  body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-rfq-ack label {
    gap:10px !important;
    font-size:14px !important;
    line-height:1.56 !important;
  }

  body .cf-page section#rfq-intake.cf-section .cf-form-shell .cf-rfq-form .cf-btn[type="submit"] {
    width:100% !important;
    justify-self:stretch !important;
  }
}
