/* ===========================================================================
   Go Rent A Car LLC — brochure / lead-gen site
   Palette keyed to brand logo: brand red + charcoal-navy on white.
   =========================================================================== */

:root{
  --bg:        #FFFFFF;
  --surface:   #F5F6F8;
  --surface-2: #EEF0F3;
  --text:      #1F242C;
  --muted:     #5C6470;
  --primary:   #E51C24;
  --secondary: #2A323D;
  --accent:    #C0141B;
  --border:    #E2E5EA;
  --focus:     #2563EB;

  --ink-on-dark: #FFFFFF;
  --muted-on-dark: #AEB6C2;

  /* spacing scale (8px) */
  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px; --s5: 24px;
  --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px; --s10: 128px;

  --maxw: 1200px;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 22px;

  --shadow-sm: 0 1px 2px rgba(31,36,44,.06), 0 1px 3px rgba(31,36,44,.05);
  --shadow-md: 0 6px 20px rgba(31,36,44,.08), 0 2px 6px rgba(31,36,44,.05);
  --shadow-lg: 0 22px 60px rgba(31,36,44,.16), 0 8px 22px rgba(31,36,44,.10);

  --ease: cubic-bezier(.22,.61,.36,1);

  --font-display: 'Archivo', system-ui, sans-serif;
  --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;

  --header-h: 88px;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top: calc(var(--header-h) + 16px); -webkit-text-size-adjust:100%; }
body{
  font-family: var(--font-body);
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
ul{ list-style:none; }
:focus-visible{ outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 4px; }

/* ---------- layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline: clamp(20px, 5vw, 40px); }
section{ position:relative; }
.section-pad{ padding-block: clamp(56px, 9vw, 112px); }

/* ---------- type ---------- */
h1,h2,h3,h4{ font-family:var(--font-display); color:var(--secondary); line-height:1.05; letter-spacing:-0.02em; font-weight:800; }
.eyebrow{
  font-family:var(--font-body);
  font-weight:700; font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--primary); display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--primary); display:inline-block; }
.eyebrow.center{ justify-content:center; }
.section-head{ max-width:680px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head h2{ font-size: clamp(30px, 4.6vw, 50px); margin-top:18px; }
.section-head p{ color:var(--muted); font-size:clamp(16px,1.6vw,19px); margin-top:18px; }

.lead{ font-size: clamp(17px, 1.8vw, 20px); color:var(--muted); }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-body); font-weight:700; font-size:16px;
  padding: 15px 26px; border-radius: 999px; min-height:52px;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .2s var(--ease), color .2s var(--ease);
  white-space:nowrap; line-height:1;
}
.btn svg{ width:18px; height:18px; flex:none; }
.btn-primary{ background:var(--primary); color:#fff; box-shadow: 0 8px 22px rgba(229,28,36,.28); }
.btn-primary:hover{ background:var(--accent); transform:translateY(-2px); box-shadow:0 14px 30px rgba(229,28,36,.34); }
.btn-dark{ background:var(--secondary); color:#fff; }
.btn-dark:hover{ background:#1b212a; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-ghost{ background:transparent; color:var(--secondary); border:1.5px solid var(--border); }
.btn-ghost:hover{ border-color:var(--secondary); background:var(--secondary); color:#fff; transform:translateY(-2px); }
.btn-light{ background:#fff; color:var(--secondary); }
.btn-light:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline-light{ background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.45); }
.btn-outline-light:hover{ background:#fff; color:var(--secondary); border-color:#fff; transform:translateY(-2px); }
.btn-block{ width:100%; }

.link-arrow{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--primary); font-size:15px; transition:gap .2s var(--ease); }
.link-arrow svg{ width:16px; height:16px; transition:transform .2s var(--ease); }
.link-arrow:hover{ gap:12px; }
.link-arrow:hover svg{ transform:translateX(2px); }

/* =========================================================================
   UTILITY TOP BAR
   ========================================================================= */
.topbar{
  background:var(--secondary); color:var(--muted-on-dark);
  font-size:13.5px; font-weight:500;
}
.topbar .wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:42px; }
.topbar a{ color:#fff; font-weight:600; transition:color .2s; }
.topbar a:hover{ color:var(--primary); }
.topbar .tb-left{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.topbar .tb-right{ display:flex; gap:8px; align-items:center; }
.topbar .dot{ width:6px;height:6px;border-radius:50%;background:var(--primary); display:inline-block; }
.tb-item{ display:inline-flex; align-items:center; gap:8px; }
.tb-item svg{ width:15px;height:15px; opacity:.85; }

/* =========================================================================
   HEADER
   ========================================================================= */
.header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  border-bottom:1px solid transparent;
  transition: box-shadow .3s var(--ease), border-color .3s var(--ease), background .3s;
}
.header.scrolled{ box-shadow: var(--shadow-sm); border-color:var(--border); }
.header .wrap{ display:flex; align-items:center; justify-content:space-between; min-height:var(--header-h); gap:24px; }
.brand{ display:flex; align-items:center; gap:12px; flex:none; }
.brand img{ height:66px; width:auto; }
.nav{ display:flex; align-items:center; gap:6px; margin-left:auto; }
.nav a{
  font-weight:600; font-size:15.5px; color:var(--text);
  padding:10px 14px; border-radius:8px; position:relative;
  transition:color .2s;
}
.nav a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:6px; height:2px;
  background:var(--primary); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease);
}
.nav a:hover{ color:var(--secondary); }
.nav a:hover::after, .nav a.active::after{ transform:scaleX(1); }
.nav a.active{ color:var(--secondary); }
.header-cta{ display:flex; align-items:center; gap:12px; flex:none; }
.header-phone{ display:inline-flex; align-items:center; gap:9px; font-weight:700; color:var(--secondary); font-size:15.5px; padding:8px 6px; }
.header-phone svg{ width:18px; height:18px; color:var(--primary); }
.header-phone:hover{ color:var(--primary); }

.menu-toggle{ display:none; width:46px; height:46px; border-radius:10px; align-items:center; justify-content:center; color:var(--secondary); border:1px solid var(--border); }
.menu-toggle svg{ width:24px; height:24px; }

/* mobile drawer */
.drawer-backdrop{ position:fixed; inset:0; background:rgba(20,24,30,.5); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; z-index:70; }
.drawer-backdrop.open{ opacity:1; visibility:visible; }
.drawer{
  position:fixed; top:0; right:0; height:100%; width:min(86vw, 360px);
  background:#fff; z-index:80; transform:translateX(100%);
  transition:transform .35s var(--ease); display:flex; flex-direction:column;
  box-shadow: -20px 0 60px rgba(0,0,0,.18); padding:22px;
}
.drawer.open{ transform:translateX(0); }
.drawer-top{ display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid var(--border); }
.drawer-top img{ height:42px; }
.drawer-close{ width:44px;height:44px;border-radius:10px;border:1px solid var(--border); color:var(--secondary); display:flex;align-items:center;justify-content:center; }
.drawer-close svg{ width:24px;height:24px; }
.drawer nav{ display:flex; flex-direction:column; gap:2px; margin-top:18px; }
.drawer nav a{ font-family:var(--font-display); font-weight:700; font-size:21px; color:var(--secondary); padding:14px 8px; border-radius:10px; transition:background .2s, color .2s; }
.drawer nav a:hover{ background:var(--surface); color:var(--primary); }
.drawer-foot{ margin-top:auto; display:flex; flex-direction:column; gap:12px; padding-top:18px; }
.drawer-foot .phone-row{ display:flex; flex-direction:column; gap:4px; padding:14px 16px; background:var(--surface); border-radius:12px; }
.drawer-foot .phone-row span{ font-size:12.5px; color:var(--muted); font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.drawer-foot .phone-row a{ font-family:var(--font-display); font-weight:800; font-size:20px; color:var(--secondary); }

/* =========================================================================
   HERO
   ========================================================================= */
.hero{ position:relative; isolation:isolate; min-height: min(88vh, 760px); display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; z-index:-2; }
.hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:82% 36%; transform:scale(1.06); animation: heroZoom 18s ease-out forwards; filter: brightness(.74) contrast(1.04) saturate(1.05); }
@keyframes heroZoom{ to{ transform:scale(1); } }
.hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(10,12,16,.55) 0%, rgba(10,12,16,.32) 40%, rgba(10,12,16,.6) 72%, rgba(10,12,16,.92) 100%),
    linear-gradient(100deg, rgba(10,12,16,.94) 0%, rgba(10,12,16,.8) 34%, rgba(10,12,16,.42) 60%, rgba(10,12,16,.08) 80%, transparent 92%);
}
.hero-inner{ padding-block: clamp(48px, 9vw, 96px); width:100%; }
.hero-content{ max-width:680px; }
.hero .badge{
  display:inline-flex; align-items:center; gap:9px; padding:8px 16px; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(6px);
  font-size:13.5px; font-weight:600; letter-spacing:.02em; margin-bottom:22px;
}
.hero .badge .dot{ width:7px;height:7px;border-radius:50%; background:var(--primary); box-shadow:0 0 0 4px rgba(229,28,36,.3); }
.hero h1{ color:#fff; font-size:clamp(38px, 6.4vw, 76px); line-height:1; letter-spacing:-.03em; text-wrap:balance; }
.hero h1 .accent{ color:#fff; }
.hero p.sub{ font-size:clamp(17px,2vw,21px); color:rgba(255,255,255,.9); margin-top:22px; max-width:560px; text-wrap:pretty; }
.hero-cta{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.hero-stats{ display:flex; gap:clamp(20px,4vw,48px); margin-top:42px; flex-wrap:wrap; }
.hero-stat .n{ font-family:var(--font-display); font-weight:800; font-size:clamp(26px,3.4vw,38px); color:#fff; line-height:1; }
.hero-stat .l{ font-size:13.5px; color:rgba(255,255,255,.78); margin-top:7px; font-weight:500; }
.hero-stat .l .claim{ opacity:.6; font-size:11.5px; }

/* =========================================================================
   QUICK ENQUIRY CARD (overlaps hero / sits below)
   ========================================================================= */
.quickbar{ position:relative; z-index:5; margin-top:-58px; }
.quickbar .wrap{ position:relative; }
.quick-card{
  background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  border:1px solid var(--border); padding: clamp(20px,3vw,30px);
}
.quick-card .qc-title{ font-family:var(--font-display); font-weight:800; font-size:19px; color:var(--secondary); margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.quick-card .qc-title svg{ width:20px;height:20px;color:var(--primary); }
.quick-grid{ display:grid; grid-template-columns: repeat(4, 1fr) auto; gap:14px; align-items:end; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field label{ font-size:12.5px; font-weight:700; color:var(--muted); letter-spacing:.04em; text-transform:uppercase; }
.field input, .field select, .field textarea{
  font-family:var(--font-body); font-size:15.5px; color:var(--text);
  padding:13px 14px; border:1.5px solid var(--border); border-radius:10px; background:var(--surface);
  transition:border-color .2s, background .2s, box-shadow .2s; width:100%;
}
.field input::placeholder, .field textarea::placeholder{ color:#9aa2ae; }
.field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235C6470' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px; cursor:pointer; }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--secondary); background:#fff; outline:none; box-shadow:0 0 0 4px rgba(42,50,61,.08); }
.field.invalid input, .field.invalid select{ border-color:var(--primary); box-shadow:0 0 0 4px rgba(229,28,36,.1); }
.field .err{ font-size:12.5px; color:var(--accent); font-weight:600; display:none; }
.field.invalid .err{ display:block; }

/* =========================================================================
   TRUST STRIP
   ========================================================================= */
.trust{ border-block:1px solid var(--border); background:var(--bg); }
.trust .wrap{ display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item{ display:flex; gap:16px; align-items:flex-start; padding: 30px clamp(14px,2.4vw,30px); border-left:1px solid var(--border); }
.trust-item:first-child{ border-left:none; }
.trust-item .ico{ width:46px; height:46px; flex:none; border-radius:12px; background:var(--surface); color:var(--primary); display:flex; align-items:center; justify-content:center; }
.trust-item .ico svg{ width:24px;height:24px; }
.trust-item h4{ font-size:16px; font-weight:800; color:var(--secondary); letter-spacing:-.01em; }
.trust-item p{ font-size:13.5px; color:var(--muted); margin-top:3px; line-height:1.45; }

/* =========================================================================
   SERVICES
   ========================================================================= */
.services{ background:var(--surface); }
.svc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:52px; }
.svc-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius);
  padding:32px; display:flex; flex-direction:column; gap:16px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;
  position:relative; overflow:hidden;
}
.svc-card::after{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--primary); transform:scaleY(0); transform-origin:top; transition:transform .3s var(--ease); }
.svc-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent; }
.svc-card:hover::after{ transform:scaleY(1); }
.svc-num{ font-family:var(--font-display); font-weight:800; font-size:14px; color:var(--primary); letter-spacing:.05em; }
.svc-ico{ width:56px; height:56px; border-radius:14px; background:var(--surface); color:var(--secondary); display:flex; align-items:center; justify-content:center; }
.svc-ico svg{ width:28px;height:28px; }
.svc-card h3{ font-size:23px; }
.svc-card p{ color:var(--muted); font-size:15.5px; flex:1; }
.svc-card .link-arrow{ margin-top:4px; }

/* =========================================================================
   FLEET
   ========================================================================= */
.fleet{ background:var(--bg); }
.fleet-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.tabs{ display:inline-flex; gap:6px; padding:6px; background:var(--surface); border-radius:999px; border:1px solid var(--border); flex-wrap:wrap; }
.tab{ padding:10px 20px; border-radius:999px; font-weight:700; font-size:14.5px; color:var(--muted); transition:color .2s, background .2s, box-shadow .2s; }
.tab.active{ background:#fff; color:var(--secondary); box-shadow:var(--shadow-sm); }
.tab:hover:not(.active){ color:var(--secondary); }
.fleet-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:42px; }
.car-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s;
  display:flex; flex-direction:column;
}
.car-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:transparent; }
.car-media{ position:relative; aspect-ratio: 16/10; background:linear-gradient(145deg,#fbfbfc,#eef0f3); display:flex; align-items:center; justify-content:center; padding:22px; overflow:hidden; }
.car-media img{ max-height:100%; width:auto; object-fit:contain; transition:transform .4s var(--ease); mix-blend-mode:multiply; }
.car-card:hover .car-media img{ transform:scale(1.06); }
.car-seg{ position:absolute; top:14px; left:14px; background:rgba(42,50,61,.92); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:6px 11px; border-radius:999px; backdrop-filter:blur(4px); }
.car-body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:6px; flex:1; }
.car-body h3{ font-size:19px; }
.car-body .cls{ font-size:13.5px; color:var(--muted); }
.car-specs{ display:flex; gap:16px; margin-top:12px; padding-top:14px; border-top:1px solid var(--border); }
.car-spec{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--muted); font-weight:600; }
.car-spec svg{ width:16px;height:16px; color:var(--secondary); opacity:.7; }
.car-cta{ margin-top:16px; }
.fleet-note{ margin-top:28px; font-size:14px; color:var(--muted); display:flex; align-items:center; gap:10px; justify-content:center; text-align:center; }
.fleet-note svg{ width:17px;height:17px; flex:none; color:var(--primary); }

/* =========================================================================
   CORPORATE / SPLIT BANDS
   ========================================================================= */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.split.reverse .split-media{ order:2; }
.split-media{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); position:relative; aspect-ratio: 4/3.2; }
.split-media img{ width:100%; height:100%; object-fit:cover; }
.split-body .feature-list{ display:flex; flex-direction:column; gap:14px; margin:28px 0 32px; }
.feature-list li{ display:flex; gap:14px; align-items:flex-start; font-size:16px; color:var(--text); }
.feature-list .chk{ width:26px;height:26px;border-radius:50%; background:rgba(229,28,36,.1); color:var(--primary); display:flex;align-items:center;justify-content:center; flex:none; margin-top:1px; }
.feature-list .chk svg{ width:15px;height:15px; }
.corporate{ background:var(--surface); }

/* =========================================================================
   HERITAGE / ABOUT
   ========================================================================= */
.about{ background:var(--secondary); color:var(--ink-on-dark); overflow:hidden; }
.about h2{ color:#fff; }
.about .eyebrow{ color:#ff7077; }
.about .eyebrow::before{ background:#ff7077; }
.about .lead{ color:var(--muted-on-dark); }
.about-grid{ display:grid; grid-template-columns: 1.05fr .95fr; gap:clamp(36px,5vw,72px); align-items:center; }
.timeline{ margin-top:38px; display:flex; flex-direction:column; gap:0; }
.tl-item{ display:grid; grid-template-columns:auto 1fr; gap:20px; padding-bottom:30px; position:relative; }
.tl-item:last-child{ padding-bottom:0; }
.tl-marker{ display:flex; flex-direction:column; align-items:center; }
.tl-dot{ width:16px;height:16px;border-radius:50%; background:var(--primary); box-shadow:0 0 0 5px rgba(229,28,36,.2); flex:none; margin-top:5px; }
.tl-line{ width:2px; flex:1; background:rgba(255,255,255,.14); margin-top:6px; }
.tl-item:last-child .tl-line{ display:none; }
.tl-year{ font-family:var(--font-display); font-weight:800; font-size:22px; color:#fff; }
.tl-body h4{ color:#fff; font-size:18px; margin-bottom:5px; }
.tl-body p{ color:var(--muted-on-dark); font-size:15px; }
.about-media{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.about-media .am{ border-radius:var(--radius); overflow:hidden; position:relative; box-shadow:var(--shadow-lg); }
.about-media .am img{ width:100%; height:100%; object-fit:cover; }
.about-media .am.tall{ grid-row:span 2; aspect-ratio:3/4.4; }
.about-media .am.short{ aspect-ratio:4/3; }
.am-cap{ position:absolute; left:0;right:0;bottom:0; padding:14px 16px 12px; background:linear-gradient(transparent, rgba(20,24,30,.88)); font-size:12px; color:#fff; font-weight:500; }

/* =========================================================================
   LOCATIONS
   ========================================================================= */
.locations{ background:var(--bg); }
.loc-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:22px; margin-top:48px; }
.loc-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:28px; display:flex; flex-direction:column; gap:14px; transition:box-shadow .3s, transform .3s; }
.loc-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); }
.loc-tag{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--primary); }
.loc-card h3{ font-size:21px; }
.loc-row{ display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--text); }
.loc-row svg{ width:18px;height:18px; color:var(--muted); flex:none; margin-top:3px; }
.loc-row a{ font-weight:700; color:var(--secondary); }
.loc-row a:hover{ color:var(--primary); }
.loc-muted{ color:var(--muted); }
.map-wrap{ margin-top:22px; }
.map-placeholder{
  border:2px dashed var(--border); border-radius:var(--radius); background:
    repeating-linear-gradient(45deg, var(--surface), var(--surface) 14px, var(--surface-2) 14px, var(--surface-2) 28px);
  min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:30px;
}
.map-placeholder .mp-ico{ width:54px;height:54px; border-radius:50%; background:#fff; box-shadow:var(--shadow-sm); display:flex;align-items:center;justify-content:center; color:var(--primary); }
.map-placeholder .mp-ico svg{ width:26px;height:26px; }
.map-placeholder .mp-title{ font-family:var(--font-display); font-weight:800; color:var(--secondary); font-size:18px; }
.map-placeholder .mp-mono{ font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size:13px; color:var(--muted); max-width:440px; }
.coverage{ margin-top:30px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.coverage .cv-label{ font-size:13.5px; font-weight:700; color:var(--muted); letter-spacing:.04em; text-transform:uppercase; margin-right:6px; }
.chip{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; background:var(--surface); border:1px solid var(--border); border-radius:999px; font-size:14.5px; font-weight:600; color:var(--secondary); }
.chip svg{ width:15px;height:15px; color:var(--primary); }

/* =========================================================================
   ENQUIRY / CONTACT
   ========================================================================= */
.contact{ background:var(--surface); }
.contact-grid{ display:grid; grid-template-columns: .92fr 1.08fr; gap:clamp(32px,5vw,64px); align-items:start; margin-top:14px; }
.contact-aside h2{ font-size:clamp(28px,4vw,44px); }
.contact-methods{ display:flex; flex-direction:column; gap:14px; margin-top:32px; }
.cm{ display:flex; gap:16px; align-items:center; padding:18px 20px; background:#fff; border:1px solid var(--border); border-radius:var(--radius); transition:box-shadow .25s, transform .25s; }
.cm:hover{ box-shadow:var(--shadow-md); transform:translateX(3px); }
.cm .cm-ico{ width:50px;height:50px;border-radius:12px; background:var(--surface); color:var(--primary); display:flex;align-items:center;justify-content:center; flex:none; }
.cm .cm-ico svg{ width:24px;height:24px; }
.cm .cm-label{ font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.cm .cm-val{ font-family:var(--font-display); font-weight:800; font-size:20px; color:var(--secondary); line-height:1.15; }
.cm .cm-sub{ font-size:13px; color:var(--muted); }

.form-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:clamp(24px,3.4vw,40px); box-shadow:var(--shadow-md); }
.form-card h3{ font-size:24px; }
.form-card .fc-sub{ color:var(--muted); font-size:15px; margin-top:8px; margin-bottom:26px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-grid .full{ grid-column:1/-1; }
.field textarea{ resize:vertical; min-height:110px; }
.form-actions{ margin-top:26px; display:flex; flex-direction:column; gap:14px; }
.form-fine{ font-size:12.5px; color:var(--muted); display:flex; gap:8px; align-items:flex-start; }
.form-fine svg{ width:15px;height:15px;flex:none;margin-top:2px;color:var(--muted); }
.form-success{
  display:none; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:30px 10px;
}
.form-success.show{ display:flex; }
.form-success .ok-ico{ width:64px;height:64px;border-radius:50%; background:rgba(31,138,91,.12); color:#1F8A5B; display:flex;align-items:center;justify-content:center; }
.form-success .ok-ico svg{ width:34px;height:34px; }
.form-success h3{ color:var(--secondary); }
.form-success p{ color:var(--muted); max-width:380px; }

/* =========================================================================
   FOOTER
   ========================================================================= */
.footer{ background:var(--secondary); color:var(--muted-on-dark); }
.footer-main{ padding-block: clamp(48px,7vw,80px); }
.footer-grid{ display:grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap:clamp(28px,4vw,56px); }
.footer-logo-plaque{ background:#fff; border-radius:16px; padding:18px 22px; display:inline-flex; width:fit-content; box-shadow:var(--shadow-md); }
.footer-logo-plaque img{ height:56px; width:auto; }
.footer-brand p{ margin-top:20px; font-size:14.5px; color:var(--muted-on-dark); max-width:340px; line-height:1.7; }
.footer-brand .heritage{ margin-top:18px; font-size:13px; color:#7f8a99; }
.footer h5{ font-family:var(--font-display); color:#fff; font-size:15px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:18px; }
.footer-col a, .footer-col p{ display:block; color:var(--muted-on-dark); font-size:14.5px; padding:6px 0; transition:color .2s; }
.footer-col a:hover{ color:#fff; }
.footer-contact .fc-row{ display:flex; gap:11px; align-items:flex-start; padding:7px 0; font-size:14.5px; }
.footer-contact .fc-row svg{ width:17px;height:17px; color:var(--primary); flex:none; margin-top:3px; }
.footer-contact .fc-row a{ color:#fff; font-weight:600; }
.footer-contact .fc-row a:hover{ color:var(--primary); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom .wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-block:22px; font-size:13px; color:#7f8a99; }
.footer-bottom .gaps{ font-size:12px; max-width:560px; line-height:1.5; }

/* =========================================================================
   STICKY MOBILE CTA BAR
   ========================================================================= */
.mobile-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:55;
  display:none; gap:10px; padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94); backdrop-filter:blur(12px);
  border-top:1px solid var(--border); box-shadow:0 -6px 24px rgba(31,36,44,.1);
  transform:translateY(120%); transition:transform .4s var(--ease);
}
.mobile-bar.show{ transform:translateY(0); }
.mobile-bar .btn{ flex:1; min-height:50px; font-size:15px; padding:14px 12px; }

/* =========================================================================
   REVEAL ANIMATION
   ========================================================================= */
@media (prefers-reduced-motion: no-preference){
  .reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
  .reveal.in{ opacity:1; transform:none; }
  .reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
  .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1080px){
  .footer-grid{ grid-template-columns: 1fr 1fr; gap:36px; }
  .footer-brand{ grid-column:1/-1; }
  .quick-grid{ grid-template-columns: repeat(2,1fr); }
  .quick-grid .qc-submit{ grid-column:1/-1; }
}
@media (max-width: 920px){
  .nav, .header-phone{ display:none; }
  .menu-toggle{ display:flex; }
  .about-grid{ grid-template-columns:1fr; }
  .about-media{ max-width:520px; }
  .contact-grid{ grid-template-columns:1fr; }
  .split{ grid-template-columns:1fr; }
  .split.reverse .split-media{ order:0; }
  .split-media{ aspect-ratio:16/10; }
}
@media (max-width: 760px){
  body{ font-size:16px; }
  .topbar .tb-left .hide-sm{ display:none; }
  .svc-grid{ grid-template-columns:1fr; gap:16px; }
  .trust .wrap{ grid-template-columns:1fr 1fr; }
  .trust-item{ border-left:none; border-top:1px solid var(--border); padding:24px 8px; }
  .trust-item:first-child, .trust-item:nth-child(2){ border-top:none; }
  .trust-item:nth-child(odd){ border-right:1px solid var(--border); }
  .fleet-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .loc-grid{ grid-template-columns:1fr; }
  .form-grid{ grid-template-columns:1fr; }
  .mobile-bar{ display:flex; }
  .hero{ min-height: min(92vh, 680px); }
  .quickbar{ margin-top:-40px; }
  body{ padding-bottom: 74px; } /* room for mobile bar */
  .about-media{ margin-inline:auto; }
}
@media (max-width: 480px){
  .fleet-grid{ grid-template-columns:1fr; }
  .quick-grid{ grid-template-columns:1fr; }
  .hero-cta{ flex-direction:column; }
  .hero-cta .btn{ width:100%; }
  .trust .wrap{ grid-template-columns:1fr; }
  .trust-item{ border-right:none !important; border-top:1px solid var(--border); }
  .trust-item:first-child{ border-top:none; }
  .about-media{ grid-template-columns:1fr 1fr; }
  .brand img{ height:50px; }
  .topbar .tb-left{ gap:14px; }
}
