:root{--navy:#050d1a;--navy2:#0a1628;--blue:#2388ff;--ink:#0d1b2e;--muted:#5a6678;--light:#f6f9fd;--serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);color:#fff;background:var(--navy);line-height:1.6;font-size:15px;overflow-x: hidden;}
a{color:inherit;text-decoration:none;}
a:hover{color:#fff!important; text-decoration: none;}
h1,h2{font-family:var(--serif);font-weight:500;line-height:1.15}
h3{font-family: var(--sans);}
.photo{background:var(--img),linear-gradient(135deg,#1c2b44,#0a1220);background-size:cover;background-position:center}
.eyebrow{font-size:11px;letter-spacing:.25em;color:#cfd8e6;margin-bottom:18px;display:flex;align-items:center;gap:14px}
.eyebrow::after{content:"";width:50px;height:1px;background:currentColor;opacity:.5}
.eyebrow.dark{color:var(--muted)}
.lead{color:var(--muted)}
.btn {
    display: inline-block; 
    padding: 12px 26px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
    transition: .2s;
}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:#1673e6;color: #fff !important;text-decoration: none;}
.btn-outline{border-color:rgba(255,255,255,.5)}
.btn-outline:hover{background:rgba(255,255,255,.1)}
a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}


/* nav */
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:rgba(5,13,26,.95);backdrop-filter:blur(8px)}
.logo{display:flex;align-items:center;gap:5px;font-weight:600;letter-spacing:.08em;font-size:14px}
.logo-mark{display:grid;place-items:center;font-family:var(--serif);font-size:15px}
.logo-mark img{width:80%;}
a.logo:hover {
    text-decoration: none;
    color: #fff !important;
}
.nav nav{display:flex;gap:34px;font-size:13px}
a {
    color: #fff !important;
}
.nav nav a{padding:6px 0;border-bottom:2px solid transparent}
.nav nav a.active,.nav nav a:hover{border-color:var(--blue);text-decoration:none;color:#fff;}

span.dg-logo-text {
    font-size: 20px;
		letter-spacing:0;
}

/* hero */
.hero{position:relative;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;min-height:560px;padding:0 5vw;background:linear-gradient(120deg,#050d1a 40%,#3a3a48 80%,#a9683c 130%);overflow:hidden}
.hero-text{position:relative;z-index:2;max-width:480px;padding:60px 0}
.hero h1{font-size:clamp(38px,5vw,56px);margin-bottom:22px; color:#fff;}
.hero h1 span{color:var(--blue)}
.hero p:not(.eyebrow){color:#e5ebf5;max-width:420px;margin-bottom:34px}
.actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-img{position:absolute;right:0;top:0;width:62%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%)}
.hero {
    position: relative;
    min-height: 650px;

    background-image: var(--hero-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    display: flex;
    align-items: center;
}

.hero {
    position: relative;
    min-height: 650px;

    background-image:
        linear-gradient(
            90deg,
            rgba(5, 15, 28, 0.95) 0%,
            rgba(5, 15, 28, 0.80) 35%,
            rgba(5, 15, 28, 0.30) 65%,
            rgba(5, 15, 28, 0.05) 100%
        ),
        var(--hero-bg);

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    display: flex;
    align-items: center;
}

/* features */
.features{display:grid;grid-template-columns:repeat(4,1fr);padding:44px 5vw; text-align:center}
.features>div{padding:0 24px;border-right:1px solid rgba(255,255,255,.12)}
.features>div:last-child{border:0}
.ico{display:block;font-size:30px;color:var(--blue);margin-bottom:10px}
.features h3{font-size:15px;font-weight:600;margin-bottom:8px;font-family: var(--sans); letter-spacing:0px;color:#fff;}
.features p{font-size:12.5px;color:#c4cfdf}
.features {
    position: relative;
    overflow: hidden;

    background-image:
        linear-gradient(
            to bottom,
            rgba(5, 15, 28, 0.88) 0%,
            rgba(5, 15, 28, 0.90) 60%,
            rgba(5, 15, 28, 0.98) 100%
        ),
        var(--features-bg);

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.light{background:var(--light);color:var(--ink);padding:70px 5vw}
.light h2{font-size:clamp(28px,3.5vw,38px);margin-bottom:14px}
.services .lead{margin-bottom:40px}
.grid4{display:grid;grid-template-columns:repeat(3,2fr);gap:30px}
.card{background:#fff;padding:0px 0px 22px;box-shadow:0 4px 18px rgba(13,27,46,.08)}
.card .photo{height:200px;margin-bottom:16px}
.chauff-text {padding:0 10px;}
.card h3,.card p,.card a{padding:0 10px;display:block}
.card h3{font-size:15px;margin-bottom:10px;min-height:46px; font-family: var(--sans); font-weight: 600;
    letter-spacing: 0; }
.card p{font-size:12.5px;color:var(--muted);min-height:50px}
.card a{color:var(--blue)!important;font-weight:600;font-size:13px;margin-top:12px}
.card:hover a {
    color: #050E1B!important;
}
/* fleet */
.fleet {
    position: relative;
    overflow: hidden;

        background-image:
        linear-gradient(
            to bottom,
            rgba(5, 15, 28, 0.82) 0%,
            rgba(5, 15, 28, 0.88) 55%,
            rgba(5, 15, 28, 1) 100%
        ),

        var(--fleet-bg);

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fleet{padding:60px 5vw 70px;}
.fleet-head{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:32px}
.fleet h2{font-size:clamp(28px,3.5vw,38px);max-width:500px;color:#fff;}
.fleet .lead{color:#c4cfdf;font-size:13px;border-left:1px solid rgba(255,255,255,.2);padding-left:24px}
.grid3{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.vehicle{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.vehicle .photo{height:200px}
.v-body{padding:18px 20px 22px}
.v-body small{color:var(--blue);letter-spacing:.2em;font-size:10px;font-weight:600}
.v-body h3{font-size:17px; margin:6px 0 2px; color:#fff; letter-spacing: 0;font-weight:600;line-height: 27px;}
.v-body p{font-size:13px;color:#c4cfdf;margin-bottom:14px}
.v-body a{color:var(--blue);font-size:13px;font-weight:500;border-bottom:1px solid var(--blue)}

/* why */
.why{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px 56px;
  align-items:start;
}

/* image: left column, spans both rows */
.why-img{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
}
.why-img img{
  display:block;
  width:100%;
  max-height:560px;
  object-fit:contain;
  border-radius:16px;
}

/* text: right column, top */
.why-content{
  grid-column:2;
  grid-row:1;
}

/* reasons: right column, below the text */
.reasons{
  grid-column:2;
  grid-row:2;
}

.image-slide {
background: linear-gradient(45deg, #071221, #07101f);
    color: #fff;
    padding: 10px 10px 0px 10px;
  }

p.slide-caption {
  font-size: 14px !important;
    line-height: 40px !important;
    text-align: center !important;
}


@media(max-width:960px){
   .nav {
        flex-wrap: wrap;
        gap: 0;
    }



  .hero{grid-template-columns:1fr}
  .hero-img{width:100%;opacity:.35;-webkit-mask-image:none;mask-image:none}
  .features,.grid4{grid-template-columns:1fr 1fr;gap:28px 0}
  .features>div:nth-child(2){border:0}
  .grid3,.why,.reasons{grid-template-columns:1fr}
  
  .fleet-head{flex-direction:column;align-items:flex-start}
  .foot-grid{grid-template-columns:1fr 1fr}
   .why{ grid-template-columns:1fr; }
  .why-img, .why-content, .reasons{
    grid-column:1;
    grid-row:auto;
  }
}
@media(max-width:560px){.grid4,.features{grid-template-columns:1fr}.features>div{border:0}.foot-grid{grid-template-columns:1fr}.foot-bottom{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* mobile: stack image, then text, then reasons */

/* why */
.why h2 span{color:var(--blue)}
.why{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center;padding:60px 5vw}
.why h2 span{color:var(--blue)}


.reasons{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px}
.reasons>div{display:flex;align-items:flex-start;gap:12px}
.reasons b{font-family:var(--serif);font-size:20px;font-weight:400;color:#b8c2d1}
.reasons .ico{font-size:26px;margin:0}
.reasons h4{font-size:13px;border-top:2px solid var(--blue);padding-top:8px;margin-bottom:4px;width:max-content;max-width:100%;
 font-family:var(--sans);
    letter-spacing: 0;
    color: #000;
    font-weight: 600;}
.reasons p{font-size:12px;color:var(--muted)}

/* cta */
.cta{padding:60px 5vw;background: linear-gradient(90deg, rgba(5, 13, 26, .95) 40%, rgb(0 0 0 / 50%)), var(--img), #ffffff;background-size:cover;background-position:center}
.cta .eyebrow{color:var(--blue);font-size:10px}.cta .eyebrow::after{display:none}
.cta h2{font-size:clamp(28px,3.5vw,36px);margin-bottom:10px; color:#fff;}
.cta p:not(.eyebrow){font-size:13px;margin-bottom:22px;color:#fff;max-width: 520px;}


.vehicle-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:14px;
  padding: 0px 10px;
}
.vehicle-label{
  flex:0 0 auto;
  font-weight:600;
  font-size:15px;
  white-space:nowrap;
}
.vehicle-select{
  flex:1;
  min-width:0;
  padding:10px 14px;
  border-radius:8px;
  border:1px solid #ccc;
  background:#fff;
  font-size:13px;
  cursor:pointer;
}
.vehicle-go{
  flex:0 0 auto;
  width:2px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:50%;
  background:#111;          /* change to your brand color */
  color:#fff;
  cursor:pointer;
  transition:transform .2s ease, opacity .2s ease;
}
.vehicle-go:hover:not(:disabled){
  transform:translateX(3px);
}
.vehicle-go:disabled{
  opacity:.35;
  cursor:not-allowed;
}



/* very small screens: label goes on top */
@media (max-width:380px){
  .vehicle-row{ flex-wrap:wrap; }
  .vehicle-label{ flex:1 0 100%; }
}
/* footer */
footer{background:var(--navy2);padding:40px 5vw 24px !important;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:30px;padding-bottom:36px}
.foot-grid p{font-size:12px;margin-top:14px;max-width:220px;color:#c4cfdf}
.foot-grid h5{font-size:12px;margin-bottom:14px;font-family: var(--sans);
    color: #fff;
    font-weight: 600;
    letter-spacing: 0;}
.foot-grid div>a:not(.logo){display:block;font-size:12px;color:#c4cfdf;margin-bottom:6px}
.foot-grid div>a:not(.logo):hover{color:#fff !important;text-decoration:none;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;font-size:11px;color:#9aa7ba}
.social{display:flex;gap:10px}
.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fff;
  border:1px solid var(--line);color:var(--navy2);font-size:15px;transition:.2s}
.social a:hover{background:var(--blue);border-color:var(--blue);color:#fff !important}
.social i {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    font-size: 15px;border-radius: unset !important;background: unset!important;
    color:#050d1a;
    
  }

/* responsive */




/* Desktop header */
.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: relative;
}

a.btn.btn-primary.mobile-book-btn {
        display: none;
    }

.nav-menu {
    display: flex;
    align-items: center;
    gap: 24px;
}

.nav-menu nav {
    display: flex;
    align-items: center;
    gap: 24px;
}

/* Hide checkbox controls */
.menu-checkbox,
.fleet-checkbox {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

/* Hamburger hidden on desktop */
.hamburger {
    display: none;
}

/* Fleet dropdown */
.nav-dropdown {
    position: relative;
}

.fleet-heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fleet-arrow {
    cursor: pointer;
    color: #fff !important;
   }

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 190px;
    padding: 8px 10px;
    background: #081525;
    border: 1px solid rgba(10, 185, 251, 0.3);
    border-radius: 6px;
    z-index: 999;
}

.dropdown-menu a {
    display: block;
    padding: 12px 16px;
    color: #fff;
    text-decoration: none;
}

.dropdown-menu a:hover {
    /* color: #0AB9FB; */
    background: rgba(10, 185, 251, 0.12);
}



@media (min-width: 769px) {
    .nav-dropdown:hover .dropdown-menu,
    .nav-dropdown:focus-within .dropdown-menu {
        display: block;
    }
    
    .mobile-book-btn {
        display: none;
    }
}

/* Mobile navigation */


@media (max-width: 768px) {


span.dg-logo-text {
    font-size: 18px;
}

.nav nav a.active,.nav nav a:hover {
  border:none;
  /*color: #2388ff !important;*/
}

    .nav {
        flex-wrap: wrap;
        gap: 0;
    }
    a.btn.btn-primary.desktop-book-btn{
        display: none;
    }
 
    a.btn.btn-primary.mobile-book-btn {
        display: block;
    }

     .nav-menu-inner .mobile-book-btn {
        align-self: flex-start;   /* stops the full-width stretch */
        width:fit-content;
         margin: 20px 18px 24px !important; 
        padding: 10px 18px;
    }

    .hamburger {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
       /* width: 44px;
        height: 44px;*/
        padding: 8px;
        background: #081525 !important;
       /* border: 1px solid #2388ff !important;*/
        border-radius: 5px;
        cursor: pointer;
        position: relative;
        z-index: 9999;
    }
    .hamburger span {
        transition: transform .35s ease, opacity .25s ease;
        transform-origin: center;
    }

    .hamburger span {
        display: block !important;
        width: 24px !important;
        height: 3px !important;
        background-color: #2388ff !important;
        opacity: 1 !important;
        border-radius: 2px;
    }

      .nav-menu nav > a,
    .nav-menu .nav-dropdown,
    .nav-menu .mobile-book-btn {
        opacity: 0;
        transform: translateY(8px);
        transition: opacity .25s ease, transform .25s ease;
    }

    .menu-checkbox:checked ~ .nav-menu nav > a,
    .menu-checkbox:checked ~ .nav-menu .nav-dropdown,
    .menu-checkbox:checked ~ .nav-menu .mobile-book-btn {
        opacity: 1;
        transform: translateY(0);
				margin-top:20px!important;
    }

    .menu-checkbox:checked ~ .nav-menu nav > a:nth-child(1) { transition-delay: .10s; }
    .menu-checkbox:checked ~ .nav-menu nav > a:nth-child(2) { transition-delay: .15s; }
    .menu-checkbox:checked ~ .nav-menu .nav-dropdown        { transition-delay: .20s; }
    .menu-checkbox:checked ~ .nav-menu nav > a:last-child   { transition-delay: .25s; }
    .menu-checkbox:checked ~ .nav-menu .mobile-book-btn     { transition-delay: .30s;  }

  .fleet-arrow {
        display: inline-block;
        transition: transform .3s ease;
        font-size: 20px !important;
    }

    .fleet-checkbox:checked ~ .fleet-heading .fleet-arrow {
        transform: rotate(180deg);
    }

    /* Hamburger animation */
    .menu-checkbox:checked + .hamburger span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-checkbox:checked + .hamburger span:nth-child(2) {
        opacity: 0 !important;

    }

    .menu-checkbox:checked + .hamburger span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    .desktop-book-btn {
        display: none;
    }

    .nav-menu {
        display: none;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        flex-basis: 100%;
        padding: 12px 0;
        margin-top: 12px;
        background: #081525;
        border-top: 1px solid rgba(10, 185, 251, 0.25);
    }

    .menu-checkbox:checked ~ .nav-menu {
        display: flex;
    }

    .nav-menu nav {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
				font-size:18px;
    }

    .nav-menu nav > a,
    .fleet-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 17px 14px 12px 27px;
    }

    .nav-dropdown {
        width: 100%;
    }

    .dropdown-menu {
        position: static;
        min-width: 0;
        width: 100%;
        box-sizing: border-box;
        padding: 0 0 8px 27px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        transition:
            grid-template-rows .4s ease,
            opacity .3s ease;
    }

 .dropdown-menu-inner a {
        transform: translateY(-6px);
        transition:
            opacity .25s ease,
            transform .25s ease,
            background .2s ease,
            color .2s ease;
		       padding: 20px;
    }

     .fleet-checkbox:checked ~ .dropdown-menu .dropdown-menu-inner a {
      
        transform: translateY(0);
    }
    .fleet-checkbox:checked ~ .dropdown-menu {
        display: block;
    }

   .mobile-book-btn {
        margin: 12px 18px 24px;
    }
     h2 {
        white-space: normal;
        overflow-wrap: anywhere;
    }
     .mobile-break {
        display: block;
    }

        .foot-grid {
          grid-template-columns: 1fr;
        }


}

/* WordPress admin bar offset */
body.admin-bar .nav{top:32px}
@media(max-width:782px){body.admin-bar .nav{top:46px}}
body.dg-frontend{margin:0}