/* SP Logistics SEO + AI Search upgrade layer */
:root {
  --sp-teal: #155263;
  --sp-teal-dark: #0f3e49;
  --sp-gold: #ffbb09;
  --sp-ink: #10222a;
  --sp-muted: #5b6b73;
  --sp-border: rgba(16, 34, 42, .12);
  --sp-radius: 16px;
  --sp-shadow: 0 16px 40px rgba(16, 34, 42, .12);
}
html { scroll-behavior: smooth; }
a[href^="tel:"], a[href^="mailto:"] { text-underline-offset: 3px; }
.sp-wrap { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.sp-page-hero,
.sp-resource-links,
.sp-proof-strip,
.sp-quote-helper {
  font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.sp-page-hero {
  background: linear-gradient(135deg, var(--sp-teal), #1d6f86);
  color: #fff;
  padding: clamp(42px, 7vw, 88px) 0;
}
.sp-page-hero .sp-eyebrow,
.sp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .75rem;
  color: var(--sp-gold);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .82rem;
}
.sp-page-hero h1,
.sp-landing h1 {
  margin: 0 0 .75rem;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: clamp(2rem, 4.7vw, 4.25rem);
  line-height: 1.03;
  letter-spacing: -.04em;
}
.sp-page-hero p,
.sp-landing .sp-lede {
  max-width: 760px;
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.62;
}
.sp-cta-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.sp-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  padding:.95rem 1.25rem; border-radius:999px; font-weight:800;
  text-decoration:none !important; border:2px solid transparent;
  font-family:"Montserrat", system-ui, sans-serif;
}
.sp-btn-primary { background:var(--sp-gold); color:var(--sp-ink) !important; }
.sp-btn-secondary { background:#fff; color:var(--sp-teal-dark) !important; }
.sp-btn-outline { background:transparent; color:#fff !important; border-color:rgba(255,255,255,.65); }
.sp-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.16); }
.sp-proof-strip { background:#fff; border-block:1px solid var(--sp-border); padding:18px 0; }
.sp-proof-strip .sp-wrap { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; }
.sp-proof-item { background:#f8fbfc; border:1px solid var(--sp-border); border-radius:14px; padding:14px; font-weight:800; color:var(--sp-teal-dark); }
.sp-resource-links { padding: clamp(28px, 5vw, 56px) 0; background:#f7fafb; }
.sp-resource-links h2 { margin:0 0 12px; font:800 clamp(1.5rem, 3vw, 2.2rem)/1.12 "Montserrat", system-ui, sans-serif; color:var(--sp-ink); }
.sp-link-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin-top:18px; }
.sp-link-card { display:block; padding:18px; border-radius:16px; background:#fff; border:1px solid var(--sp-border); box-shadow:0 8px 24px rgba(16,34,42,.06); color:var(--sp-ink) !important; text-decoration:none !important; }
.sp-link-card strong { display:block; color:var(--sp-teal-dark); margin-bottom:4px; }
.sp-link-card span { color:var(--sp-muted); font-size:.94rem; line-height:1.45; }
.sp-link-card:hover { border-color:var(--sp-gold); transform:translateY(-2px); }
.sp-quote-helper { margin: 16px 0 22px; padding:18px; border-radius:16px; background:#fff8df; border:1px solid rgba(255,187,9,.5); color:var(--sp-ink); }
.sp-quote-helper strong { color:var(--sp-teal-dark); }
#contact-form .sp-form-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:16px; }
#contact-form .sp-full { grid-column: 1 / -1; }
#contact-form select,
#contact-form input[type="date"] { min-height: 44px; }
#contact-form .u-label { font-weight:700; color:var(--sp-ink); }
#contact-form button[type="submit"] { cursor:pointer; }
.sp-sticky-cta {
  position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%);
  width: min(720px, calc(100% - 28px)); z-index: 9999;
  background: rgba(16,34,42,.96); border:1px solid rgba(255,255,255,.16);
  border-radius: 999px; box-shadow: var(--sp-shadow); padding: 8px;
  display: none; gap:8px; backdrop-filter: blur(8px);
}
.sp-sticky-cta a { flex: 1; text-align:center; border-radius:999px; padding:12px 10px; text-decoration:none !important; font-weight:800; font-family:"Montserrat", system-ui, sans-serif; }
.sp-sticky-cta a:first-child { background:#fff; color:var(--sp-teal-dark) !important; }
.sp-sticky-cta a:last-child { background:var(--sp-gold); color:var(--sp-ink) !important; }
.sp-landing { font-family:"Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--sp-ink); }
.sp-landing header { background:var(--sp-gold); }
.sp-landing .sp-nav { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:88px; }
.sp-landing .sp-nav img { width:180px; height:auto; display:block; }
.sp-landing .sp-nav nav { display:flex; flex-wrap:wrap; gap:8px 16px; }
.sp-landing .sp-nav a { color:var(--sp-ink); text-decoration:none; font-weight:800; }
.sp-landing .sp-section { padding: clamp(34px, 5vw, 70px) 0; }
.sp-landing .sp-section h2 { margin:0 0 14px; font:800 clamp(1.5rem, 3vw, 2.45rem)/1.15 "Montserrat", system-ui, sans-serif; }
.sp-landing .sp-card-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.sp-landing .sp-card { background:#fff; border:1px solid var(--sp-border); border-radius:var(--sp-radius); padding:20px; box-shadow:0 10px 26px rgba(16,34,42,.07); }
.sp-landing .sp-card h3 { margin:0 0 8px; color:var(--sp-teal-dark); font-family:"Montserrat", system-ui, sans-serif; }
.sp-landing .sp-card p, .sp-landing li { color:#344c56; line-height:1.6; }
.sp-landing .sp-split { display:grid; grid-template-columns: 1fr 1fr; gap:28px; align-items:start; }
.sp-landing .sp-faq details { background:#fff; border:1px solid var(--sp-border); border-radius:14px; padding:16px 18px; margin:10px 0; }
.sp-landing .sp-faq summary { cursor:pointer; font-weight:800; color:var(--sp-teal-dark); }
.sp-landing footer { background:#1E3A4E; color:#fff; padding:30px 0; }
.sp-landing footer a { color:#ffd86a; }
@media (max-width: 800px) {
  .sp-proof-strip .sp-wrap, .sp-link-grid, .sp-landing .sp-card-grid, .sp-landing .sp-split { grid-template-columns: 1fr; }
  #contact-form .sp-form-grid { grid-template-columns: 1fr; }
  .sp-sticky-cta { display:flex; }
  body { padding-bottom: 82px; }
}
