:root {
  --brand-black: #0b0b0b;
  --brand-red: #d61f26;
  --brand-red-dark: #a8161c;
  --brand-white: #ffffff;
  --gray-100: #f5f5f7;
  --gray-600: #6c757d;
}

* { font-family: 'Inter', system-ui, -apple-system, sans-serif; }

body { background: #fff; color: #1a1a1a; padding-bottom: 52px; display: flex; flex-direction: column; min-height: 100vh; }
@media (min-width: 992px) { body { padding-bottom: 0; } }
.site-footer { margin-top: auto; }

/* Hero video */
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.25; z-index:0; }
.hero-section .container { z-index:1; }

/* Nav */
.site-nav { background: var(--brand-black); box-shadow: 0 2px 12px rgba(0,0,0,.25); }
.site-nav .navbar-brand { font-size: 1.25rem; letter-spacing: -0.02em; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:var(--brand-red); color:#fff; border-radius:8px; font-weight:900; margin-right:6px; }
.nav-link { color: rgba(255,255,255,.85) !important; font-weight:500; }
.nav-link:hover { color: #fff !important; }
.btn-danger { background: var(--brand-red); border-color: var(--brand-red); }
.btn-danger:hover { background: var(--brand-red-dark); border-color: var(--brand-red-dark); }
.btn-outline-danger { color: var(--brand-red); border-color: var(--brand-red); }
.btn-outline-danger:hover { background: var(--brand-red); color:#fff; }

/* Hero */
.hero-section {
  position: relative;
  background: linear-gradient(135deg, #0b0b0b 0%, #1a1a1a 60%, #2a0a0c 100%);
  min-height: 78vh;
  display: flex; align-items: center;
  overflow: hidden;
}
.hero-section::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(214,31,38,.25), transparent 50%);
}
.hero-overlay { position:absolute; inset:0; background: url('/assets/img/hero.jpg') center/cover no-repeat; opacity:.18; }
.min-vh-hero { min-height: 78vh; }
.hero-badge { display:inline-block; background: rgba(214,31,38,.15); border:1px solid rgba(214,31,38,.4); color:#ff6b70; padding:6px 14px; border-radius:999px; font-size:.85rem; font-weight:600; }
.fw-black { font-weight: 900; letter-spacing: -0.03em; }
.text-white-75 { color: rgba(255,255,255,.75); }

.page-hero {
  background: linear-gradient(135deg, #0b0b0b, #1f1f1f);
  padding: 4rem 0 3rem; color:#fff;
}
.page-hero h1 { letter-spacing: -0.02em; }

/* Sections */
.section-eyebrow { display:inline-block; color: var(--brand-red); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; margin-bottom:.5rem; }
.section-title { font-weight: 800; letter-spacing: -0.02em; color: var(--brand-black); }

/* Service cards */
.service-card { border-radius: 16px; overflow: hidden; background:#fff; box-shadow: 0 8px 30px rgba(0,0,0,.08); height:100%; display:flex; flex-direction:column; }
.service-card-img { height: 220px; background-size: cover; background-position: center; background-color: #1a1a1a; }
.service-card-body { padding: 1.5rem; flex:1; display:flex; flex-direction:column; }
.service-card-body h3 { font-weight:800; }
.service-icon { width:56px; height:56px; background: var(--brand-red); color:#fff; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:1rem; }
.service-features { list-style:none; padding:0; margin:1rem 0; }
.service-features li { padding:4px 0; font-size:.9rem; }

.service-list-card { border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 8px 30px rgba(0,0,0,.08); height:100%; }
.service-list-img { width:100%; height:200px; object-fit:cover; }

/* Stats */
.stats-bar { background: var(--brand-black); color:#fff; }
.stat { padding: .5rem; }
.stat-num { display:block; font-size:2rem; font-weight:900; color: var(--brand-red); }
.stat-label { display:block; font-size:.85rem; color:rgba(255,255,255,.7); }

/* Regions */
.region-tile { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; background:#fff; border:1px solid #eee; border-radius:12px; text-decoration:none; color:var(--brand-black); font-weight:600; transition: all .2s; }
.region-tile:hover { border-color: var(--brand-red); color: var(--brand-red); transform: translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.08); }
.region-card { display:block; padding:1.5rem; background:#fff; border:1px solid #eee; border-radius:16px; text-decoration:none; color:var(--brand-black); transition:all .2s; height:100%; }
.region-card:hover { border-color: var(--brand-red); transform: translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.1); }
.region-card h4 { font-weight:800; color: var(--brand-red); }
.region-card-link { color: var(--brand-red); font-weight:600; font-size:.85rem; }

/* Vehicles */
.vehicle-card { border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 8px 30px rgba(0,0,0,.08); height:100%; }
.vehicle-card-img { width:100%; height:200px; object-fit:cover; background:#eee; }
.vehicle-card-img.placeholder { background: linear-gradient(135deg,#1a1a1a,#333); }

/* Gallery */
.gallery-item img { width:100%; height:200px; object-fit:cover; border-radius:12px; transition:transform .2s; }
.gallery-item:hover img { transform: scale(1.03); }

/* Content */
.content-body { line-height: 1.8; font-size: 1.05rem; }

/* Contact box */
.contact-box { background: var(--gray-100); border-radius:16px; padding:1.5rem; border:1px solid #eee; }

/* Value boxes */
.value-box { display:flex; align-items:center; gap:.75rem; padding:1rem; background:#fff; border:1px solid #eee; border-radius:12px; font-weight:600; }
.value-box i { font-size:1.5rem; }

/* Footer */
.site-footer { background: var(--brand-black); }
.footer-link { color: rgba(255,255,255,.7); text-decoration:none; }
.footer-link:hover { color: #fff; }
.social-btn { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.1); color:#fff; border-radius:50%; text-decoration:none; transition:background .2s; }
.social-btn:hover { background: var(--brand-red); color:#fff; }
.footer-bottom { background: #000; }

/* CTA */
.cta-section { background: linear-gradient(135deg, var(--brand-red), var(--brand-red-dark)); }

/* Mobile bar */
.mobile-bar { position:fixed; bottom:0; left:0; right:0; display:flex; z-index:1030; box-shadow:0 -2px 12px rgba(0,0,0,.2); }
.mobile-bar-btn { flex:1; text-align:center; padding:14px; color:#fff; text-decoration:none; font-weight:700; }
.mobile-bar-btn.call { background: var(--brand-black); }
.mobile-bar-btn.wa { background: #25d366; }
.mobile-bar-btn i { margin-right:6px; }

/* Map */
.map-embed iframe { border:0; width:100%; height:100%; }

/* Breadcrumb */
.breadcrumb-item a { color: rgba(255,255,255,.7); text-decoration:none; }
.breadcrumb-item.active { color:#fff; }
