/* SP Logistics Brand Polish Layer v20 */
:root{
  --sp-brand-shadow:0 10px 28px rgba(12,47,57,.06);
  --sp-brand-mark-shadow:0 8px 18px rgba(12,47,57,.10);
}

.topline{font-size:.72rem;letter-spacing:.01em}
.topline .container{min-height:30px}

.site-header{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #d5e3e8;
  box-shadow:var(--sp-brand-shadow);
}
.site-header .nav-shell{min-height:82px;gap:16px}
.site-header .brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:238px;
  flex:0 0 auto;
  line-height:1;
}
.site-header .brand img{
  width:46px;
  height:46px;
  min-width:46px;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
  border:1px solid #d6e3e8;
  box-shadow:var(--sp-brand-mark-shadow);
}
.site-header .brand > span{display:flex;flex-direction:column}
.site-header .brand strong{
  font-size:1.16rem;
  font-weight:950;
  letter-spacing:.09em;
  color:#0c2f39;
  line-height:1;
  white-space:nowrap;
}
.site-header .brand span span{
  margin-top:4px;
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#5d737c;
  white-space:nowrap;
}

.site-header .primary-nav{
  flex:1 1 auto;
  min-width:0;
  justify-content:flex-end;
  gap:2px;
  flex-wrap:nowrap;
}
.site-header .primary-nav a{
  font-size:.76rem;
  line-height:1.1;
  padding:9px 7px;
  white-space:nowrap;
}
.site-header .primary-nav .quote{
  margin-left:6px;
  padding:10px 13px;
}

.site-footer .footer-brand{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:14px;
}
.site-footer .footer-brand img{
  width:50px;
  height:50px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.site-footer .footer-brand h3{
  margin:0;
  font-size:1.45rem;
  line-height:.88;
  letter-spacing:.08em;
  color:#fff;
}
.site-footer .footer-grid > div:first-child p{max-width:46ch}

.home-image-card,
.hero-media,
.port-hero-media,
.rail-hero-media,
.services-hero-media,
.drive-hero-media,
.warehouse-hero-media,
.quote-hero-media{overflow:hidden;border-radius:28px}

.home-image-card img,
.hero-media img,
.port-hero-media img,
.rail-hero-media img,
.services-hero-media img,
.drive-hero-media img,
.warehouse-hero-media img,
.quote-hero-media img{
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border:1px solid rgba(12,47,57,.12);
  box-shadow:0 20px 50px rgba(12,47,57,.16);
}

@media (max-width:1380px){
  .site-header .nav-shell{gap:12px}
  .site-header .brand{min-width:214px}
  .site-header .brand strong{font-size:1.08rem}
  .site-header .primary-nav a{font-size:.72rem;padding:9px 6px}
  .site-header .primary-nav .quote{padding:9px 12px}
}

@media (max-width:1240px){
  .site-header .brand{min-width:188px;gap:10px}
  .site-header .brand img{width:44px;height:44px;min-width:44px}
  .site-header .brand strong{font-size:1rem;letter-spacing:.08em}
  .site-header .brand span span{display:none}
  .site-header .primary-nav a{font-size:.69rem;padding:8px 6px}
  .site-header .primary-nav .quote{padding:9px 11px}
}

@media (max-width:1080px){
  .site-header .nav-shell{gap:8px}
  .site-header .brand{min-width:160px}
  .site-header .brand strong{font-size:.93rem;letter-spacing:.06em}
  .site-header .primary-nav a{font-size:.64rem;padding:8px 5px}
  .site-header .primary-nav .quote{padding:8px 10px}
}

@media (max-width:980px){
  .site-header .nav-shell{min-height:74px;gap:10px}
  .site-header .brand{min-width:auto}
  .site-header .brand img{width:42px;height:42px;min-width:42px}
  .site-header .brand strong{font-size:1rem;letter-spacing:.08em}
  .site-header .brand span span{display:none}
}

@media (max-width:640px){
  .topline{font-size:.69rem}
  .site-header .brand img{width:38px;height:38px;min-width:38px}
  .site-header .brand strong{font-size:.88rem;letter-spacing:.06em}
  .site-footer .footer-brand img{width:44px;height:44px}
  .site-footer .footer-brand h3{font-size:1.22rem}
}