@font-face{font-family:Cormorant;src:url('/assets/cormorant.woff2') format('woff2');font-weight:500 600;font-style:normal;font-display:swap}
:root{--display:Cormorant,Georgia,serif}
body{background:var(--paper)}.site-header{border-bottom:1px solid #d1a76640}.header-inner{height:83px}.brand img{width:46px;height:46px}.brand>span{font-size:23px;letter-spacing:.01em}.brand small{font-size:7px;letter-spacing:.19em}.desktop-nav{font-size:12px;color:var(--dark-copy)}.button{border-radius:3px}.button:hover{transform:none}.hero{gap:clamp(35px,6vw,90px);padding-block:58px 64px}.hero h1,h2:not(#quote-title){font-family:var(--display);font-weight:600;letter-spacing:-.035em}.hero h1{font-size:clamp(53px,5.8vw,85px);line-height:.91;margin-bottom:25px}.hero h1 span{color:var(--accent)}.hero-description{line-height:1.75;max-width:425px}.local-label{letter-spacing:.07em;font-size:10px;font-weight:650;text-transform:uppercase}.local-label svg{width:13px;color:var(--accent)}.hero-visual{align-self:center;width:100%;min-height:0;aspect-ratio:1.17;border-radius:4px;outline:1px solid #d1a76650;outline-offset:6px}.hero-visual:after{inset:53% 0 0;background:linear-gradient(transparent,#080a0bc9)}.hero-photo{object-position:50% 37%}.photo-caption{background:none;backdrop-filter:none;box-shadow:none;border-radius:0;padding:0 0 0 15px;border-left:1px solid var(--gold);bottom:29px;left:27px;right:27px;color:#fff}.photo-caption strong{font-family:var(--display);font-size:27px;font-weight:600;line-height:1}.photo-caption div>span{color:var(--ivory);font-size:10px;letter-spacing:.06em;margin-top:8px}.caption-icon{display:none}.route-fields:after{background:var(--brass)}.route-dot,.route-square{border-color:var(--accent);background:var(--accent)}.field{background:var(--linen);border:1px solid var(--line);border-radius:4px}.field:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.form-note{color:var(--muted)}.quote-start{font-size:14px}.area-ribbon{background:var(--linen);border-block-color:var(--line)}.area-ribbon>.container{padding-block:21px}.area-ribbon i{width:3px;height:3px}.section-top h2,.how-section h2,.faq-grid h2{font-size:clamp(39px,4.9vw,65px);line-height:.98}.eyebrow{font-size:10px;letter-spacing:.2em}.section-top>p{max-width:265px}.place-tabs button{border-radius:3px;background:transparent;border-color:var(--line)}.place-tabs button[aria-pressed=true]{background:var(--ink)}.place-card,.service-card,.vehicle-card{border-radius:3px}.place-card{background:transparent;border-color:var(--hairline)}.place-card:hover{border-color:var(--brass);box-shadow:none}.place-card-icon,.service-card-top{background:none;color:var(--accent)}.place-card-icon{border:1px solid var(--hairline);border-radius:50%;width:48px;height:48px;margin-bottom:19px}.place-card-icon svg{width:25px;height:25px}.service-card{background:transparent;border-top:1px solid var(--brass);padding-inline:18px}.service-card:hover{background:var(--linen)}.service-icon{width:50px;height:50px;stroke-width:1.25;color:var(--accent)}.service-icon .accent{stroke:var(--brass)}.service-card-top{margin-bottom:16px}.service-card h3,.vehicle-copy h3{font-family:var(--display);font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1}.comfort-section,.jorge-section{background:var(--linen)}.comfort-photo{border-radius:4px;outline:1px solid #d1a76655;outline-offset:6px}.comfort-photo img{transform:translate3d(var(--glide,0px),0,0) scale(1.09)}.comfort-copy h2,.jorge-copy h2{font-size:clamp(43px,5.3vw,72px);line-height:.96}.comfort-detail{border-color:var(--line)}.photo-tag{background:#080a0be0;border-radius:2px;letter-spacing:.08em}.areas-section{background:var(--dark-panel)}.areas-section .section-top h2{color:var(--ivory)}.area-map{border-radius:3px}.vehicle-card{background:var(--linen)}.vehicle-photo>span{border-radius:2px;letter-spacing:.16em}.portrait-wrap>span{background:var(--linen)}.faq-section{background:var(--linen)}.faq-list details{border-color:var(--line)}.final-section{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);padding-block:76px}.travel-light{pointer-events:none;position:absolute;z-index:-1;inset:-25%;transform:translate3d(var(--light-drift,0px),0,0);background:radial-gradient(ellipse at 78% 30%,#d1a76640,transparent 38%),radial-gradient(ellipse at 63% 68%,#a6794333,transparent 46%),linear-gradient(113deg,transparent 47%,#e9d4a90b 48%,transparent 56%,#e9d4a90e 58%,transparent 70%)}.final-section h2{font-size:clamp(48px,6vw,78px);line-height:.9}.final-section .eyebrow{color:var(--gold)}.final-section p:not(.eyebrow){color:var(--dark-copy)}.final-section .button{border-radius:3px;background:var(--gold)}.final-section .button:hover{background:var(--gold-hover)}.suggestions{border-radius:4px;border-color:var(--hairline)}.suggestion-option{border-radius:3px}
@media(max-width:1120px){.hero{gap:43px}.hero h1{font-size:clamp(51px,5.85vw,65px)}}
@media(max-width:800px){.hero{gap:27px}.header-inner{height:76px}.hero h1{font-size:clamp(42px,6.1vw,51px)}.section-top h2{font-size:44px}.service-card h3,.vehicle-copy h3{font-size:29px}.service-card{padding-inline:14px}}
@media(max-width:600px){.header-inner{height:72px}.brand img{width:42px;height:42px}.brand>span{font-size:21px}.hero{padding-block:33px 37px;gap:34px}.hero h1{font-size:clamp(43px,11.4vw,58px);line-height:.93;margin-bottom:20px}.local-label{font-size:9px;letter-spacing:.04em}.hero-description{font-size:14px}.hero-visual{height:auto;outline-offset:4px}.photo-caption{left:19px;bottom:22px}.photo-caption strong{font-size:25px}.section-top h2,.how-section h2,.faq-grid h2{font-size:43px}.place-card-icon{left:20px;top:22px;width:43px;height:43px}.service-card{padding-inline:12px;padding-block:23px}.service-card h3{font-size:33px}.comfort-copy h2,.jorge-copy h2{font-size:49px}.comfort-photo{outline-offset:4px}.final-section{padding-block:53px}}
@media(prefers-reduced-motion:reduce){.travel-light{transform:none}.comfort-photo img{transform:scale(1.09)}}
.hero-slide{opacity:0;transition:opacity .9s ease;pointer-events:none}.hero-slide.is-current{opacity:1}.hero-slide-fleet{object-position:38% center}.gallery-controls{position:absolute;z-index:3;top:17px;right:16px;display:flex;align-items:center;gap:3px;border:1px solid #ffffff42;background:#080a0bcf;color:white;border-radius:4px;padding:0 3px}.gallery-dots{display:flex}.gallery-controls button{display:grid;place-items:center;width:34px;height:44px;padding:0;border:0;background:transparent;color:inherit}.gallery-controls button:focus-visible{outline-color:white;outline-offset:-3px}.gallery-dots button::after{content:'';width:7px;height:7px;border:1px solid var(--dark-copy);border-radius:50%}.gallery-dots button[aria-pressed=true]::after{background:var(--gold);border-color:var(--gold)}.gallery-controls .gallery-toggle{width:44px}.gallery-toggle svg{width:18px;height:18px}.gallery-play,.gallery-toggle.is-paused .gallery-pause{display:none}.gallery-toggle.is-paused .gallery-play{display:block}.place-card{padding:0;align-items:stretch;overflow:hidden}.place-photo{aspect-ratio:1.65;overflow:hidden;background:var(--stone)}.place-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.place-card:hover .place-photo img{transform:scale(1.035)}.place-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:23px 23px 26px}.place-copy h3{font-family:var(--display);font-size:29px;font-weight:600;line-height:1.05}.place-copy p{margin-bottom:18px}.place-disclaimer a{text-decoration:underline;text-underline-offset:3px}.reveal-ready{opacity:.35;transform:translateY(13px);transition:opacity .72s ease,transform .75s cubic-bezier(.22,.61,.36,1)}.reveal-ready.is-revealed,.reveal-ready:focus-within{opacity:1;transform:none}
@media(max-width:800px) and (min-width:601px){.place-copy{padding-inline:16px}.place-copy h3{font-size:25px}}
@media(max-width:600px){.gallery-controls{top:12px;right:12px}.place-card{padding:0}.place-photo{aspect-ratio:1.8}.place-copy{padding:20px 21px 23px}.place-copy h3{font-size:29px}.place-tabs{flex-wrap:wrap}.place-tabs button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.hero-slide,.place-photo img{transition:none}.place-card:hover .place-photo img{transform:none}}

.hero-suburban{object-position:center 66%}
.hero-suburban,
.ride-option .suburban-quote-photo img{
  filter:brightness(1.09) saturate(.84);
}
.place-copy .button{margin-top:auto}
.jorge-copy > .button,
.faq-grid .button{margin-top:12px}


.area-map {
  grid-column: 1;
  grid-row: 1;
}

.area-list {
  grid-column: 2;
  grid-row: 1;
  gap: 9px;
}

.area-option {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 13px 16px;
  border: 1px solid #ffffff30;
  border-radius: 3px;
  background: transparent;
  text-align: left;
  color: var(--ivory);
}

.area-option:hover,
.area-option[aria-pressed="true"] {
  border-color: var(--gold);
  background: #d1a76614;
}

.area-option-number {
  color: var(--gold);
  font-size: 11px;
}

.area-option-name {
  display: block;
  font: 600 clamp(25px, 3vw, 31px)/1 var(--display);
}

.area-option-description {
  display: block;
  margin-top: 5px;
  color: var(--dark-copy);
  font-size: 13px;
  line-height: 1.5;
}

.area-option-indicator {
  width: 12px;
  height: 12px;
  border: 1px solid var(--gold);
  border-radius: 50%;
}

.area-option[aria-pressed="true"] .area-option-indicator {
  background: var(--gold);
}

.area-request {
  margin-top: 24px;
}

.fleet-comparison {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fleet-comparison .vehicle-card,
.fleet-comparison .vehicle-copy {
  display: flex;
  flex-direction: column;
}

.fleet-comparison .vehicle-copy {
  flex: 1;
  padding: clamp(22px, 3vw, 36px);
}

.fleet-comparison .vehicle-copy .eyebrow {
  font-size: 10px;
  margin-bottom: 12px;
}

.fleet-comparison .vehicle-copy h3 {
  font-size: clamp(31px, 4vw, 43px);
}

.fleet-comparison .vehicle-copy .button {
  align-self: flex-start;
  margin-top: auto;
}

.fleet-interiors {
  margin-top: clamp(56px, 8vw, 104px);
}

.cabin-photo {
  margin: 0;
  overflow: hidden;
  border-radius: 3px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.cabin-photo img {
  width: 100%;
  aspect-ratio: 1.25;
  height: auto;
  object-fit: cover;
  object-position: center 45%;
}

.cabin-photo figcaption {
  padding: 14px 18px;
  font-size: 13px;
  font-weight: 600;
}


@media (max-width: 650px) {
  .fleet-comparison {
    gap: 10px;
  }


  .fleet-comparison .vehicle-copy {
    padding: 14px 10px;
  }

  .fleet-comparison .vehicle-copy .eyebrow {
    font-size: 8px;
    letter-spacing: .12em;
    margin-bottom: 7px;
  }

  .fleet-comparison .vehicle-copy h3 {
    font-size: clamp(20px, 5.7vw, 31px);
    margin-bottom: 8px;
  }

  .fleet-comparison .vehicle-copy p:not(.eyebrow) {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 14px;
  }

  .fleet-comparison .vehicle-copy .button {
    width: 100%;
    min-height: 48px;
    padding: 6px 8px;
    font-size: 11px;
  }
}

.hero-scene {
  position: relative;
  isolation: isolate;
  background: #11110f;
  color: var(--ivory);
}

.hero-scene .hero {
  position: relative;
  z-index: 2;
  display: block;
  padding-block: clamp(48px, 5vw, 76px);
  pointer-events: none;
}

.hero-scene .hero-content,
.hero-scene .trip-form {
  pointer-events: auto;
}

.hero-scene .hero-content {
  max-width: 620px;
}

.hero-scene .local-label,
.hero-scene .local-label svg,
.hero-scene h1 span {
  color: #e9c68d;
}

.hero-scene .hero-description,
.hero-scene .form-note {
  color: var(--ivory);
}

.hero-scene .hero-visual {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border-radius: 0;
  outline: none;
  background: transparent;
  pointer-events: none;
}

.hero-scene .hero-visual::after {
  inset: 0;
  background:
    linear-gradient(90deg, #11110ff7 0%, #11110fe8 24%, #11110fc4 36%, #11110f35 57%, transparent 76%),
    linear-gradient(0deg, #11110fd0 0%, transparent 25%);
}

.hero-scene .hero-photo {
  inset: 0;
  object-position: 80% center;
}

.hero-scene .gallery-controls {
  top: auto;
  bottom: 24px;
  right: max(24px, calc((100% - 1180px) / 2));
  pointer-events: auto;
}

.hero-scene .photo-caption {
  left: auto;
  right: calc(max(24px, (100% - 1180px) / 2) + 170px);
  bottom: 25px;
}

@media (min-width: 1800px) {
  .hero-scene {
    display: grid;
    align-items: center;
    min-height: 35vw;
  }

  .hero-scene .hero-photo {
    object-position: 80% 80%;
  }
}

@media (max-width: 700px) {
  .hero-scene {
    display: grid;
    grid-template-rows: auto clamp(176px, 48vw, 280px) auto;
  }

  .hero-scene .hero {
    display: contents;
  }

  .hero-scene .hero-content,
  .hero-scene .trip-form {
    position: relative;
    z-index: 2;
    width: calc(100% - 40px);
    margin-inline: auto;
  }

  .hero-scene .hero-content {
    grid-area: 1 / 1;
    padding-top: 32px;
  }

  .hero-scene .hero-description {
    margin-bottom: 0;
  }

  .hero-scene .trip-form {
    grid-area: 3 / 1;
    padding-block: 12px 32px;
  }

  .hero-scene .hero-visual {
    position: relative;
    grid-area: 1 / 1 / 3 / 2;
    align-self: stretch;
    height: auto;
  }

  .hero-scene .hero-photo {
    inset: auto 0 0;
    height: clamp(190px, 56vw, 335px);
    object-position: right center;
    mask-image: linear-gradient(180deg, transparent, #000 21%);
  }

  .hero-scene .hero-visual::after {
    background: linear-gradient(180deg, #11110f 12%, #11110fe8 37%, #11110f26 58%, transparent 72%, #11110f 100%);
  }

  .hero-scene .photo-caption {
    left: 20px;
    right: auto;
    bottom: 13px;
    max-width: calc(100% - 175px);
    padding-left: 10px;
  }

  .hero-scene .photo-caption strong {
    font-size: 21px;
  }

  .hero-scene .photo-caption div > span {
    font-size: 9px;
    margin-top: 5px;
  }

  .hero-scene .gallery-controls {
    right: 20px;
    bottom: 10px;
  }

  .hero-scene .gallery-dots button {
    width: 28px;
  }
}
