/* Catalyst Shipping homepage section, isolated from existing hero/header and freight plugin. */
.cshc { --cshc-charcoal:#292929; --cshc-red:#E02530; --cshc-ink:#202124; --cshc-line:#e7e7e7; background:#fff; color:var(--cshc-ink); isolation:isolate; font-family:inherit; width:100%; clear:both; position:relative; }
.cshc, .cshc * { box-sizing:border-box; }
.cshc .cshc-wrap { width:min(1180px,calc(100% - 40px));margin:0 auto;padding:68px 0 78px; }
.cshc a { text-decoration:none!important; }
.cshc .cshc-intro { max-width:810px;margin:0 auto 35px;text-align:center; }
.cshc .cshc-eyebrow {font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--cshc-red);line-height:1.6;}
.cshc h2, .cshc h3 {font-family:inherit;letter-spacing:-.04em;text-transform:none;}
.cshc .cshc-intro h2 {color:var(--cshc-ink);font-size:clamp(30px,4.4vw,53px);line-height:1.14;margin:14px 0 18px;font-weight:850;}
.cshc .cshc-intro h2 span {color:var(--cshc-red);}
.cshc p {font-size:14px;line-height:1.78;color:#5f6368;margin:0;}
.cshc .cshc-intro p {max-width:710px;margin:auto;}
.cshc .cshc-service-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.cshc .cshc-service-card {padding:30px 32px 28px;background:linear-gradient(135deg,#fff,#fbfbfb);border:1px solid #e8e8e8;box-shadow:0 14px 40px rgba(0,0,0,.045);border-radius:18px;display:flex;flex-direction:column;min-height:320px;}
.cshc .cshc-card-top {display:flex;gap:16px;align-items:center;justify-content:space-between;}
.cshc .cshc-icon {width:54px;height:54px;border-radius:13px;background:#fde8e9;color:var(--cshc-red);display:grid;place-items:center;font-size:31px;line-height:1;}
.cshc .cshc-service-num{font-size:10px;font-weight:800;letter-spacing:.11em;color:#858585;}
.cshc .cshc-service-card h3 {font-size:29px;line-height:1.15;margin:20px 0 11px;color:#262626;font-weight:800;}
.cshc .cshc-service-card p {max-width:470px;}
.cshc .cshc-keywords{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 18px;}
.cshc .cshc-keywords span{border:1px solid #ececec;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:700;color:#575757;background:#fff;}
.cshc .cshc-card-link {border-top:1px solid #ebebeb;padding-top:17px;margin-top:auto;color:#D91E29!important;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:space-between;}
.cshc .cshc-card-link span{font-size:20px;}
.cshc .cshc-quote-strip {background:var(--cshc-charcoal);color:#fff;border-radius:17px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:30px 0 73px;}
.cshc .cshc-quote-text {display:flex;align-items:flex-start;gap:12px;min-width:0;}
.cshc .cshc-dot {width:9px;height:9px;background:var(--cshc-red);border-radius:50%;flex:none;margin-top:8px;}
.cshc .cshc-quote-text strong {font-size:19px;display:block;font-weight:800;line-height:1.4;color:white;}
.cshc .cshc-quote-text p {color:#d3d3d3;font-size:12px;max-width:550px;margin-top:5px;}
.cshc .cshc-quote-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;}
.cshc .cshc-quote-actions a{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:13px 15px;font-weight:800;font-size:12px;white-space:nowrap;}
.cshc .cshc-btn-primary {color:#fff!important;background:var(--cshc-red);}
.cshc .cshc-btn-light {color:#292929!important;background:white;}
.cshc .cshc-process {display:grid;grid-template-columns:1fr 1.65fr;gap:46px;align-items:start;}
.cshc .cshc-process-heading h2{font-size:clamp(26px,3vw,38px);line-height:1.14;margin:12px 0 14px;color:#292929;font-weight:800;}
.cshc .cshc-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.cshc .cshc-steps>div {border-top:3px solid #e6e6e6;padding-top:18px;}
.cshc .cshc-steps span{color:var(--cshc-red);font-weight:900;font-size:13px;display:block;margin-bottom:10px;}
.cshc .cshc-steps strong{display:block;color:#292929;font-size:15px;line-height:1.35;margin-bottom:7px;}
.cshc .cshc-steps p{font-size:12px;}
.cshc .cshc-bottom{margin-top:65px;border:1px solid #e9e9e9;background:#f7f7f7;border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 28px;}
.cshc .cshc-bottom strong{font-size:17px;color:#292929;display:block;margin-bottom:5px;}
.cshc .cshc-bottom p{font-size:12px;max-width:760px;}
.cshc .cshc-bottom a{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;color:white!important;background:var(--cshc-red);font-size:12px;font-weight:800;padding:13px 17px;border-radius:8px;}
.cshc a:focus-visible {outline:3px solid #e02530;outline-offset:4px;}
.cshc a:hover {filter:brightness(.95);}
@media(max-width:1040px){ .cshc .cshc-quote-strip{align-items:flex-start;flex-direction:column;} .cshc .cshc-quote-actions{flex-shrink:1;} }
@media(max-width:760px){ .cshc .cshc-wrap{padding:48px 0 58px;} .cshc .cshc-service-grid{grid-template-columns:1fr;gap:14px;} .cshc .cshc-service-card{min-height:unset;padding:25px;} .cshc .cshc-process{grid-template-columns:1fr;gap:22px;} .cshc .cshc-bottom{flex-direction:column;align-items:stretch;} .cshc .cshc-bottom a{align-self:flex-start;} .cshc .cshc-quote-strip{margin-bottom:55px;} }
@media(max-width:480px){ .cshc .cshc-wrap{width:calc(100% - 28px);} .cshc .cshc-quote-strip{padding:23px 19px;} .cshc .cshc-quote-actions{width:100%;flex-direction:column;} .cshc .cshc-quote-actions a{width:100%;} .cshc .cshc-steps{grid-template-columns:1fr;gap:21px;} .cshc .cshc-bottom{padding:23px;} }


/* v1.1.0: prominent lead capture FIRST, directly under the preserved homepage banner. */
.cshc .cshc-wrap { padding-top:0; }
.cshc .cshc-lead { background:#292929; color:#fff; padding:52px clamp(18px,4vw,60px); margin:0 0 69px; border-radius:0 0 20px 20px; box-shadow:0 18px 36px rgba(15,15,15,.09); }
.cshc .cshc-lead-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(28px,4vw,70px);align-items:center;}
.cshc .cshc-lead-kicker {color:#ff858c;font-size:11px;letter-spacing:.17em;font-weight:800;line-height:1.5;}
.cshc .cshc-lead h2 {font-size:clamp(31px,3.5vw,49px);line-height:1.11;color:#fff;margin:17px 0 19px;font-weight:850;letter-spacing:-.04em;}
.cshc .cshc-lead h2 em {font-style:normal;color:#ff717a;}
.cshc .cshc-lead-copy>p {color:#ebebeb;font-size:15px;line-height:1.72;max-width:470px;}
.cshc .cshc-lead-points {display:flex;gap:9px 15px;flex-wrap:wrap;margin-top:24px;}
.cshc .cshc-lead-points span{display:inline-flex;align-items:center;gap:8px;color:#f2f2f2;font-size:12px;font-weight:700;}
.cshc .cshc-lead-points span:before{content:'✓';border:1px solid #e02530;border-radius:50%;background:#e02530;display:grid;place-items:center;width:20px;height:20px;color:white;font-size:11px;}
.cshc .cshc-lead-copy p.cshc-lead-small {font-size:12px;color:#d5d5d5;margin-top:25px;}
.cshc .cshc-lead-small a {color:#fff!important;text-decoration:underline!important;text-underline-offset:3px;}
.cshc .cshc-lead-panel{background:white;border-radius:17px;padding:26px;color:#292929;box-shadow:0 18px 40px rgba(0,0,0,.2);}
.cshc .cshc-lead-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;}
.cshc .cshc-lead-panel-head h3{margin:0;font-size:21px;color:#222;font-weight:800;letter-spacing:-.02em;}
.cshc .cshc-lead-panel-head>span{font-size:10px;font-weight:800;letter-spacing:.07em;color:#9c1922;background:#ffe8e9;padding:7px 10px;border-radius:99px;white-space:nowrap;text-transform:uppercase;}
.cshc .cshc-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;}
.cshc .cshc-rfq label {display:block;font-size:12px;font-weight:760;color:#282828;line-height:1.4;min-width:0;}
.cshc .cshc-rfq label span:not(.cshc-optional){color:#c81f2a;}
.cshc .cshc-field-wide{grid-column:1/-1;}
.cshc .cshc-rfq label .cshc-optional{font-weight:500;color:#666;}
.cshc .cshc-rfq input:not([type="hidden"]):not([type="checkbox"]),.cshc .cshc-rfq select{display:block;box-sizing:border-box;width:100%;max-width:100%;height:43px;min-height:43px;border:1px solid #d7dde4!important;border-radius:7px!important;background:#fff!important;color:#222!important;padding:9px 11px;margin-top:6px;font:inherit;font-size:13px;font-weight:400;}
.cshc .cshc-rfq input:focus-visible,.cshc .cshc-rfq select:focus-visible{outline:2px solid #e02530;outline-offset:1px;}
.cshc .cshc-rfq .cshc-consent{display:flex;align-items:flex-start;gap:9px;margin:16px 0 14px;font-size:11px;line-height:1.5;font-weight:400;color:#5e6268;cursor:pointer;}
.cshc .cshc-rfq .cshc-consent input{width:15px;min-width:15px;height:15px;margin:1px 0 0;accent-color:#e02530;}
.cshc .cshc-rfq .cshc-consent span{color:#505762!important;}
.cshc .cshc-lead-submit{width:100%;cursor:pointer;background:#e02530!important;color:#fff!important;border:1px solid #e02530!important;border-radius:8px!important;padding:15px!important;font-size:14px!important;font-weight:800!important;min-height:47px;}
.cshc .cshc-lead-submit:hover{background:#b71b26!important;}
.cshc .cshc-lead-submit span{color:#fff!important;}
.cshc .cshc-lead-privacy{margin-top:10px!important;text-align:center;font-size:10px!important;color:#6a6d73!important;line-height:1.5!important;}
.cshc .cshc-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cshc .cshc-form-note {font-size:12px;line-height:1.5;margin:0 0 14px;padding:12px;border-radius:7px;color:#263b27;background:#e7f5e9;}
.cshc .cshc-form-note.error{background:#fff0ef;color:#811a1a;}
.cshc .cshc-form-note a{color:inherit;text-decoration:underline!important;}
@media(max-width:900px){.cshc .cshc-lead-grid{grid-template-columns:1fr;gap:25px;}.cshc .cshc-lead{padding:38px 24px;}.cshc .cshc-lead-copy p.cshc-lead-small{margin-top:12px;}.cshc .cshc-lead{margin-bottom:45px;}}
@media(max-width:520px){.cshc .cshc-lead{padding:31px 17px;border-radius:0 0 14px 14px;}.cshc .cshc-field-grid{grid-template-columns:1fr;}.cshc .cshc-lead-panel{padding:18px 15px;}.cshc .cshc-lead-panel-head h3{font-size:19px;}.cshc .cshc-lead-panel-head>span{font-size:9px;padding:6px 7px;}.cshc .cshc-lead h2{font-size:33px;}}

/* v1.2.0 — device-size hardening verified in local Chromium render tests. */
.cshc {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  scroll-margin-top: 24px;
}
.cshc .cshc-wrap,
.cshc .cshc-lead-grid,
.cshc .cshc-lead-copy,
.cshc .cshc-lead-panel,
.cshc .cshc-field-grid,
.cshc .cshc-service-grid,
.cshc .cshc-process,
.cshc .cshc-steps,
.cshc .cshc-bottom,
.cshc .cshc-service-card { min-width: 0; max-width: 100%; }
.cshc .cshc-lead-panel-head h3 { min-width: 0; }
.cshc .cshc-lead-panel-head > span {flex-shrink: 0;}
.cshc .cshc-rfq input:not([type="hidden"]):not([type="checkbox"]),
.cshc .cshc-rfq select { min-width: 0; font-size: 16px!important; min-height: 46px!important; }
.cshc .cshc-card-link { min-width: 0; gap: 12px; }
.cshc .cshc-bottom a, .cshc .cshc-quote-actions a {max-width:100%;}
.cshc .cshc-honeypot {
    position: absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
    border:0!important;
    left:auto!important;
}
@media (max-width:760px) {
  .cshc .cshc-lead h2 { overflow-wrap: normal; hyphens: none; }
  .cshc .cshc-lead-points { row-gap: 12px; }
  .cshc .cshc-service-card h3 {font-size:27px;}
}
@media (max-width:360px) {
  .cshc .cshc-lead {padding: 26px 14px 32px;}
  .cshc .cshc-lead h2 {font-size: clamp(27px,9vw,32px);}
  .cshc .cshc-lead-panel {padding:17px 13px;}
  .cshc .cshc-lead-panel-head { flex-wrap:wrap; gap:8px 12px; }
  .cshc .cshc-lead-panel-head h3 {font-size:18px;}
  .cshc .cshc-lead-panel-head > span {white-space:nowrap;}
  .cshc .cshc-rfq label{font-size:12px;}
  .cshc .cshc-quote-strip {padding:21px 17px;}
}
@media (prefers-reduced-motion: reduce) {
  .cshc *, .cshc *::before, .cshc *::after {animation-duration:0.01ms!important;transition-duration:0.01ms!important;}
}

/* Version 1.3 — first block immediately below the existing banner. */
.cshc.cshc-lead-placement {
  display:block;
  width:100%;
  position:relative;
  clear:both;
  z-index:1;
}
.cshc.cshc-lead-placement > .cshc-wrap {
  padding:0;
  margin:0 auto;
}
.cshc.cshc-lead-placement .cshc-lead {
  margin:0 0 28px;
  border-radius:0 0 20px 20px;
}
@media(max-width:760px){
  .cshc.cshc-lead-placement .cshc-lead {margin-bottom:22px;}
}


/* Version 1.4 — make the lead block visually align with the homepage banner.
   Goals: full banner width, lower vertical height, stronger brand match, cleaner top-of-page flow. */
.cshc.cshc-lead-placement > .cshc-wrap {
  width: 100%;
  max-width: none;
}
.cshc.cshc-lead-placement .cshc-lead {
  margin: 0 0 34px;
  border-radius: 0;
  padding: 30px clamp(18px, 2.9vw, 42px);
  background: linear-gradient(115deg, #071b44 0%, #0f2b63 36%, #23252b 100%);
  border-top: 4px solid #e02530;
  box-shadow: none;
}
.cshc.cshc-lead-placement .cshc-lead-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: start;
}
.cshc.cshc-lead-placement .cshc-lead-kicker {
  color: #ffc7cb;
}
.cshc.cshc-lead-placement .cshc-lead h2 {
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
  margin: 10px 0 12px;
}
.cshc.cshc-lead-placement .cshc-lead-copy > p {
  font-size: 14px;
  line-height: 1.58;
  max-width: 520px;
}
.cshc.cshc-lead-placement .cshc-lead-points {
  margin-top: 16px;
  gap: 8px 14px;
}
.cshc.cshc-lead-placement .cshc-lead-copy p.cshc-lead-small {
  margin-top: 14px;
}
.cshc.cshc-lead-placement .cshc-lead-panel {
  max-width: 720px;
  width: 100%;
  margin-left: auto;
  padding: 20px 22px 18px;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.cshc.cshc-lead-placement .cshc-lead-panel-head {
  margin-bottom: 14px;
}
.cshc.cshc-lead-placement .cshc-lead-panel-head h3 {
  font-size: 20px;
}
.cshc.cshc-lead-placement .cshc-lead-panel-head > span {
  font-size: 9px;
  padding: 6px 9px;
}
.cshc.cshc-lead-placement .cshc-field-grid {
  gap: 11px 12px;
}
.cshc.cshc-lead-placement .cshc-rfq label {
  font-size: 11.5px;
}
.cshc.cshc-lead-placement .cshc-rfq input:not([type="hidden"]):not([type="checkbox"]),
.cshc.cshc-lead-placement .cshc-rfq select {
  min-height: 42px !important;
  height: 42px;
  margin-top: 5px;
  padding: 8px 10px;
  font-size: 14px !important;
}
.cshc.cshc-lead-placement .cshc-rfq .cshc-consent {
  margin: 12px 0 12px;
  font-size: 10.5px;
}
.cshc.cshc-lead-placement .cshc-lead-submit {
  min-height: 44px;
  padding: 13px !important;
}
.cshc.cshc-lead-placement .cshc-lead-privacy {
  margin-top: 8px !important;
}
@media (max-width: 1024px) {
  .cshc.cshc-lead-placement .cshc-lead {
    padding: 24px 22px;
  }
  .cshc.cshc-lead-placement .cshc-lead-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .cshc.cshc-lead-placement .cshc-lead-panel {
    max-width: none;
    margin-left: 0;
  }
}
@media (max-width: 520px) {
  .cshc.cshc-lead-placement .cshc-lead {
    padding: 22px 16px 24px;
  }
  .cshc.cshc-lead-placement .cshc-lead h2 {
    font-size: clamp(26px, 8.8vw, 33px);
  }
  .cshc.cshc-lead-placement .cshc-lead-copy > p {
    font-size: 13px;
  }
  .cshc.cshc-lead-placement .cshc-field-grid {
    grid-template-columns: 1fr;
  }
  .cshc.cshc-lead-placement .cshc-lead-panel {
    padding: 16px 14px 16px;
    border-radius: 12px;
  }
}


/* v1.5.0: full-banner-width hero-to-lead visual continuity.
   The script also matches the hero <img> bounding box when Elementor's parent
   is narrower than the actual banner.  No styling is applied to the hero. */
.cshc.cshc-lead-placement {
  width: 100%;
  max-width: none;
  min-width: 0;
  flex: none;
  overflow: visible;
  background: transparent;
}
.cshc.cshc-lead-placement > .cshc-wrap {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.cshc.cshc-lead-placement .cshc-lead {
  width: 100%;
  max-width: none;
  border: 0;
  border-top: 4px solid #e02530;
  border-radius: 0;
  margin: 0 0 30px;
  padding: clamp(24px,2.75vw,38px) clamp(18px,3vw,42px);
  box-shadow: none;
  background: linear-gradient(112deg, #041a41 0%, #082e63 52%, #1c2840 100%);
  overflow: visible;
}
.cshc.cshc-lead-placement .cshc-lead-grid {
  display: grid;
  grid-template-columns: minmax(0,0.94fr) minmax(0,1.36fr);
  gap: clamp(20px,3vw,45px);
  align-items: center;
  max-width: 1480px;
  margin: 0 auto;
}
.cshc.cshc-lead-placement .cshc-lead-copy {
  max-width: 480px;
}
.cshc.cshc-lead-placement .cshc-lead-kicker {
  color: #f0b0b9;
  letter-spacing:.12em;
}
.cshc.cshc-lead-placement .cshc-lead h2 {
  font-size: clamp(28px,3.15vw,44px);
  line-height:1.12;
  margin:12px 0 12px;
  color:#fff;
}
.cshc.cshc-lead-placement .cshc-lead h2 em {color:#ff747d;}
.cshc.cshc-lead-placement .cshc-lead-copy > p {
  font-size: 14px;
  line-height:1.58;
}
.cshc.cshc-lead-placement .cshc-lead-points {margin-top:17px;}
.cshc.cshc-lead-placement .cshc-lead-copy p.cshc-lead-small {margin-top:16px;}
.cshc.cshc-lead-placement .cshc-lead-panel {
  width: 100%;
  max-width: 760px;
  margin-left:auto;
  background: #fff;
  border-radius: 13px;
  padding: 22px 24px 17px;
  box-shadow: 0 14px 38px rgba(0,0,0,.16);
}
.cshc.cshc-lead-placement .cshc-lead-panel-head {margin-bottom:13px;}
.cshc.cshc-lead-placement .cshc-lead-panel-head h3 {font-size:19px;}
.cshc.cshc-lead-placement .cshc-field-grid {gap:11px 12px;}
.cshc.cshc-lead-placement .cshc-rfq label {font-size:12px;}
.cshc.cshc-lead-placement .cshc-rfq input:not([type="hidden"]):not([type="checkbox"]),
.cshc.cshc-lead-placement .cshc-rfq select {
  min-height: 43px !important;
  height: 43px !important;
  padding:8px 10px;
  margin-top:5px;
  font-size:14px !important;
}
.cshc.cshc-lead-placement .cshc-rfq .cshc-consent {margin:13px 0 12px;}
.cshc.cshc-lead-placement .cshc-lead-submit {padding:12px !important;min-height:46px;}
@media (min-width: 1250px) {
  .cshc.cshc-lead-placement .cshc-field-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .cshc.cshc-lead-placement .cshc-field-wide {grid-column:1/-1;}
}
@media (max-width: 950px) {
  .cshc.cshc-lead-placement .cshc-lead {
    padding:28px clamp(16px,4vw,30px);
  }
  .cshc.cshc-lead-placement .cshc-lead-grid {
    grid-template-columns:1fr;
    gap:21px;
  }
  .cshc.cshc-lead-placement .cshc-lead-copy {max-width:680px;}
  .cshc.cshc-lead-placement .cshc-lead-panel {max-width:none;margin:0;}
}
@media(max-width:520px) {
  .cshc.cshc-lead-placement .cshc-lead {
    padding:22px 14px 25px;
    margin-bottom:22px;
    border-top-width:3px;
  }
  .cshc.cshc-lead-placement .cshc-lead h2 {
    font-size:clamp(28px,8.4vw,35px);
  }
  .cshc.cshc-lead-placement .cshc-lead-copy > p {font-size:13px;}
  .cshc.cshc-lead-placement .cshc-field-grid {grid-template-columns:1fr;gap:12px;}
  .cshc.cshc-lead-placement .cshc-lead-panel {padding:18px 16px;border-radius:12px;}
  .cshc.cshc-lead-placement .cshc-lead-panel-head {flex-wrap:wrap;}
  .cshc.cshc-lead-placement .cshc-rfq input:not([type="hidden"]):not([type="checkbox"]),
  .cshc.cshc-lead-placement .cshc-rfq select {font-size:16px !important;}
}
