

/* =====================================
   FAQ
===================================== */

.cruise-faq-v2{
  padding:95px 0 100px;
  background:#f8f6f1;
}

.faq-v2-head{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:80px;

  align-items:end;

  margin-bottom:52px;
}

.faq-v2-head h2{
  max-width:590px;

  margin:0;

  color:#091c32;

  font-family:Georgia,"Times New Roman",serif;

  font-size:46px;
  font-weight:500;

  line-height:1.06;

  letter-spacing:-1.4px;
}

.faq-v2-head > p{
  max-width:480px;

  margin:0 0 5px auto;

  color:#68727d;

  font-size:14px;

  line-height:1.75;
}


.faq-v2-list{
  display:grid;

  gap:12px;
}


.faq-v2-item{
  overflow:hidden;

  background:#fff;

  border:1px solid #e4dfd4;

  border-radius:14px;

  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease;
}

.faq-v2-item:hover{
  border-color:#d4bd8e;

  box-shadow:0 8px 25px rgba(9,28,50,.05);
}

.faq-v2-item[open]{
  border-color:#c9aa6b;

  box-shadow:0 10px 30px rgba(9,28,50,.06);
}


.faq-v2-item summary{
  list-style:none;

  display:grid;

  grid-template-columns:50px 1fr 38px;

  align-items:center;

  gap:18px;

  min-height:82px;

  padding:0 23px;

  cursor:pointer;
}

.faq-v2-item summary::-webkit-details-marker{
  display:none;
}


.faq-number{
  color:#b28b43;

  font-family:Georgia,"Times New Roman",serif;

  font-size:14px;

  letter-spacing:.06em;
}


.faq-question{
  color:#10243b;

  font-size:15px;

  font-weight:600;

  line-height:1.45;
}


.faq-plus{
  width:34px;
  height:34px;

  display:flex;

  align-items:center;
  justify-content:center;

  border:1px solid #d5c49f;

  border-radius:50%;

  color:#a88038;

  font-size:20px;

  font-weight:300;

  transition:transform .22s ease;
}


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


.faq-v2-answer{
  max-width:850px;

  margin-left:91px;

  padding:0 60px 27px 0;

  color:#66717c;

  font-size:14px;

  line-height:1.8;
}


/* =====================================
   SAME FOOTER STYLE AS SERVICE PAGES
===================================== */

footer{
  padding:68px 0 0;

  background:#0a192a;

  color:#fff;
}


.footer-grid{
  display:grid;

  grid-template-columns:1.35fr .8fr 1.2fr;

  gap:70px;

  padding-bottom:55px;
}


.footer-brand{
  margin-bottom:16px;

  font-family:Georgia,"Times New Roman",serif;

  font-size:24px;

  font-weight:500;
}


footer p{
  max-width:370px;

  margin:0;

  color:rgba(255,255,255,.58);

  font-size:13px;

  line-height:1.7;
}


footer h3{
  margin:0 0 18px;

  color:#d6ae60;

  font-size:11px;

  font-weight:700;

  letter-spacing:.13em;

  text-transform:uppercase;
}


.footer-links{
  display:flex;

  flex-direction:column;

  align-items:flex-start;

  gap:11px;
}


.footer-links a{
  color:rgba(255,255,255,.66);

  font-size:12px;

  line-height:1.5;

  transition:.2s ease;
}


.footer-links a:hover{
  color:#fff;
}


.copyright{
  padding:22px 0;

  border-top:1px solid rgba(255,255,255,.10);

  color:rgba(255,255,255,.42);

  font-size:11px;
}


/* MOBILE */

@media(max-width:800px){

  .faq-v2-head{
    grid-template-columns:1fr;

    gap:20px;
  }

  .faq-v2-head > p{
    margin-left:0;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;

    gap:40px;
  }

}


@media(max-width:600px){

  .cruise-faq-v2{
    padding:65px 0 70px;
  }

  .faq-v2-head{
    margin-bottom:35px;
  }

  .faq-v2-head h2{
    font-size:35px;
  }

  .faq-v2-item summary{
    grid-template-columns:35px 1fr 32px;

    gap:10px;

    min-height:75px;

    padding:0 14px;
  }

  .faq-number{
    font-size:12px;
  }

  .faq-question{
    font-size:13px;
  }

  .faq-plus{
    width:30px;
    height:30px;
  }

  .faq-v2-answer{
    margin-left:59px;

    padding:0 20px 22px 0;

    font-size:13px;
  }

  .footer-grid{
    grid-template-columns:1fr;

    gap:32px;
  }

}





/* =====================================
   LUXURY MINIMAL FAQ
===================================== */

.cruise-faq-v2{
  padding:110px 0 115px!important;
  background:#f6f3ec!important;
}

.faq-v2-head{
  display:grid!important;
  grid-template-columns:.8fr 1.2fr!important;
  gap:100px!important;
  align-items:start!important;
  margin-bottom:65px!important;
}

.faq-v2-head .section-kicker{
  color:#aa843d!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.20em!important;
  margin-bottom:16px!important;
}

.faq-v2-head h2{
  max-width:520px!important;
  margin:0!important;

  color:#081b31!important;

  font-family:Georgia,"Times New Roman",serif!important;
  font-size:52px!important;
  font-weight:400!important;
  line-height:1.03!important;
  letter-spacing:-1.8px!important;
}

.faq-v2-head > p{
  max-width:500px!important;
  margin:13px 0 0!important;

  color:#6d716f!important;

  font-size:14px!important;
  font-weight:400!important;
  line-height:1.8!important;
}


/* REMOVE CARD LOOK */

.faq-v2-list{
  display:block!important;
  border-top:1px solid rgba(8,27,49,.18)!important;
}

.faq-v2-item{
  margin:0!important;
  padding:0!important;

  background:transparent!important;

  border:0!important;
  border-bottom:1px solid rgba(8,27,49,.16)!important;

  border-radius:0!important;

  box-shadow:none!important;
  transform:none!important;
}

.faq-v2-item:hover,
.faq-v2-item[open]{
  background:transparent!important;
  border-color:rgba(8,27,49,.24)!important;
  box-shadow:none!important;
  transform:none!important;
}


/* QUESTION */

.faq-v2-item summary{
  min-height:0!important;

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

  gap:30px!important;

  padding:27px 2px!important;

  cursor:pointer!important;
}

.faq-number{
  display:none!important;
}

.faq-question{
  color:#0b2037!important;

  font-family:Georgia,"Times New Roman",serif!important;
  font-size:19px!important;
  font-weight:400!important;
  line-height:1.4!important;

  letter-spacing:-.15px!important;
}


/* PLUS */

.faq-plus{
  flex:0 0 34px!important;

  width:34px!important;
  height:34px!important;

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

  border:1px solid rgba(170,132,61,.65)!important;
  border-radius:50%!important;

  color:#9e7936!important;
  background:transparent!important;

  font-family:Arial,sans-serif!important;
  font-size:18px!important;
  font-weight:300!important;

  transition:transform .25s ease!important;
}

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


/* ANSWER */

.faq-v2-answer{
  max-width:800px!important;

  margin:0!important;

  padding:0 70px 29px 2px!important;

  color:#686d6e!important;

  font-size:14px!important;
  font-weight:400!important;
  line-height:1.85!important;
}


/* MOBILE */

@media(max-width:800px){

  .cruise-faq-v2{
    padding:75px 0 80px!important;
  }

  .faq-v2-head{
    grid-template-columns:1fr!important;
    gap:22px!important;
    margin-bottom:45px!important;
  }

  .faq-v2-head h2{
    font-size:40px!important;
  }

  .faq-v2-head > p{
    margin:0!important;
  }

}


@media(max-width:600px){

  .faq-v2-head h2{
    font-size:35px!important;
  }

  .faq-v2-item summary{
    padding:22px 0!important;
    gap:18px!important;
  }

  .faq-question{
    font-size:17px!important;
  }

  .faq-plus{
    flex-basis:30px!important;
    width:30px!important;
    height:30px!important;
  }

  .faq-v2-answer{
    padding:0 42px 24px 0!important;
    font-size:13px!important;
  }

}





/*
 Exact header/navigation styling synchronized
 from houston-airport-transportation.html
*/

.site-header{
      background: rgba(255,255,255,.96);
      border-bottom: 1px solid #e7e1d8;
      position: sticky;
      top: 0;
      z-index: 100;
      backdrop-filter: blur(10px);
    }
.nav{
      min-height: 92px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
    }
.brand{
      display: flex;
      flex-direction: column;
      line-height: 1;
    }
.brand-name{
      font-family: Georgia, "Times New Roman", serif;
      font-size: 32px;
      font-weight: 700;
    }
.brand-tagline{
      margin-top: 8px;
      color: #8d6c35;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
    }
.nav-links{
      display: flex;
      align-items: center;
      gap: 36px;
      font-size: 15px;
      font-weight: 600;
    }
.nav-links a{
      padding: 35px 0;
    }
.nav-links a:hover{
      color: #a67c38;
    }
.header-quote{
      background: #bd9652;
      color: #fff;
      padding: 14px 22px;
      border-radius: 5px;
      font-weight: 700;
    }
@media (max-width: 850px){
.nav-links{
        display: none;
      }
}
@media (max-width: 560px){
.brand-name{
        font-size: 25px;
      }
.header-quote{
        padding: 11px 13px;
        font-size: 12px;
      }
}
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid rgba(0,0,0,.07)!important;
  backdrop-filter:blur(12px)!important;
}
.nav{
  min-height:74px!important;
}
.brand{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:11px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:20px!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.brand:before{
  content:"DL";
  width:36px;
  height:36px;
  border-radius:50%;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
}
.nav-links{
  display:flex!important;
  align-items:center!important;
  gap:30px!important;
  font-size:13px!important;
  font-weight:600!important;
}
.nav-links > a{
  padding:28px 0!important;
}
.header-quote{
  background:#111!important;
  color:#fff!important;
  padding:12px 19px!important;
  border-radius:6px!important;
  font-size:13px!important;
}
.services-menu{
  position:relative;
  display:flex;
  align-items:center;
}
.services-trigger{
  appearance:none;
  border:0;
  background:transparent;
  font:inherit;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  padding:28px 0;
}
.services-dropdown{
  position:absolute;
  top:calc(100% - 5px);
  left:50%;
  transform:translate(-50%,10px);
  width:285px;
  padding:6px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.55);
  border-radius:8px;
  box-shadow:0 18px 45px rgba(0,0,0,.13);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.18s ease;
}
.services-menu:hover .services-dropdown,
.services-menu:focus-within .services-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.services-dropdown a{
  display:block!important;
  padding:8px 10px!important;
  border-radius:6px!important;
}
.services-dropdown a:hover{
  background:rgba(255,255,255,.6)!important;
}
.services-dropdown strong{
  display:block;
  font-size:12px;
  line-height:1.15;
}
.services-dropdown span{
  display:block;
  margin-top:2px;
  color:#777;
  font-size:10px;
}
@media(max-width:760px){
.nav{
    min-height:70px!important;
  }
.nav-links{
    display:none!important;
  }
.brand{
    font-size:17px!important;
  }
.header-quote{
    padding:11px 14px!important;
    font-size:12px!important;
  }
}
.mobile-simple-menu{
  display:none;
}
@media(max-width:760px){
.nav-links{
    display:none!important;
  }
.header-quote{
    display:none!important;
  }
.site-header,
.site-header .container,
.site-header .nav{
    overflow:visible!important;
  }
.mobile-simple-menu{
    display:block!important;
    position:relative;
    margin-left:auto;
    z-index:5000;
  }
.mobile-simple-btn{
    width:42px;
    height:42px;
    min-width:42px;

    padding:0;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;

    background:
      linear-gradient(#111,#111)
      center/23px 2px
      no-repeat;

    border:0;

    cursor:pointer;
  }
.mobile-simple-btn::before,
.mobile-simple-btn::after{
    content:"";
    display:block;

    width:23px;
    height:2px;

    background:#111;

    border-radius:2px;
  }
.mobile-simple-btn span{
    display:none;
  }
.mobile-simple-dropdown{
    display:block;

    position:absolute;
    top:49px;
    right:0;

    width:min(290px,calc(100vw - 28px));
    max-height:calc(100vh - 90px);

    overflow:hidden;

    padding:8px;

    background:rgba(255,255,255,.99);

    border:1px solid rgba(0,0,0,.09);
    border-radius:12px;

    box-shadow:0 20px 55px rgba(0,0,0,.16);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transform:translateY(-6px);

    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility .16s ease;
  }
.mobile-simple-menu.open
  .mobile-simple-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
.mobile-simple-dropdown > a,
.mobile-services-open{
    display:flex!important;

    width:100%!important;

    align-items:center!important;
    justify-content:space-between!important;

    padding:13px 12px!important;

    color:#222!important;
    background:transparent!important;

    border:0!important;
    border-bottom:1px solid #ecece8!important;
    border-radius:0!important;

    font-family:inherit!important;
    font-size:14px!important;
    font-weight:600!important;

    text-decoration:none!important;
    text-align:left!important;
  }
.mobile-services-open{
    cursor:pointer;
  }
.mobile-services-panel{
    position:absolute;
    inset:0;

    padding:8px;

    background:rgba(255,255,255,.99);

    border-radius:12px;

    overflow-y:auto;

    transform:translateX(105%);

    transition:transform .18s ease;

    z-index:2;
  }
.mobile-simple-menu.services-open
  .mobile-services-panel{
    transform:translateX(0);
  }
.mobile-services-back{
    display:flex;

    width:100%;

    align-items:center;

    gap:8px;

    padding:12px 10px 13px;

    background:transparent;
    color:#111;

    border:0;
    border-bottom:1px solid #ecece8;

    font-family:inherit;
    font-size:13px;
    font-weight:700;

    cursor:pointer;
  }
.mobile-services-panel a{
    display:block!important;

    padding:11px 10px!important;

    color:#333!important;

    font-size:13px!important;
    font-weight:500!important;

    text-decoration:none!important;

    border-bottom:1px solid #f0f0ed!important;
  }
}
.site-header{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border-bottom:1px solid rgba(255,255,255,.35)!important;
}
.site-header{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:0!important;
  box-shadow:none!important;
}
.site-header .brand,
.site-header .nav-links > a,
.site-header .services-trigger{
  color:#fff!important;
}
.site-header .brand:before{
  background:#fff!important;
  color:#111!important;
}
.site-header .header-quote{
  background:#fff!important;
  color:#111!important;
}
.site-header .mobile-menu-button,
.site-header .menu-toggle{
  color:#fff!important;
  border-color:rgba(255,255,255,.65)!important;
  background:rgba(0,0,0,.15)!important;
}
.site-header .nav-links > a,
.site-header .services-trigger{
  font-size:17px!important;
  font-weight:600!important;
}
.site-header .header-quote{
  font-size:11px!important;
  padding:7px 11px!important;
  min-height:auto!important;
  border-radius:5px!important;
}
.site-header{
  background:transparent!important;
  background-color:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.site-header a.header-quote{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:12px 20px!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;

  background:rgba(25,25,25,.50)!important;
  color:#fff!important;

  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:999px!important;

  font-size:14px!important;
  font-weight:600!important;
  line-height:1!important;

  backdrop-filter:blur(12px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(110%)!important;

  box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
}
.site-header a.header-quote{
  padding:9px 15px!important;
  font-size:12px!important;
}
.services-dropdown{
  background:rgba(48,47,46,.50)!important;
  backdrop-filter:blur(14px) saturate(108%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(108%)!important;

  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.22)!important;
}
.services-dropdown a,
.services-dropdown strong{
  color:#fff!important;
}
.services-dropdown span{
  color:rgba(255,255,255,.70)!important;
}
.services-dropdown a:hover{
  background:rgba(255,255,255,.10)!important;
}
.services-dropdown a{
  font-weight:400!important;
}
.services-dropdown strong{
  font-weight:500!important;
}
.services-dropdown span{
  font-weight:400!important;
}
.site-header a.header-quote,
.site-header a.header-signin{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;

  padding:9px 15px!important;

  background:rgba(25,25,25,.50)!important;
  color:#fff!important;

  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:999px!important;

  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;

  backdrop-filter:blur(12px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(110%)!important;

  box-shadow:0 6px 18px rgba(0,0,0,.12)!important;

  text-decoration:none!important;
  box-sizing:border-box!important;
}
.services-dropdown{
  background:rgba(48,47,46,.50)!important;

  backdrop-filter:blur(14px) saturate(108%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(108%)!important;

  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.22)!important;
}
.services-dropdown a{
  color:#fff!important;
  font-weight:400!important;
}
.services-dropdown strong{
  color:#fff!important;
  font-weight:500!important;
}
.services-dropdown span{
  color:rgba(255,255,255,.70)!important;
  font-weight:400!important;
}
.services-dropdown a:hover{
  background:rgba(255,255,255,.10)!important;
}





/* EXACT HEADER GEOMETRY TO MATCH AIRPORT PAGE */

.site-header{
  left:0!important;
  right:0!important;
  width:100%!important;
}

/* Airport page uses 1280px / 94% */
.site-header > .container.nav{
  width:min(1280px,94%)!important;
  max-width:none!important;

  margin-left:auto!important;
  margin-right:auto!important;

  padding-left:0!important;
  padding-right:0!important;

  min-height:92px!important;

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

  gap:30px!important;

  position:relative!important;
}

/* LEFT: BRAND */
.site-header .brand{
  margin:0!important;
  flex:0 0 auto!important;
}

/* CENTER: HOME / SERVICES / FLEET */
.site-header .nav-links{
  position:absolute!important;

  left:50%!important;
  top:50%!important;

  transform:translate(-50%,-50%)!important;

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

  gap:36px!important;

  margin:0!important;
  padding:0!important;

  width:auto!important;
}

/* RIGHT: SIGN IN */
.site-header .header-quote,
.site-header .header-signin{
  margin-left:auto!important;
  margin-right:0!important;
  flex:0 0 auto!important;
}


/* MOBILE: RETURN TO NORMAL FLOW */

@media(max-width:760px){

  .site-header > .container.nav{
    min-height:76px!important;
  }

  .site-header .nav-links{
    position:static!important;
    transform:none!important;
    display:none!important;
  }

}





.cruise-better-way{
  padding:105px 0;
  background:#f3f3f1;
}

.cruise-better-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:100px;
  align-items:start;
}

.cruise-better-intro{
  max-width:520px;
}

.cruise-better-intro .section-kicker{
  margin-bottom:17px;

  color:#8b8b87;

  font-size:10px;
  font-weight:600;

  letter-spacing:.18em;
  text-transform:uppercase;
}

.cruise-better-intro h2{
  margin:0;

  color:#171717;

  font-family:Arial,Helvetica,sans-serif;

  font-size:47px;
  font-weight:500;

  line-height:1.04;
  letter-spacing:-2.1px;
}

.cruise-better-intro p{
  margin:23px 0 0;

  max-width:470px;

  color:#6f6f6c;

  font-size:14px;
  line-height:1.8;
}


/* RIGHT SIDE */

.cruise-better-points{
  border-top:1px solid rgba(0,0,0,.13);
}

.better-point{
  display:grid;
  grid-template-columns:55px 1fr;

  gap:20px;

  padding:26px 0;

  border-bottom:1px solid rgba(0,0,0,.13);
}

.better-point > span{
  padding-top:2px;

  color:#aaa9a4;

  font-size:11px;
  font-weight:600;

  letter-spacing:.08em;
}

.better-point h3{
  margin:0 0 8px;

  color:#202020;

  font-size:17px;
  font-weight:600;

  letter-spacing:-.35px;
}

.better-point p{
  max-width:570px;

  margin:0;

  color:#737370;

  font-size:13px;
  line-height:1.7;
}


/* SUBTLE HOVER */

.better-point{
  transition:padding-left .2s ease;
}

.better-point:hover{
  padding-left:8px;
}


/* MOBILE */

@media(max-width:800px){

  .cruise-better-grid{
    grid-template-columns:1fr;
    gap:50px;
  }

}

@media(max-width:600px){

  .cruise-better-way{
    padding:72px 0;
  }

  .cruise-better-intro h2{
    font-size:37px;
    letter-spacing:-1.6px;
  }

  .better-point{
    grid-template-columns:38px 1fr;
    gap:12px;

    padding:22px 0;
  }

  .better-point:hover{
    padding-left:0;
  }

}




.fleet-section .vehicle-card:first-child .vehicle-placeholder{
  display:flex!important;
  background:url("/images/sedan1.png") center/cover no-repeat!important;
  color:transparent!important;
  font-size:0!important;
}

.fleet-section .vehicle-card:first-child .vehicle-placeholder strong{
  display:none!important;
}



.fleet-section .vehicle-card:first-child .vehicle-visual{
  position:relative!important;
}

.fleet-section .vehicle-card:first-child .vehicle-visual::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  z-index:10!important;
  background:url("/images/sedan1.png") center/cover no-repeat!important;
}
