:root{
  --gm-navy:#132A3D;
  --gm-navy-dark:#0C1D2B;
  --gm-red:#C8102E;
  --gm-red-dark:#9E0C24;
  --gm-cream:#F7F5F0;
  --gm-ink:#20262D;
  --gm-muted:#8B97A3;
  --gm-amber:#E8A93B;
}
body{ font-family:'Inter',sans-serif; color:var(--gm-ink); background:#fff; }
h1,h2,h3,.brand-word{ font-family:'Archivo',sans-serif; }
.section{ padding:5rem 0; }
.section-sm{ padding:3rem 0; }
.eyebrow{ text-transform:uppercase; letter-spacing:1.5px; font-size:.78rem; font-weight:700; color:var(--gm-red); }
.section-title{ font-weight:800; color:var(--gm-navy); }
.bg-cream{ background:var(--gm-cream); }
.text-navy{ color:var(--gm-navy); }
.text-muted-2{ color:var(--gm-muted); }

/* ===== HEADER ===== */
.gm-topbar{ background:var(--gm-navy-dark); color:#cfd8e0; font-size:.85rem; }
.gm-topbar a{ color:#cfd8e0; text-decoration:none; }
.gm-topbar a:hover{ color:#fff; }
.gm-topbar .divider{ width:1px; height:14px; background:rgba(255,255,255,.2); display:inline-block; margin:0 .75rem; vertical-align:middle; }
.gm-roadline{
  height:4px;
  background-image: repeating-linear-gradient(90deg, var(--gm-amber) 0 22px, transparent 22px 40px);
  background-color: var(--gm-navy);
}
.gm-navbar{ background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.06); }
.gm-navbar .navbar-brand{ font-weight:800; font-size:1.4rem; color:var(--gm-navy); letter-spacing:.2px; }
.gm-navbar .navbar-brand .leaf{ color:var(--gm-red); }
.gm-navbar .nav-link{ font-weight:500; color:var(--gm-ink); margin:0 .35rem; }
.gm-navbar .nav-link:hover, .gm-navbar .nav-link.active{ color:var(--gm-red); }
.gm-cta-btn{ background:var(--gm-red); border-color:var(--gm-red); font-weight:600; padding:.55rem 1.3rem; color:#fff; }
.gm-cta-btn:hover{ background:var(--gm-red-dark); border-color:var(--gm-red-dark); color:#fff; }
.gm-btn-outline{ border:2px solid var(--gm-navy); color:var(--gm-navy); font-weight:600; padding:.5rem 1.3rem; }
.gm-btn-outline:hover{ background:var(--gm-navy); color:#fff; }

/* ===== PAGE HEADER BANNER (About/Services/Contact) ===== */
.gm-page-banner{
  background:var(--gm-navy);
  padding:3.5rem 0 3rem;
  position:relative;
  overflow:hidden;
}
.gm-page-banner::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:4px;
  background-image: repeating-linear-gradient(90deg, var(--gm-amber) 0 22px, transparent 22px 40px);
}
.gm-page-banner h1{ color:#fff; font-weight:800; }
.gm-page-banner .breadcrumb{ --bs-breadcrumb-divider-color:#7c8ea0; margin-bottom:.75rem; }
.gm-page-banner .breadcrumb-item, .gm-page-banner .breadcrumb-item a{ color:#a9b8c4; font-size:.9rem; }
.gm-page-banner .breadcrumb-item.active{ color:#fff; }

/* ===== HERO (Home) ===== */
.gm-hero{ background:var(--gm-cream); padding:4.5rem 0; }
.gm-hero h1{ font-weight:800; color:var(--gm-navy); line-height:1.15; }
.gm-hero .lead{ color:#4b5764; }
.gm-hero-art{
  background:var(--gm-navy);
  border-radius:16px;
  padding:2.5rem;
  color:#fff;
  position:relative;
  min-height:340px;
  display:flex; flex-direction:column; justify-content:center;
  overflow:hidden;
}
.gm-hero-art.gm-hero-photo{
  width:100%;
  height:420px;
  background-size:cover;
  background-position:center;
}
@media (max-width:991px){
  .gm-hero-art.gm-hero-photo{ height:320px; }
}
.gm-hero-overlay{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(19,42,61,.45) 0%, rgba(12,29,43,.88) 100%);
}
.gm-hero-art > *{ position:relative; z-index:1; }
.gm-hero-art .route-line{
  position:absolute; top:20px; left:20px; right:20px; height:2px;
  background-image: repeating-linear-gradient(90deg, var(--gm-amber) 0 14px, transparent 14px 26px);
}
.gm-hero-art .truck-icon{ font-size:5rem; color:var(--gm-amber); }
.gm-hero-badge{
  position:absolute; bottom:-18px; right:24px; background:#fff; border-radius:12px;
  padding:.9rem 1.3rem; box-shadow:0 8px 24px rgba(0,0,0,.12); display:flex; align-items:center; gap:.7rem;
}
.gm-hero-badge .num{ font-weight:800; font-size:1.4rem; color:var(--gm-navy); }
.gm-hero-badge .lbl{ font-size:.75rem; color:var(--gm-muted); line-height:1.1; }

/* ===== STATS BAR ===== */
.gm-stats{ background:var(--gm-navy); color:#fff; }
.gm-stats .stat-num{ font-weight:800; font-size:2.2rem; color:var(--gm-amber); }
.gm-stats .stat-lbl{ font-size:.85rem; color:#c7d1da; }

/* ===== SERVICE / FEATURE CARDS ===== */
.gm-card{
  border:1px solid #eceae4; border-radius:14px; padding:2rem 1.6rem; height:100%;
  transition:box-shadow .2s ease, transform .2s ease; background:#fff;
}
.gm-card:hover{ box-shadow:0 12px 28px rgba(19,42,61,.1); transform:translateY(-4px); }
.gm-card .icon-wrap{
  width:54px; height:54px; border-radius:12px; background:#FBEAE4; color:var(--gm-red);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:1.1rem;
}
.gm-card h5{ font-weight:700; color:var(--gm-navy); }
.gm-card ul{ font-size:.9rem; color:#5b6671; }
.gm-card .card-link{ color:var(--gm-red); font-weight:600; font-size:.9rem; text-decoration:none; }

/* ===== PROCESS STEPS ===== */
.gm-step{ position:relative; padding-left:0; }
.gm-step .step-num{
  width:46px; height:46px; border-radius:50%; background:var(--gm-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:1rem;
}
.gm-step h6{ font-weight:700; color:var(--gm-navy); }
.gm-step p{ font-size:.9rem; color:#5b6671; }
@media (max-width:767px){
  .gm-step .step-num{ width:38px; height:38px; font-size:.85rem; margin-bottom:.75rem; }
  .gm-step h6{ font-size:.95rem; }
  .gm-step p{ font-size:.82rem; }
}

/* ===== TESTIMONIALS ===== */
.gm-testimonial{ border-left:4px solid var(--gm-amber); padding:1.5rem 1.75rem; background:var(--gm-cream); border-radius:8px; height:100%; }
.gm-testimonial p{ font-style:italic; color:#3d4750; }
.gm-testimonial .stars{ color:var(--gm-amber); margin-bottom:.6rem; }
.gm-testimonial .cust{ font-weight:700; color:var(--gm-navy); font-size:.9rem; }
.gm-testimonial .loc{ color:var(--gm-muted); font-size:.8rem; }

/* ===== CTA BANNER ===== */
.gm-cta-banner{ background:var(--gm-red); color:#fff; }
.gm-cta-banner h2{ font-weight:800; }

/* ===== ABOUT: VALUES / TEAM ===== */
.gm-value-card{ text-align:center; padding:2rem 1rem; }
.gm-value-card .icon-circle{
  width:64px; height:64px; border-radius:50%; background:var(--gm-navy); color:var(--gm-amber);
  display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 auto 1rem;
}
.gm-team-card{ text-align:center; }
.gm-team-card .avatar{
  width:96px; height:96px; border-radius:50%; background:var(--gm-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.3rem; margin:0 auto .9rem;
}
.gm-team-card h6{ font-weight:700; color:var(--gm-navy); margin-bottom:0; }
.gm-team-card .role{ color:var(--gm-muted); font-size:.85rem; }

/* ===== CONTACT ===== */
.gm-contact-card{
  border:1px solid #eceae4; border-radius:14px; padding:1.6rem; text-align:center; height:100%;
}
.gm-contact-card .icon-wrap{
  width:50px; height:50px; border-radius:50%; background:var(--gm-cream); color:var(--gm-red);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin:0 auto .9rem;
}
.gm-contact-card h6{ font-weight:700; color:var(--gm-navy); }
.gm-form-panel{ background:var(--gm-cream); border-radius:16px; padding:2.5rem; }
.gm-form-panel .form-control, .gm-form-panel .form-select{ border-radius:8px; padding:.65rem .9rem; border:1px solid #dcd8ce; }
.gm-form-panel .form-control:focus, .gm-form-panel .form-select:focus{ border-color:var(--gm-navy); box-shadow:0 0 0 .2rem rgba(19,42,61,.1); }
.gm-map-frame{ border-radius:16px; overflow:hidden; border:1px solid #eceae4; }
.gm-area-pill{
  display:inline-block; background:var(--gm-cream); color:var(--gm-navy); font-size:.85rem; font-weight:600;
  padding:.4rem .9rem; border-radius:20px; margin:.25rem;
}

/* ===== FOOTER ===== */
.gm-footer{ background:var(--gm-navy); color:#c7d1da; }
.gm-footer h6{ color:#fff; font-weight:700; letter-spacing:.4px; text-transform:uppercase; font-size:.8rem; margin-bottom:1.1rem; }
.gm-footer a{ color:#c7d1da; text-decoration:none; }
.gm-footer a:hover{ color:#fff; }
.gm-footer .footer-links li{ margin-bottom:.55rem; }
.gm-footer .social-icon{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
  display:inline-flex; align-items:center; justify-content:center; margin-right:.5rem; color:#c7d1da;
}
.gm-footer .social-icon:hover{ background:var(--gm-red); border-color:var(--gm-red); color:#fff; }
.gm-badge{
  display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; color:#c7d1da;
  border:1px solid rgba(255,255,255,.2); border-radius:6px; padding:.35rem .6rem; margin:.2rem .4rem .2rem 0;
}
.gm-badge i{ color:var(--gm-amber); }
.gm-bottombar{ background:var(--gm-navy-dark); font-size:.82rem; color:#93a1ac; }
.gm-bottombar a{ color:#93a1ac; }
.gm-bottombar a:hover{ color:#fff; }