/* ==========================================================================
   Del Cab Services — Del Cab Services
   Design tokens: Ink #14120F · Ivory #F6F3EC · Brass #B08D57 · Maroon #7A2E2E · Slate #4A4740
   Display: 'Fraunces' — Body: 'Manrope' — Utility/labels: 'IBM Plex Mono'
   Signature: the route-line — a single brass thread that traces a journey
   through dividers, underlines and the hero map path.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ink:#14120F;
  --ink-soft:#242019;
  --ivory:#F6F3EC;
  --ivory-dim:#EEE9DD;
  --brass:#B08D57;
  --brass-light:#D3B486;
  --maroon:#7A2E2E;
  --maroon-dark:#5E2222;
  --slate:#4A4740;
  --slate-light:#7A756A;
  --line:rgba(20,18,15,0.12);
  --line-on-ink:rgba(246,243,236,0.14);
  --radius:2px;
  --radius-lg:4px;
  --shadow-card:0 1px 2px rgba(20,18,15,0.06), 0 8px 24px -12px rgba(20,18,15,0.18);
  --shadow-lift:0 20px 45px -20px rgba(20,18,15,0.35);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Manrope',sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{
  font-family:'Fraunces',serif;
  font-weight:500;
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:-0.01em;
  color:var(--ink);
}
h1{font-size:clamp(2.4rem,5vw,4.2rem); font-weight:400;}
h2{font-size:clamp(1.8rem,3.2vw,2.6rem);}
h3{font-size:1.35rem; font-weight:600;}
p{margin:0 0 1em;color:var(--slate);}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--brass);
  display:flex;align-items:center;gap:.6em;
  margin-bottom:1em;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--brass);}
.container{max-width:1200px;margin:0 auto;padding:0 28px;}
.container-narrow{max-width:820px;margin:0 auto;padding:0 28px;}
section{padding: 50px 0;}
@media (max-width:720px){section{padding:64px 0;}}

/* ---------- route-line divider (signature) ---------- */
.route-divider{
    margin:0 0 1.5rem;
}
.route-divider .dot{width:6px;height:6px;border-radius:50%;background:var(--brass);flex:none;}
.route-divider .line{flex:1;height:1px;background:linear-gradient(90deg,var(--brass) 0%, var(--line) 90%);}
.route-divider .pin{font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--slate-light);letter-spacing:.1em;text-transform:uppercase;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:.92rem;
  padding:15px 30px;border-radius:999px;border:1px solid transparent;
  cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s,color .25s,border-color .25s;
  white-space:nowrap;letter-spacing:.01em;
}
.btn-primary{background:var(--maroon);color:var(--ivory);}
.btn-primary:hover{background:var (--maroon-dark); transform:translateY(-2px); box-shadow:var(--shadow-lift);}
.btn-brass{background:var(--brass);color:var(--ink);}
.btn-brass:hover{background:var(--brass-light); transform:translateY(-2px); box-shadow:var(--shadow-lift);}
.btn-outline{background:transparent;color:var(--ivory);border-color:var(--line-on-ink);}
.btn-outline:hover{border-color:var(--brass); color:var(--brass);}
.btn-outline-ink{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-outline-ink:hover{border-color:var(--ink);}
.btn-ghost{background:transparent;color:var(--ink);padding:15px 6px;}
.btn-ghost::after{content:"→";margin-left:.4em;transition:transform .3s var(--ease);}
.btn-ghost:hover::after{transform:translateX(5px);}
.btn-sm{padding:10px 20px;font-size:.82rem;}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:200;
  background:rgba(246,243,236,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1200px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:40px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-text strong{font-family:'Fraunces',serif;font-size:1.15rem;letter-spacing:.01em;}
.brand-text span{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);}
.nav-links{display:flex;align-items:center;gap: 15px;px;}
.nav-links a{font-size:.88rem;font-weight:600;position:relative;padding:4px 0;}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-phone{display:flex;flex-direction:column;text-align:right;font-family:'IBM Plex Mono',monospace;}
.nav-phone span{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-light);}
.nav-phone a{font-size:.9rem;font-weight:600;}
.dropdown{position:relative;}
.dropdown-panel{
  position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(8px);
  width:640px;background:var(--ink);color:var(--ivory);border-radius:var(--radius-lg);
  padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;
  opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease);
  box-shadow:var(--shadow-lift);
}
.dropdown:hover .dropdown-panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dropdown-panel a{display:block;padding:9px 10px;border-radius:var(--radius);font-size:.86rem;font-weight:500;color:var(--ivory-dim);}
.dropdown-panel a:hover{background:rgba(246,243,236,0.07);color:var(--brass-light);}
.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--ink);cursor:pointer;}

@media (max-width:980px){
  .nav-links,.nav-phone{display:none;}
  .menu-toggle{display:block;}
  .nav-row{padding:14px 20px;}
}

/* mobile drawer */
.mobile-drawer{
  position:fixed;inset:0;background:var(--ink);color:var(--ivory);z-index:300;
  transform:translateX(100%);transition:transform .4s var(--ease);
  overflow-y:auto;padding:24px 26px 40px;
}
.mobile-drawer.open{transform:translateX(0);}
.mobile-drawer .close-btn{background:none;border:none;color:var(--ivory);font-size:1.8rem;float:right;cursor:pointer;}
.mobile-drawer nav{clear:both;margin-top:40px;display:flex;flex-direction:column;gap:2px;}
.mobile-drawer a{padding:14px 4px;border-bottom:1px solid var(--line-on-ink);font-size:1.05rem;font-weight:600;}
.mobile-drawer .sub-label{font-family:'IBM Plex Mono',monospace;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:22px 4px 6px;}

/* ---------- hero ---------- */
.hero{
    position: relative;
    color: var(--ivory);
    overflow: hidden;
    padding: 40px 0;

    background:
        linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
        url("images/hero-bg.png");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:2;}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px;}}
.hero h1{color:var(--ivory);}
.hero h1 em{font-style:italic;color:var(--brass-light);}
.hero p.lead{color:var(--ivory-dim);font-size:1.12rem;max-width:520px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:35px;}
.route-map{position:relative;height:420px;}
.route-map svg{width:100%;height:100%;}
.route-map .path{fill:none;stroke:var(--brass);stroke-width:1.4;stroke-dasharray:6 6;opacity:.85;}
.route-map .path-solid{fill:none;stroke:var(--brass);stroke-width:1.4;stroke-dasharray:520;stroke-dashoffset:520;animation:draw 2.6s var(--ease) forwards .3s;}
@keyframes draw{to{stroke-dashoffset:0;}}
.route-map .pin{fill:var(--brass-light);}
.route-map .pin-a{fill:var(--ivory);}
.route-map text{font-family:'IBM Plex Mono',monospace;font-size:10px;fill:var(--slate-light);letter-spacing:.05em;}

/* quick booking form */
.booking-card{
  background:var(--ivory);color:var(--ink);border-radius:var(--radius-lg);
  padding:30px;box-shadow:var(--shadow-lift);
}
.booking-card h3{font-size:1.1rem;margin-bottom:.2em;}
.booking-card .sub{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin-bottom:20px;display:block;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-grid .full{grid-column:1/-1;}
.field label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-light);margin-bottom:6px;}
.field input,.field select,.field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);
  font-family:'Manrope',sans-serif;font-size:.92rem;background:#fff;color:var(--ink);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brass);outline-offset:1px;}
.booking-card .btn{width:100%;margin-top:6px;}

/* ---------- cards / grids ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr;}}

.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:30px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:var(--brass);}
.card .num{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--brass);letter-spacing:.08em;}
.card .icon{width:42px;height:42px;border-radius:50%;background:var(--ivory-dim);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--maroon);}
.card h3{margin-bottom:.4em;}
.card p{margin-bottom:.6em;font-size:.94rem;}
.card a.link{font-size:.84rem;font-weight:700;color:var(--maroon);}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:44px;flex-wrap:wrap;}
.section-head h2{
    color:#C8A05A;
    font-size:58px;
    line-height:1.05;
    margin:0;
}
.section-head p{
    color: #c8c0b5;
    font-size: 18px;
    line-height: 1.8;
    max-width: 900px;
}
.section-head p{
 .section-head p{
    color:#c9c9c9;
}
}
.section-head p{
    color: #000000;
}
.bg-ink .section-head p{
    color:#fff;
}

.bg-ink{background:var(--ink);color:var(--ivory);}
.bg-ink h2,.bg-ink h3{color:var(--ivory);}
.bg-ink p{color:var(--ivory-dim);}
.bg-ink .card{background:var(--ink-soft);border-color:var(--line-on-ink);color:var(--ivory-dim);}
.bg-ink .card:hover{border-color:var(--brass);}
.bg-dim{background:var(--ivory-dim);}

/* fleet cards */
.fleet-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);transition:box-shadow .3s,transform .3s;}
.fleet-card:hover{box-shadow:var(--shadow-card);transform:translateY(-4px);}
.fleet-card .img{
    display:flex;
    justify-content:center;
    align-items:center;
    overflow:hidden;
}

.fleet-card .img img{
    width:70%;
    height:auto;
    object-fit:contain;
}
S.fleet-card .img svg{width:62%;opacity:.55;}
.fleet-card .body{padding:22px;}
.fleet-card .tags{display:flex;gap:8px;margin:10px 0 14px;flex-wrap:wrap;}
.tag{font-family:'IBM Plex Mono',monospace;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--slate);}

/* testimonials */
.review-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;}
.review-card .stars{color:var(--brass);letter-spacing:2px;margin-bottom:10px;font-size:.95rem;}
.review-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--ivory-dim);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;color:var(--maroon);font-weight:600;}
.review-name{
    font-weight:700;
    font-size:.92rem;
    color:#1f1f1f;
}
.review-meta{font-family:'IBM Plex Mono',monospace;font-size:.66rem;color:var(--slate-light);letter-spacing:.04em;}
.rating-banner{display:flex;align-items:center;gap:22px;background:var(--ink);color:var(--ivory);border-radius:var(--radius-lg);padding:28px 32px;flex-wrap:wrap;}
.rating-banner .score{font-family:'Fraunces',serif;font-size:2.6rem;color:var(--brass-light);}
.rating-banner .stars{color:var(--brass-light);letter-spacing:3px;}

/* FAQ accordion */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:22px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Fraunces',serif;font-size:1.05rem;color:var(--ink);gap:20px;}
.faq-q .plus{font-family:'IBM Plex Mono',monospace;color:var(--brass);font-size:1.2rem;flex:none;transition:transform .3s;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.faq-a p{padding-bottom:20px;margin:0;font-size:.94rem;}

/* footer */
.site-footer{background:var(--ink);color:var(--ivory-dim);padding:80px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid var(--line-on-ink);}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.site-footer h4{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:18px;font-weight:500;}
.site-footer ul li{margin-bottom:10px;font-size:.88rem;}
.site-footer ul li a:hover{color:var(--brass-light);}
.footer-brand .brand-text strong{color:var(--ivory);}
.footer-brand p{max-width:280px;color:var(--slate-light);font-size:.88rem;}
.social-row{display:flex;gap:10px;margin-top:18px;}
.social-row a{width:36px;height:36px;border:1px solid var(--line-on-ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:border-color .3s,color .3s;}
.social-row a:hover{border-color:var(--brass);color:var(--brass-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:.78rem;color:var(--slate-light);flex-wrap:wrap;gap:10px;}
.footer-bottom a{color:var(--slate-light);}
.footer-bottom a:hover{color:var(--brass-light);}

/* floating CTAs */
.floating-cta{position:fixed;right:22px;bottom:22px;z-index:250;display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.fab{
  width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-lift);font-size:1.35rem;transition:transform .3s var(--ease);color:#fff;
}
.fab:hover{transform:scale(1.08);}
.fab.call{background:var(--maroon);}
.fab.whatsapp{background:#2E7D5B;}
.fab-book{
  display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--ivory);
  border-radius:999px;padding:14px 22px 14px 18px;font-weight:700;font-size:.85rem;box-shadow:var(--shadow-lift);
}
.fab-book:hover{background:var(--brass);color:var(--ink);}
.mobile-bar{display:none;}
@media (max-width:720px){
  .floating-cta{right:14px;bottom:78px;}
  .fab{width:48px;height:48px;font-size:1.15rem;}
  .fab-book{display:none;}
  .mobile-bar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:240;
    background:var(--ink);border-top:1px solid var(--line-on-ink);
  }
  .mobile-bar a{flex:1;text-align:center;padding:14px 6px;font-size:.78rem;font-weight:700;color:var(--ivory);border-right:1px solid var(--line-on-ink);}
  .mobile-bar a:last-child{border-right:none;color:var(--ink);background:var(--brass);}
}

/* breadcrumb */
.breadcrumb{padding:22px 0 0;font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--slate-light);letter-spacing:.03em;}
.breadcrumb a:hover{color:var(--maroon);}
.breadcrumb span{margin:0 8px;}

/* page hero (interior pages) */
.page-hero{background:var(--ink);color:var(--ivory);padding:64px 0 56px;}
.page-hero h1{color:var(--ivory);font-size:clamp(2rem,4vw,3rem);}
.page-hero p{color:var(--ivory-dim);max-width:640px;font-size:1.05rem;}
.crumb-on-ink{color:var(--slate-light);}
.crumb-on-ink a:hover{color:var(--brass-light);}

/* misc utility */
.text-center{text-align:center;margin-left:auto;margin-right:auto;}
.mt-0{margin-top:0;}
.tag-list{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.city-chip{padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:.82rem;font-weight:600;background:#fff;}
.city-chip:hover{border-color:var(--brass);color:var(--maroon);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media (max-width:860px){.two-col{grid-template-columns:1fr;}}
.checklist li{position:relative;padding-left:28px;margin-bottom:12px;font-size:.95rem;color:var(--slate);}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--brass);font-weight:700;}
.map-embed{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);}
.map-embed iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}
table.compare{width:100%;border-collapse:collapse;font-size:.9rem;}
table.compare th,table.compare td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;}
table.compare th{font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-light);}
blockquote.pull{border-left:2px solid var(--brass);padding-left:22px;font-family:'Fraunces',serif;font-size:1.2rem;font-style:italic;color:var(--ink);margin:24px 0;}
@media (max-width:768px){

.form-grid{
    grid-template-columns:1fr !important;
}

.form-grid .field{
    grid-column:span 1 !important;
}

.field.full{
    grid-column:span 1 !important;
}

.booking-card{
    padding:24px;
}

}
/* Hide floating buttons only on mobile */
@media (max-width: 768px) {

    .floating-cta{
        display: none !important;
    }

}
.fleet-card .img img{
    transition: transform .4s ease;
}

.fleet-card:hover .img img{
    transform: scale(1.08);
}
.btn-ghost{
    color: #000000 !important;
}
.bg-ink .section-head h2{
    color: #C8A05A !important;
}
table th{
    color: #8B7355;
}

table td{
    color: #2B241D;
}

table td:first-child{
    color: #1F1A15;
}

table a{
    color: #C8A05A;
}
.bg-ink .section-head p{
    color: #CFC6B8;
}
.services-section .section-head h2{
    color:#C8A05A;
}

.services-section .section-head p{
    color:#C8C4B0;
}


/* Hero */
.hero .section-head p{
    color:#ffffff;
}

/* Services */
.services-section .section-head p{
    color:#000000;
}

/* Why Choose */
.why-section .section-head p{
    color:#ffffff;
}

/* Fleet */
.fleet-section .section-head p{
    color:#000000;
}

/* Reviews */
.reviews-section .section-head p{
    color:#000000;
}

/* FAQ */
.faq-section .section-head p{
    color:#000000;
}

/* Footer */
.footer .section-head p{
    color:#c9c9c9;
}
.services-section .pin{
    color:#000;
}

.services-section .line,
.services-section .dot{
    background:#000;
}
.fleet-section .pin{
    color:#000;
}
.bg-dim{
    background:#14120F !important;
    color:#F6F3EC;
}
.bg-dim{
    background:#14120F !important;
    color:#F6F3EC !important;
}

/* Main Heading */
.bg-dim .section-head h2{
    color:#B08D57 !important;
}

/* Paragraph */
.bg-dim .section-head p{
    color:#F6F3EC !important;
}

/* Route Label */
.bg-dim .route-divider .pin{
    color:#B08D57 !important;
}

/* Divider Line */
.bg-dim .route-divider .line{
    background:rgba(246,243,236,0.20) !important;
}

/* Dot */
.bg-dim .route-divider .dot{
    background:#B08D57 !important;
}

/* Table Headings */
.bg-dim table th{
    color:#B08D57 !important;
}

/* Table Text */
.bg-dim table td{
    color:#F6F3EC !important;
}

/* Table Links */
.bg-dim table a{
    color:#B08D57 !important;
}

/* Table Lines */
.bg-dim table th,
.bg-dim table td{
    border-color:rgba(246,243,236,0.14) !important;
}
/* FAQ - Dark Theme */

.bg-dim{
    background:#14120F !important;
}

/* FAQ label */
.bg-dim .route-divider .pin{
    color:#B08D57 !important;
}

/* FAQ heading */
.bg-dim .section-head h2{
    color:#D3B486 !important;
}

/* View Full FAQ */
.bg-dim .section-head .btn-ghost{
    color:#F6F3EC !important;
}

/* FAQ Questions */
.bg-dim .faq-q{
    color:#F6F3EC !important;
}

/* Plus icon */
.bg-dim .faq-q .plus{
    color:#D3B486 !important;
}

/* FAQ answer */
.bg-dim .faq-a p{
    color:#F6F3EC !important;
}

/* FAQ borders */
.bg-dim .faq-item{
    border-bottom:1px solid rgba(246,243,236,0.18) !important;
}

/* Service Areas link inside FAQ */
.bg-dim .faq-a a{
    color:#D3B486 !important;
}
.grid-3 .card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.grid-3 .card .link {
    margin-top: auto;
}
.contact-info li,
.contact-info p {
    color: #fff !important;
}

.contact-info h2 {
    color: #D3B486 !important;
}
/* Contact section */
.bg-ink h2 {
    color: #D3B486 !important;
}

.bg-ink .checklist li {
    color: #FFFFFF !important;
}

.bg-ink .checklist li::before {
    color: #D3B486 !important;
}
/* Light Footer Theme */
.site-footer {
    background: #F6F3EC !important;
    color: #171512 !important;
    border-top: 1px solid #D8D0C2;
}

.site-footer h4 {
    color: #C8A05A !important;
}

.site-footer p {
    color: #55514A !important;
}

.site-footer a {
    color: #171512 !important;
}

.site-footer a:hover {
    color: #C8A05A !important;
}

.site-footer .footer-brand .brand-text strong {
    color: #171512 !important;
}

.site-footer .footer-brand .brand-text span {
    color: #C8A05A !important;
}

.site-footer .social-row a {
    color: #171512 !important;
    border-color: #D8D0C2 !important;
}

.site-footer .social-row a:hover {
    color: #C8A05A !important;
    border-color: #C8A05A !important;
}

.site-footer .footer-bottom {
    border-top-color: #D8D0C2 !important;
    color: #55514A !important;
}

.site-footer .footer-bottom a {
    color: #55514A !important;
}

.site-footer .footer-bottom a:hover {
    color: #C8A05A !important;
}
/* Floating buttons - same on desktop & mobile */

.floating-cta {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fab {
    width: 54px !important;
    height: 54px !important;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: var(--shadow-lift);
    transition: transform .3s var(--ease);
}

.fab:hover {
    transform: scale(1.08);
}

.fab.whatsapp {
    background: #2E7D5B !important;
    color: #fff !important;
}

.fab.call {
    background: #7A2E2E !important;
    color: #fff !important;
}

.fab svg {
    width: 28px;
    height: 28px;
    display: block;
}

@media (max-width: 720px) {

    .mobile-bar {
        display: none !important;
    }

    .floating-cta {
        display: flex !important;
        right: 10px;
        bottom: 20px;
        gap: 10px;
    }

    .fab {
        width: 48px !important;
        height: 48px !important;
    }

    .fab svg {
        width: 25px;
        height: 25px;
    }
}
.card .img {
    width: 100%;
    height: 260px;
    overflow: hidden;
    position: relative;
    margin-bottom: 16px;
}

.card .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.card .img svg {
    width: 100%;
    height: 100%;
    display: block;
}
table a {
    display: inline-block;
    position: relative;
    transition: all 0.3s ease;
}

table a:hover {
    transform: translateX(8px);
    color: #d4a653;
}

table a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    background: #d4a653;
    transition: width 0.3s ease;
}

table a:hover::after {
    width: 100%;
}
/* Review Cards Animation */

.review-card {
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.review-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
    border-color: #b78d4a;
}
.review-card h3 {
    transition: color 0.3s ease;
}

.review-card:hover h3 {
    color: #8a3030;
}
.review-card h3 {
    transition: color 0.3s ease;
}

.review-card:hover h3 {
    color: #8a3030;
}
/* FAQ - NO JAVASCRIPT VERSION */

.faq-item {
    border-bottom: 1px solid var(--line);
}

.faq-q {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;

    padding: 22px 0;

    cursor: pointer;
    text-align: left;

    font-family: 'Fraunces', serif;
    font-size: 1.05rem;
    color: var(--ink);

    list-style: none;
}

.faq-q::-webkit-details-marker {
    display: none;
}

.faq-q::marker {
    display: none;
}

.faq-q .plus {
    flex: none;
    color: var(--brass);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 1.2rem;
    transition: transform .3s ease;
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}

.faq-a p {
    margin: 0;
    padding: 0 0 20px;
    font-size: .94rem;
}

.faq-item[open] .faq-a {
    max-height: 500px;
}

.faq-item[open] .plus {
    transform: rotate(45deg);
}

.faq-q:hover {
    color: var(--maroon);
}
/* ===== MEDIUM COMPACT FOOTER ===== */

.site-footer {
    padding: 55px 0 0 !important;
}

.site-footer .footer-grid {
    gap: 35px !important;
    padding-bottom: 42px !important;
}

.site-footer h4 {
    margin-bottom: 15px !important;
}

.site-footer ul li {
    margin-bottom: 8px !important;
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
}

.site-footer .footer-brand p {
    margin-bottom: 16px !important;
    font-size: 0.86rem !important;
    line-height: 1.6 !important;
}

.site-footer .social-row {
    margin-top: 14px !important;
}

.site-footer .footer-bottom {
    padding: 22px 0 !important;
    font-size: 0.76rem !important;
}
/* ===== FOOTER BRAND ALIGNMENT FIX ===== */

.site-footer .footer-grid {
    align-items: start !important;
}

/* Brand logo + text */
.site-footer .footer-brand .brand {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 18px 0 !important;
}

/* Logo */
.site-footer .footer-brand .brand img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    flex: 0 0 52px !important;
}

/* Brand text */
.site-footer .footer-brand .brand-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1.15 !important;
}

/* Business name */
.site-footer .footer-brand .brand-text strong {
    display: block !important;
    margin: 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.15 !important;
}

/* Tagline */
.site-footer .footer-brand .brand-text span {
    display: block !important;
    margin-top: 5px !important;
    line-height: 1.2 !important;
}

/* Description */
.site-footer .footer-brand > p {
    margin: 0 0 16px 0 !important;
    max-width: 400px !important;
    line-height: 1.6 !important;
}
.about-route-image {
    overflow: hidden;
}

.about-route-image img {
    width: 100%;
    max-width: 620px;
    display: block;
    transition: transform 0.6s ease;
}

.about-route-image:hover img {
    transform: scale(1.06) translateY(-3px);
}
.driver-image {
  overflow: hidden;
  border-radius: 4px;
}

.driver-image img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.driver-image:hover img {
  transform: scale(1.04);
}

@media (max-width: 768px) {
  .driver-image img {
    min-height: 300px;
  }
}
/* ================================
   CTA SECTION COLOR FIX
================================ */

.bg-dim {
  background: #1b1815 !important;
  color: #f4eee3 !important;
  padding-top: 50px;
  padding-bottom: 50px;
}

.bg-dim h2 {
  color: #f4eee3 !important;
}

.bg-dim p {
  color: #d8d0c4 !important;
}

/* Book Now */
.bg-dim .btn-primary {
  background: #8f302f !important;
  color: #ffffff !important;
  border-color: #8f302f !important;
}

.bg-dim .btn-primary:hover {
  background: #a83d3a !important;
  border-color: #a83d3a !important;
}

/* Call button */
.bg-dim .btn-outline-ink {
  background: transparent !important;
  color: #d2a45d !important;
  border: 1px solid #d2a45d !important;
}

.bg-dim .btn-outline-ink:hover {
  background: #d2a45d !important;
  color: #1b1815 !important;
}
/* What We Stand For - Card Colors */
.grid-4 .card {
  background: #f8f5ef !important;
}

.grid-4 .card h3 {
  color: #171412 !important;
}

.grid-4 .card p {
  color: #4a4540 !important;
  opacity: 1 !important;
}
.mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 85%;
    max-width: 380px;
    height: 100vh;
    z-index: 9999;

    transform: translateX(100%);
    opacity: 0;

    transition:
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.25s ease;

    overflow-y: auto;
    visibility: hidden;
}

.mobile-drawer.active {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
}
.img {
    overflow: hidden;
    cursor: pointer;
}

.img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.img:hover img {
    transform: scale(1.08);
}
.checklist li {
    color: #ffffff !important;
}
/* FIX FOOTER COLUMN ALIGNMENT */

.site-footer .footer-grid {
    display: grid !important;
    grid-template-columns: 1.6fr 1.4fr 1.1fr 1.4fr !important;
    gap: 50px !important;
    align-items: start !important;
}

/* Keep each footer section inside its own column */
.site-footer .footer-grid > div {
    min-width: 0;
}

/* Services links should stay vertically separated */
.site-footer .footer-grid > div:nth-child(2) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-footer .footer-grid > div:nth-child(2) a {
    display: block !important;
    width: auto !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    white-space: nowrap;
}

/* Service Areas + Contact lists */
.site-footer .footer-grid ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.site-footer .footer-grid li {
    margin-bottom: 12px !important;
    line-height: 1.45 !important;
}

/* Footer headings */
.site-footer .footer-grid h4 {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* Bottom copyright */
.site-footer .footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 55px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .site-footer .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 35px !important;
    }

    .site-footer .footer-grid > div:nth-child(2) a {
        white-space: normal;
    }

    .site-footer .footer-bottom {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
}
/* FINAL FOOTER SPACING FIX */

.site-footer {
    padding-top: 55px !important;
    padding-bottom: 25px !important;
}

.site-footer .footer-grid {
    align-items: start !important;
}

.site-footer .footer-brand p {
    margin-bottom: 22px !important;
}

.site-footer .footer-bottom {
    margin-top: 45px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(0, 0, 0, 0.10);
}

/* Keep footer columns compact */
.site-footer .footer-grid > div {
    height: auto !important;
    min-height: 0 !important;
}

/* Services spacing */
.site-footer .footer-grid > div:nth-child(2) a {
    margin-bottom: 9px !important;
}

/* Service area + contact spacing */
.site-footer .footer-grid li {
    margin-bottom: 10px !important;
}

/* Prevent unnecessary footer height */
.site-footer .container {
    min-height: 0 !important;
}
.site-footer {
    padding-top: 45px !important;
    padding-bottom: 18px !important;
}

.site-footer .footer-bottom {
    margin-top: 35px !important;
    padding-top: 18px !important;
}
#our-drivers {
  background: transparent !important;
}

#our-drivers li {
  color: #000 !important;
  list-style: none !important;
}

#our-drivers li::before {
  color: var(--brass) !important;
}
#our-drivers li {
  margin-bottom: 5px;
}
.fleet-card {
  display: flex;
  flex-direction: column;
}

.fleet-card .body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.fleet-card .body .btn {
  margin-top: auto !important;
  align-self: flex-start;
}
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.city-chip {
    display: inline-flex;
    align-items: center;
    padding: 13px 20px;
    background: #ffffff;
    color: #111111 !important;
    border: 1px solid #dedede;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.city-chip:hover {
    border-color: #c49a55;
    color: #111111 !important;
    background: #ffffff;
}
.fleet-card .img {
  position: relative;
  overflow: hidden;
}

.fleet-card .img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}

.fleet-card .img span {
  display: block;
  margin-top: 12px;
}
.social-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.social-row a {
    width: 38px !important;
    height: 38px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    border: 1px solid #d8d0c2 !important;
    border-radius: 50% !important;

    background: transparent !important;

    color: #b5965a !important;

    text-decoration: none !important;

    transition: all 0.3s ease;
}

.social-row a svg {
    width: 17px !important;
    height: 17px !important;

    display: block;

    color: #b5965a !important;
    fill: currentColor;
}

.social-row a:hover {
    background: #b5965a !important;
    border-color: #b5965a !important;
    transform: translateY(-2px);
}

.social-row a:hover svg {
    color: #ffffff !important;
}
/* ==========================================
   MOBILE DRAWER FIX
========================================== */

.mobile-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;

    width: 85% !important;
    max-width: 380px !important;
    height: 100vh !important;

    z-index: 999999 !important;

    transform: translateX(100%) !important;
    opacity: 0 !important;
    visibility: hidden !important;

    transition:
        transform 0.35s ease,
        opacity 0.35s ease,
        visibility 0.35s ease !important;

    overflow-y: auto !important;
}

.mobile-drawer.active {
    transform: translateX(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
}
/* ===== MOBILE WIDTH FIX ===== */

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

@media (max-width: 768px) {

    .container,
    .section,
    section,
    .bg-dim {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .compare {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .compare td,
    .compare th {
        box-sizing: border-box;
        word-break: normal !important;
        overflow-wrap: break-word;
    }

    .table-scroll {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }
}