/* ==========================================================================
   American Way Limousine — "Soft Black Label" theme for bc-cms-core.

   Built from the offline design export (American-Way-Limousine/site):
     1. base      — the home page stylesheet (index.html <style>), verbatim
     2. black-label.css, verbatim (the design's final layer set)
     3. dedicated pages — pages.css components at their final values
     4. CMS additions — dropdown nav, footer columns, prose, journal, forms
   Photos are CSS custom properties (--img-s / --img-l) set by the blocks
   from the media library, instead of the export's relative image paths.
   ========================================================================== */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/space-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ==========================================================================
   1. Base — home page stylesheet (design index.html), verbatim
   ========================================================================== */
:root {
  --ink: #09131f;
  --ink-2: #0e1e2f;
  --ink-3: #152c40;
  --paper: #f7f5f0;
  --paper-deep: #ede9df;
  --gold: #d3a45f;
  --gold-pale: #f0d4a6;
  --mist: #bdc8d0;
  --line: rgba(234, 238, 239, .18);
  --shadow: 0 28px 70px rgba(0, 0, 0, .26);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: "Manrope", Arial, sans-serif;
  line-height: 1.5;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 9px; margin: 0 0 16px;
  color: var(--gold-pale); font-size: .71rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.display { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; letter-spacing: -.035em; }
.button {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px;
  padding: 0 20px; border: 1px solid transparent; border-radius: 2px; font-size: .78rem; font-weight: 800;
  letter-spacing: .09em; text-transform: uppercase; transition: transform .2s, background .2s, border-color .2s;
}
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--gold); color: #111b24; }
.button.primary:hover { background: #e2bb7d; }
.button.outline { color: var(--paper); border-color: rgba(247,245,240,.42); }
.button.outline:hover { border-color: var(--gold); color: var(--gold-pale); }
.button.dark { color: var(--paper); background: var(--ink); }
.button.dark:hover { background: #1a3045; }

.nav-wrap { position: absolute; z-index: 5; top: 0; left: 0; right: 0; }
.nav { display: flex; align-items: center; min-height: 88px; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 12px; min-width: max-content; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--gold); color: var(--gold-pale); font-family: "DM Serif Display", serif; font-size: 1.3rem; }
.brand-text { line-height: 1.05; font-size: .77rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.brand-text small { display: block; margin-top: 3px; color: var(--mist); font-size: .52rem; letter-spacing: .2em; }
.links { display: flex; align-items: center; gap: 29px; }
.links a { color: rgba(247,245,240,.82); font-size: .74rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.links a:hover { color: var(--gold-pale); }
.nav-cta { min-height: 40px; padding: 0 14px; font-size: .67rem; }
.menu-toggle { display: none; background: transparent; border: 0; color: var(--paper); padding: 9px; }
.menu-toggle span { display: block; width: 24px; height: 1px; margin: 5px 0; background: currentColor; }

.hero { position: relative; min-height: 830px; overflow: hidden; background: var(--ink); }
.hero::before {
  content: ""; position: absolute; inset: 0; background:
    linear-gradient(90deg, rgba(5,13,22,.91) 0%, rgba(5,13,22,.78) 38%, rgba(5,13,22,.26) 72%, rgba(5,13,22,.54) 100%),
    linear-gradient(0deg, var(--ink) 0%, transparent 24%),
    var(--img) center/cover;
  transform: scale(1.01);
}
.hero .shell { position: relative; z-index: 1; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 62px; align-items: end; min-height: 830px; padding: 166px 0 72px; }
.hero-copy { max-width: 700px; padding-bottom: 20px; }
h1 { max-width: 680px; margin: 0; font-size: clamp(3.7rem, 7vw, 6.8rem); line-height: .94; }
.hero-copy p:not(.eyebrow) { max-width: 490px; margin: 25px 0 32px; color: #d7dde1; font-size: 1.05rem; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-meta { display: flex; gap: 28px; margin-top: 57px; padding-top: 20px; border-top: 1px solid var(--line); }
.hero-meta div { font-size: .75rem; letter-spacing: .04em; }
.hero-meta strong { display: block; margin-bottom: 2px; color: var(--gold-pale); font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }

.booking { position: relative; background: var(--paper); color: var(--ink); padding: 29px 27px 26px; box-shadow: var(--shadow); }
.booking-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 24px; }
.booking h2 { margin: 0; font-family: "DM Serif Display", serif; font-size: 1.75rem; font-weight: 400; letter-spacing: -.03em; }
.booking-note { color: #5d6872; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.field { position: relative; display: block; margin-bottom: 14px; }
.field span { display: block; margin-bottom: 7px; color: #4e5b67; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.field input, .field select { width: 100%; height: 49px; padding: 0 12px; border: 1px solid #d4d9d8; border-radius: 0; outline: 0; background: #fff; color: #17232e; font-size: .86rem; }
.field input:focus, .field select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(211,164,95,.16); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.booking .button { width: 100%; margin-top: 4px; }
.booking-foot { margin: 14px 0 0; color: #67737b; font-size: .72rem; line-height: 1.55; }
.form-success { display: none; margin: 14px 0 0; padding: 12px; border-left: 2px solid var(--gold); background: #fbf6ed; color: #33434f; font-size: .78rem; }
.form-success.show { display: block; }

.trust { position: relative; z-index: 2; margin-top: -1px; background: var(--ink); border-top: 1px solid rgba(239,212,166,.22); border-bottom: 1px solid rgba(239,212,166,.22); }
.trust-inner { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); }
.trust-item { min-height: 113px; padding: 27px 28px; border-left: 1px solid var(--line); }
.trust-item:first-child { border-left: 0; }
.trust-value { display: block; color: var(--gold-pale); font-family: "DM Serif Display", serif; font-size: 1.6rem; }
.trust-label { display: block; margin-top: 2px; color: var(--mist); font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.trust-intro { display: flex; align-items: center; padding: 22px 0; color: #f4eee4; font-family: "DM Serif Display", serif; font-size: 1.25rem; line-height: 1.2; }

.services { padding: 138px 0; background: var(--paper); color: var(--ink); }
.section-top { display: grid; grid-template-columns: 1fr minmax(260px, 505px); gap: 40px; align-items: end; margin-bottom: 59px; }
.section-top .eyebrow { color: #8f682f; }
h2.section-title { margin: 0; max-width: 560px; font-size: clamp(2.8rem, 5vw, 4.8rem); line-height: .98; }
.section-top p { margin: 0; color: #53606a; font-size: .99rem; line-height: 1.75; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cbd0ce; }
.service { position: relative; min-height: 306px; padding: 28px 25px 25px; border-right: 1px solid #cbd0ce; border-bottom: 1px solid #cbd0ce; overflow: hidden; }
.service:first-child { border-left: 1px solid #cbd0ce; }
.service-number { color: #9a763e; font-size: .64rem; font-weight: 800; letter-spacing: .14em; }
.service h3 { max-width: 230px; margin: 50px 0 14px; font-family: "DM Serif Display", serif; font-size: 2rem; font-weight: 400; letter-spacing: -.035em; line-height: 1.05; }
.service p { max-width: 270px; margin: 0; color: #596670; font-size: .88rem; line-height: 1.65; }
.service-link { position: absolute; bottom: 24px; color: #1f3445; font-size: .67rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.service-link::after { content: "↗"; margin-left: 8px; color: #9a763e; font-size: 1rem; }
.service:hover { background: #fffdf9; }

.experience { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; background: #102437; }
.experience::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #102437 0%, rgba(16,36,55,.90) 34%, rgba(16,36,55,.10) 77%), var(--img) center/cover; }
.experience .shell { position: relative; z-index: 1; }
.experience-card { width: min(515px, 100%); padding: 38px 0 38px 30px; border-left: 1px solid var(--gold); }
.experience h2 { margin: 0; font-size: clamp(3.1rem, 5vw, 5.1rem); line-height: .98; }
.experience p:not(.eyebrow) { max-width: 410px; margin: 25px 0 30px; color: #d8e0e2; font-size: 1rem; line-height: 1.7; }
.route-badges { display: flex; flex-wrap: wrap; gap: 9px; }
.route-badge { padding: 8px 11px; border: 1px solid rgba(240,212,166,.44); color: var(--gold-pale); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.fleet { padding: 136px 0 142px; background: var(--ink); }
.fleet-top { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 54px; }
.fleet h2 { margin: 0; max-width: 530px; font-size: clamp(2.9rem, 5vw, 4.8rem); line-height: .98; }
.fleet-list { border-top: 1px solid var(--line); }
.vehicle { display: grid; grid-template-columns: 90px 1.15fr 1.1fr .85fr; gap: 24px; align-items: center; min-height: 132px; border-bottom: 1px solid var(--line); transition: background .2s, padding .2s; }
.vehicle:hover { padding: 0 20px; background: rgba(255,255,255,.035); }
.vehicle-index { color: var(--gold); font-family: "DM Serif Display", serif; font-size: 1.35rem; }
.vehicle h3 { margin: 0; font-family: "DM Serif Display", serif; font-size: 2.05rem; font-weight: 400; letter-spacing: -.03em; }
.vehicle p { margin: 0; color: var(--mist); font-size: .86rem; }
.vehicle-capacity { color: var(--gold-pale); font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-align: right; }

.areas { padding: 135px 0 125px; background: var(--paper-deep); color: var(--ink); }
.areas-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 90px; align-items: start; }
.areas h2 { margin: 0 0 25px; font-size: clamp(3rem, 5.2vw, 5rem); line-height: .96; }
.areas p { max-width: 440px; margin: 0; color: #58646c; font-size: 1rem; line-height: 1.75; }
.area-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #c4c8c3; }
.area-list div { padding: 19px 0; border-bottom: 1px solid #c4c8c3; color: #192a37; font-size: .87rem; font-weight: 700; }
.area-list div:nth-child(odd) { padding-right: 22px; }
.area-list div:nth-child(even) { padding-left: 22px; border-left: 1px solid #c4c8c3; }
.area-list div::before { content: "•"; margin-right: 9px; color: #a47a3f; }

.closing { position: relative; overflow: hidden; padding: 145px 0 135px; background: #0f2334; text-align: center; }
.closing::before { content: ""; position: absolute; inset: auto 0 0; height: 62%; background: linear-gradient(0deg, rgba(0,0,0,.26), transparent); }
.closing .shell { position: relative; }
.closing .eyebrow { justify-content: center; }
.closing h2 { max-width: 800px; margin: 0 auto 28px; font-size: clamp(3.6rem, 7vw, 6.8rem); line-height: .93; }
.closing p { max-width: 500px; margin: 0 auto 32px; color: #cfdbde; font-size: 1rem; line-height: 1.7; }
.closing .button { min-width: 208px; }

footer { background: #08131f; }
.footer-main { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 44px; padding: 55px 0 45px; }
.footer-title { margin: 0 0 13px; color: var(--gold-pale); font-family: "DM Serif Display", serif; font-size: 1.42rem; font-weight: 400; }
.footer-copy, .footer-list a { color: #aab7be; font-size: .8rem; line-height: 1.75; }
.footer-list { display: grid; gap: 7px; }
.footer-list a:hover { color: var(--gold-pale); }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line); color: #71808a; font-size: .65rem; letter-spacing: .04em; }

.toast { position: fixed; z-index: 10; right: 24px; bottom: 24px; max-width: 330px; padding: 15px 18px; transform: translateY(160%); background: var(--paper); color: var(--ink); box-shadow: 0 15px 44px rgba(0,0,0,.28); font-size: .84rem; transition: transform .35s ease; }
.toast.show { transform: translateY(0); }

@media (max-width: 920px) {
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 44px; min-height: auto; padding: 150px 0 56px; }
  .hero-copy { max-width: 680px; }
  .booking { width: min(520px, 100%); }
  .trust-inner { grid-template-columns: repeat(3, 1fr); }
  .trust-intro { grid-column: 1 / -1; min-height: auto; padding: 22px 0 8px; }
  .service-grid { grid-template-columns: 1fr; }
  .service, .service:first-child { border-left: 1px solid #cbd0ce; }
  .service { min-height: 265px; }
  .areas-grid { gap: 55px; grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1.3fr 1fr; }
  .footer-main > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .shell { width: min(100% - 34px, 1180px); }
  .nav { min-height: 76px; }
  .links { position: absolute; top: 76px; left: 0; right: 0; display: none; flex-direction: column; align-items: flex-start; gap: 0; padding: 10px 17px 20px; background: #0b1927; border-bottom: 1px solid var(--line); }
  .links.open { display: flex; }
  .links a, .links .nav-cta { width: 100%; padding: 13px 0; }
  .links .nav-cta { justify-content: flex-start; min-height: auto; border: 0; color: var(--gold-pale); }
  .menu-toggle { display: block; }
  .hero::before { background-position: 60% center; }
  .hero-grid { padding-top: 127px; }
  h1 { font-size: clamp(3.35rem, 15vw, 4.8rem); }
  .hero-copy p:not(.eyebrow) { font-size: .98rem; }
  .hero-meta { gap: 14px; justify-content: space-between; }
  .hero-meta div { font-size: .68rem; }
  .trust-inner { grid-template-columns: 1fr 1fr; }
  .trust-intro { grid-column: 1 / -1; }
  .trust-item { min-height: 98px; padding: 20px 12px; }
  .trust-item:nth-of-type(2) { border-left: 0; }
  .services, .fleet, .areas { padding: 92px 0; }
  .section-top { grid-template-columns: 1fr; gap: 22px; margin-bottom: 40px; }
  .section-top p { font-size: .93rem; }
  .experience { min-height: 640px; }
  .experience::before { background: linear-gradient(90deg, #102437 0%, rgba(16,36,55,.88) 65%, rgba(16,36,55,.42)), var(--img) center/cover; }
  .experience-card { padding-left: 19px; }
  .fleet-top { align-items: flex-start; flex-direction: column; margin-bottom: 36px; }
  .vehicle { grid-template-columns: 42px 1fr; gap: 6px 16px; padding: 21px 0; }
  .vehicle:hover { padding: 21px 10px; }
  .vehicle h3 { font-size: 1.75rem; }
  .vehicle p { grid-column: 2; font-size: .81rem; }
  .vehicle-capacity { grid-column: 2; text-align: left; margin-top: 5px; }
  .areas-grid { gap: 42px; }
  .closing { padding: 102px 0 95px; }
  .footer-main { grid-template-columns: 1fr; gap: 28px; }
  .footer-main > :first-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
}
@media (max-width: 420px) {
  .form-grid { grid-template-columns: 1fr; }
  .hero-meta { flex-wrap: wrap; }
  .area-list { grid-template-columns: 1fr; }
  .area-list div:nth-child(even) { padding-left: 0; border-left: 0; }
}

/* ==========================================================================
   2. black-label.css (design), verbatim
   ========================================================================== */

:root { --black: #050505; --white: #f7f7f5; --grey: #a9aaa8; --rule: rgba(247,247,245,.28); }
body { background: var(--black) !important; color: var(--white) !important; font-family: "Space Grotesk", Arial, sans-serif !important; }
.display, h1, h2, h3, .brand-mark, .footer-title, .trust-value, .vehicle-index { font-family: "Space Grotesk", Arial, sans-serif !important; font-weight: 500 !important; letter-spacing: -.075em !important; }
.eyebrow, .booking-note, .field span, .service-number, .trust-label, .vehicle-capacity, .button { font-family: "DM Mono", monospace !important; }
.hero { min-height: 800px !important; background: #050505 !important; }
.hero::before { background: linear-gradient(90deg, rgba(5,5,5,.96) 0%, rgba(5,5,5,.76) 42%, rgba(5,5,5,.16) 100%), var(--img) center/cover !important; filter: grayscale(1) contrast(1.18); }
.nav { min-height: 74px !important; border-color: var(--rule) !important; }
.brand-mark { width: 34px !important; height: 34px !important; border-color: var(--white) !important; color: var(--white) !important; }
.brand-text small { color: var(--grey) !important; }
.links a { color: var(--white) !important; }
.links a:hover { color: var(--grey) !important; }
.nav-cta, .button.outline { border-color: var(--white) !important; color: var(--white) !important; border-radius: 0 !important; }
.button { min-height: 44px !important; border-radius: 0 !important; letter-spacing: .07em !important; }
.button.primary, .button.dark { background: var(--white) !important; color: var(--black) !important; border-color: var(--white) !important; }
.hero-grid { grid-template-columns: minmax(0,1fr) 360px !important; min-height: 800px !important; padding: 128px 0 46px !important; gap: 42px !important; }
h1 { max-width: 690px !important; font-size: clamp(4rem,8.1vw,7.75rem) !important; line-height: .84 !important; text-transform: uppercase; }
.hero-copy p:not(.eyebrow) { color: #d0d0cd !important; max-width: 455px !important; font-size: .95rem !important; }
.hero-meta { margin-top: 44px !important; border-color: var(--rule) !important; }
.hero-meta strong { color: var(--white) !important; font-family: "DM Mono",monospace !important; font-size: .58rem !important; }
.booking { padding: 24px !important; background: #070707 !important; color: var(--white) !important; border: 1px solid var(--white) !important; box-shadow: none !important; }
.booking h2 { font-family: "Space Grotesk",sans-serif !important; font-size: 1.45rem !important; letter-spacing: -.06em !important; }
.booking-note, .field span, .booking-foot { color: var(--grey) !important; }
.field input, .field select { height: 46px !important; border-color: #535353 !important; background: transparent !important; color: var(--white) !important; border-radius: 0 !important; }
.field input::placeholder { color: #777 !important; }
.field input:focus, .field select:focus { border-color: var(--white) !important; box-shadow: 0 0 0 2px rgba(247,247,245,.18) !important; }
.form-success { background: #171717 !important; color: var(--white) !important; border-color: var(--white) !important; }
.trust { background: var(--black) !important; border-color: var(--rule) !important; }
.trust-intro { font-family: "Space Grotesk",sans-serif !important; font-size: 1.05rem !important; }
.trust-item { border-color: var(--rule) !important; }
.trust-value { color: var(--white) !important; }
.trust-label { color: var(--grey) !important; }
.services, .areas { background: var(--black) !important; color: var(--white) !important; }
.section-top .eyebrow, .areas .eyebrow { color: var(--white) !important; }
h2.section-title, .areas h2 { letter-spacing: -.08em !important; text-transform: uppercase; }
.section-top p, .areas p { color: #b9b9b7 !important; }
.service-grid, .service, .service:first-child { border-color: var(--rule) !important; }
.service { min-height: 280px !important; }
.service:hover { background: #141414 !important; }
.service-number, .service-link { color: var(--white) !important; }
.service h3 { margin-top: 40px !important; font-family: "Space Grotesk",sans-serif !important; font-size: 1.75rem !important; letter-spacing: -.07em !important; text-transform: uppercase; }
.service p { color: var(--grey) !important; }
.service-link::after { color: var(--white) !important; }
.experience { min-height: 620px !important; background: #080808 !important; }
.experience::before { background: linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.23)),var(--img) center/cover !important; filter: grayscale(1) contrast(1.2); }
.experience-card { border-color: var(--white) !important; }
.experience h2 { font-family: "Space Grotesk",sans-serif !important; letter-spacing: -.08em !important; text-transform: uppercase; }
.route-badge { border-color: var(--white) !important; color: var(--white) !important; border-radius: 0 !important; }
.fleet { padding: 110px 0 !important; background: #f7f7f5 !important; color: #050505 !important; }
.fleet .eyebrow { color: #050505 !important; }
.fleet h2 { font-family: "Space Grotesk",sans-serif !important; letter-spacing: -.08em !important; text-transform: uppercase; }
.fleet .button.outline { border-color: #050505 !important; color: #050505 !important; }
.fleet-list, .vehicle { border-color: rgba(5,5,5,.35) !important; }
.vehicle:hover { background: #e4e4e1 !important; }
.vehicle-index, .vehicle-capacity { color: #050505 !important; }
.vehicle h3 { font-family: "Space Grotesk",sans-serif !important; letter-spacing: -.07em !important; text-transform: uppercase; }
.vehicle p { color: #555 !important; }
.closing { padding: 118px 0 !important; background: var(--black) !important; text-align: left !important; }
.closing .eyebrow { justify-content: flex-start !important; color: var(--white) !important; }
.closing h2 { max-width: 920px !important; margin: 0 0 25px !important; font-family: "Space Grotesk",sans-serif !important; letter-spacing: -.095em !important; text-transform: uppercase; }
.closing p { margin-left: 0 !important; }
footer { background: #050505 !important; border-top: 1px solid var(--rule); }
.footer-title { color: var(--white) !important; }
.footer-copy, .footer-list a { color: var(--grey) !important; }
.footer-bottom { border-color: var(--rule) !important; }

/* Dedicated pages */
.page-hero { min-height: 530px !important; background: #050505 !important; }
.page-hero::before { background: linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.5)),var(--img) center/cover !important; filter: grayscale(1) contrast(1.2); }
.page-hero h1 { font-family: "Space Grotesk",sans-serif !important; font-size: clamp(3.5rem,7vw,6.8rem) !important; line-height: .84 !important; letter-spacing: -.09em !important; }
.page-intro, .page-main, .area-panel { background: #050505 !important; color: #f7f7f5 !important; }
.split-intro h2, .area-layout h2 { font-family: "Space Grotesk",sans-serif !important; letter-spacing: -.085em !important; text-transform: uppercase; }
.split-intro p, .area-layout p { color: #b5b5b2 !important; }
.detail-grid, .detail, .detail:first-child { border-color: var(--rule) !important; }
.detail:hover { background: #141414 !important; }
.detail h3 { font-family: "Space Grotesk",sans-serif !important; letter-spacing: -.07em !important; text-transform: uppercase; }
.detail p { color: var(--grey) !important; }
.detail-num { color: var(--white) !important; font-family: "DM Mono",monospace !important; }
.quote-band { background: #f7f7f5 !important; color: #050505 !important; }
.quote-band .eyebrow { color: #050505 !important; }
.quote-band h2 { font-family: "Space Grotesk",sans-serif !important; letter-spacing: -.09em !important; text-transform: uppercase; }
.quote-band .button.primary { background:#050505 !important; border-color:#050505 !important; color:#f7f7f5 !important; }
.vehicle-list, .quote-band .vehicle { border-color:rgba(5,5,5,.33) !important; }
.quote-band .vehicle span, .quote-band .vehicle b { color:#050505 !important; }
.quote-band .vehicle h2 { font-family:"Space Grotesk",sans-serif !important; letter-spacing:-.07em !important; text-transform:uppercase; }
.quote-band .vehicle p { color:#555 !important; }
.area-list, .area-list div { border-color:var(--rule) !important; }
.area-list div { color:#f7f7f5 !important; }
.area-list div:nth-child(even) { border-left-color:var(--rule) !important; }
.footer strong { font-family:"Space Grotesk",sans-serif !important; color:#f7f7f5 !important; }

@media (max-width: 920px) { .hero-grid { grid-template-columns:1fr !important; } .booking { width:min(520px,100%); } }
@media (max-width: 700px) { .links { background:#050505 !important; } h1 { font-size:clamp(3.3rem,15vw,5.2rem) !important; } .hero-grid { padding-top:112px !important; } .hero { min-height:auto !important; } .fleet { padding:88px 0 !important; } }

/* Soft Black Label: graphite, silver, and a calmer tonal range. */
:root { --black: #1b1f22; --white: #e7e9e9; --grey: #aab1b4; --rule: rgba(231,233,233,.22); }
body { background: #1b1f22 !important; color: #e7e9e9 !important; }
.hero { background: #202428 !important; }
.hero::before { background: linear-gradient(90deg, rgba(27,31,34,.86) 0%, rgba(27,31,34,.62) 44%, rgba(27,31,34,.26) 100%), var(--img) center/cover !important; filter: grayscale(.82) contrast(.96) brightness(1.16) !important; }
.nav { border-color: rgba(231,233,233,.2) !important; }
.links a, .brand-mark, .nav-cta, .button.outline { color: #e7e9e9 !important; border-color: rgba(231,233,233,.62) !important; }
.brand-mark { border-color: #c9ced0 !important; }
.brand-text small, .booking-note, .field span, .booking-foot, .trust-label { color: #aab1b4 !important; }
.button.primary, .button.dark { background: #cbd0d2 !important; border-color: #cbd0d2 !important; color: #1b1f22 !important; }
.hero-copy p:not(.eyebrow) { color: #d4d8d9 !important; }
.hero-meta { border-color: rgba(231,233,233,.24) !important; }
.booking { background: rgba(32,37,40,.93) !important; border-color: #8b9498 !important; }
.field input, .field select { background: #252b2e !important; border-color: #657075 !important; color: #e7e9e9 !important; }
.trust { background: #24292d !important; border-color: rgba(231,233,233,.2) !important; }
.trust-item { border-color: rgba(231,233,233,.2) !important; }
.services { background: #e3e6e7 !important; color: #1d2326 !important; }
.services .section-top .eyebrow, .services .service-number, .services .service-link, .services .service-link::after { color: #1d2326 !important; }
.services .section-top p, .services .service p { color: #5c666a !important; }
.services .service-grid, .services .service, .services .service:first-child { border-color: rgba(29,35,38,.26) !important; }
.services .service:hover { background: #d4d9da !important; }
.experience { background: #2a3034 !important; }
.experience::before { background: linear-gradient(90deg, rgba(42,48,52,.88), rgba(42,48,52,.3)), var(--img) center/cover !important; filter: grayscale(.8) contrast(.95) brightness(1.13) !important; }
.experience-card, .route-badge { border-color: rgba(231,233,233,.7) !important; }
.fleet { background: #d9ddde !important; color: #1b2023 !important; }
.fleet .eyebrow, .fleet .vehicle-index, .fleet .vehicle-capacity, .fleet .button.outline { color: #1b2023 !important; }
.fleet .button.outline { border-color: rgba(27,32,35,.62) !important; }
.fleet-list, .fleet .vehicle { border-color: rgba(27,32,35,.28) !important; }
.fleet .vehicle:hover { background: #cbd1d2 !important; }
.closing { background: #292e32 !important; }
footer { background: #1b1f22 !important; border-color: rgba(231,233,233,.2) !important; }
@media (max-width: 700px) { .links { background: #202428 !important; } }

/* Content sections */
.journey { padding: 118px 0; background: #d4d9da; color: #1b2225; }
.journey-top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(230px, .65fr); gap: 52px; align-items: end; margin-bottom: 52px; }
.journey .eyebrow, .questions .eyebrow { color: #1b2225 !important; }
.journey h2, .routes h2, .questions h2 { max-width: 720px; margin: 0; font-family: "Space Grotesk", Arial, sans-serif; font-size: clamp(2.7rem, 5.25vw, 5rem); font-weight: 500; letter-spacing: -.085em; line-height: .92; text-transform: uppercase; }
.journey-top > p:not(.eyebrow), .questions-grid > div > p:not(.eyebrow) { max-width: 365px; margin: 0; color: #566167; font-size: 1rem; line-height: 1.7; }
.journey-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(27,34,37,.28); }
.journey-grid li { min-height: 270px; padding: 28px 28px 24px; border-right: 1px solid rgba(27,34,37,.28); border-bottom: 1px solid rgba(27,34,37,.28); }
.journey-grid li:first-child { border-left: 1px solid rgba(27,34,37,.28); }
.journey-grid span, .route-list span { font-family: "DM Mono", monospace; font-size: .68rem; font-weight: 700; letter-spacing: .1em; }
.journey-grid h3 { margin: 56px 0 14px; font-family: "Space Grotesk", Arial, sans-serif; font-size: 1.72rem; font-weight: 500; letter-spacing: -.07em; line-height: 1; text-transform: uppercase; }
.journey-grid p { max-width: 285px; margin: 0; color: #566167; font-size: .93rem; line-height: 1.65; }
.routes { padding: 122px 0; background: #30363a; color: #e7e9e9; }
.routes-grid, .questions-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 84px; align-items: start; }
.routes .eyebrow { color: #e7e9e9 !important; }
.routes h2 { max-width: 550px; }
.routes-grid > div > p:not(.eyebrow) { max-width: 440px; margin: 25px 0 0; color: #c4cbcd; font-size: 1rem; line-height: 1.7; }
.route-list { border-top: 1px solid rgba(231,233,233,.25); }
.route-list article { display: grid; grid-template-columns: 56px 1fr; gap: 0 18px; padding: 21px 0; border-bottom: 1px solid rgba(231,233,233,.25); }
.route-list h3 { margin: 0 0 7px; font-family: "Space Grotesk", Arial, sans-serif; font-size: 1.14rem; font-weight: 500; letter-spacing: -.045em; }
.route-list p { grid-column: 2; max-width: 430px; margin: 0; color: #c4cbcd; font-size: .9rem; line-height: 1.6; }
.questions { padding: 122px 0; background: #e4e7e8; color: #1b2225; }
.questions-grid > div > p:not(.eyebrow) { margin-top: 25px; }
.faq-list { border-top: 1px solid rgba(27,34,37,.28); }
.faq-list details { border-bottom: 1px solid rgba(27,34,37,.28); }
.faq-list summary { position: relative; padding: 22px 35px 22px 0; cursor: pointer; font-family: "Space Grotesk", Arial, sans-serif; font-size: 1.07rem; font-weight: 500; letter-spacing: -.035em; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 2px; top: 17px; font-family: "DM Mono", monospace; font-size: 1.38rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 620px; margin: -2px 0 23px; color: #566167; font-size: .92rem; line-height: 1.7; }
@media (max-width: 920px) { .journey-top, .routes-grid, .questions-grid { grid-template-columns: 1fr; gap: 31px; } .journey-top { margin-bottom: 40px; } .journey-grid { grid-template-columns: 1fr; } .journey-grid li, .journey-grid li:first-child { min-height: 200px; border-left: 1px solid rgba(27,34,37,.28); } .journey-grid h3 { margin-top: 34px; } }
@media (max-width: 700px) { .journey, .routes, .questions { padding: 88px 0; } .journey h2, .routes h2, .questions h2 { font-size: clamp(2.65rem, 12vw, 4rem); } .journey-grid li { min-height: auto; } .journey-grid h3 { font-size: 1.55rem; } .routes-grid, .questions-grid { gap: 28px; } .route-list article { grid-template-columns: 42px 1fr; } .faq-list summary { font-size: 1rem; } }

/* Photograph-led service cards */
.services .service-card { display: flex; flex-direction: column; min-height: 490px !important; padding: 0 !important; overflow: hidden; background: #eef0f0; border-color: rgba(29,35,38,.26) !important; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.services .service-card:hover { padding: 0 !important; transform: translateY(-6px); background: #f4f5f5 !important; box-shadow: 0 18px 32px rgba(26,31,34,.14); }
.service-media { width: 100%; height: 205px; object-fit: cover; object-position: center; filter: saturate(.72) contrast(.96); transition: transform .45s ease, filter .35s ease; }
.service-card:hover .service-media { filter: saturate(.9) contrast(1); transform: scale(1.035); }
.service-copy { position: relative; display: flex; flex: 1; flex-direction: column; padding: 24px 25px 25px; }
.services .service-number { position: static; color: #465158 !important; font-family: "DM Mono", monospace !important; font-size: .62rem !important; letter-spacing: .1em !important; }
.services .service h3 { max-width: 250px; margin: 38px 0 13px; color: #1d2326; font-size: 1.75rem !important; }
.services .service p { max-width: 275px; color: #5c666a !important; }
.services .service-link { position: static; align-self: flex-start; margin-top: auto; padding-top: 22px; color: #1d2326 !important; }
.services .service-link::after { color: #1d2326 !important; }
@media (max-width: 920px) { .services .service-card { min-height: auto !important; } .service-media { height: 260px; } .service-copy { min-height: 230px; } }
@media (max-width: 700px) { .services .service-card { min-height: auto !important; } .service-media { height: 220px; } .service-copy { min-height: 245px; padding: 22px 20px 23px; } .services .service h3 { margin-top: 31px; } }

/* ==========================================================================
   3. Dedicated pages — pages.css components at their final "Soft Black Label"
      values (the inner pages of the export: services / fleet / service area).
      Fonts follow black-label.css (Space Grotesk + DM Mono) so every page of
      the site shares one type system.
   ========================================================================== */
.page-hero, .hero, .experience { --img: var(--img-l, none); }
.page-hero{position:relative;min-height:530px!important;display:flex;align-items:end;overflow:hidden;background:#202428!important}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,31,34,.86),rgba(27,31,34,.42)),var(--img) center/cover!important;filter:grayscale(.82) contrast(.96) brightness(1.16)}
.page-hero .shell{position:relative;z-index:1;padding:142px 0 68px!important}
.page-hero h1{max-width:760px!important;margin:0;font-family:"Space Grotesk",Arial,sans-serif!important;font-size:clamp(3.5rem,7vw,6.8rem)!important;font-weight:500!important;line-height:.84!important;letter-spacing:-.08em!important;text-transform:uppercase}
.page-hero p:not(.eyebrow){max-width:540px;margin:23px 0 0;color:#d4d8d9!important;font-size:1rem;line-height:1.7}
.page-hero .hero-actions{margin-top:30px}

.page-intro{padding:115px 0}
.page-intro,.page-main,.area-panel{background:#e3e6e7!important;color:#1d2326!important}
.split-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:85px}
.split-intro h2{max-width:520px;margin:0;font-size:clamp(2.8rem,5vw,4.7rem);line-height:.98}
.split-intro p{margin:0;font-size:1rem;line-height:1.75}
.split-intro h2,.area-layout h2{font-family:"Space Grotesk",Arial,sans-serif!important;font-weight:500!important;letter-spacing:-.08em!important;text-transform:uppercase}
.split-intro p,.area-layout p{color:#5c666a!important}
.split-intro .intro-text p + p{margin-top:16px}
.eyebrow.eyebrow--bronze{color:#8f682f}
.button.ink{background:#09131f!important;border-color:#09131f!important;color:#f7f5f0!important}
.intro-action{margin-top:36px}

.page-main{padding:0 0 120px}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid}
.detail{min-height:282px;padding:28px 25px;border-right:1px solid;border-bottom:1px solid}
.detail:first-child{border-left:1px solid}
.detail-grid,.detail,.detail:first-child{border-color:rgba(29,35,38,.26)!important}
.detail:hover{background:#d4d9da!important}
.detail-num{color:#1d2326!important;font-family:"DM Mono",monospace!important;font-size:.65rem;font-weight:800;letter-spacing:.12em}
.detail h3{margin:40px 0 14px;font-family:"Space Grotesk",Arial,sans-serif!important;font-size:1.75rem;font-weight:500!important;letter-spacing:-.08em!important;line-height:1.05;text-transform:uppercase}
.detail p{margin:0;color:#5c666a!important;font-size:.88rem;line-height:1.65}
/* Photograph-led service cards */
.page-main .detail{position:relative;isolation:isolate;display:flex;min-height:470px!important;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:30px 26px!important;background:#30363a!important;color:#e7e9e9!important}
.page-main .detail:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(24,29,32,.08) 8%,rgba(24,29,32,.9) 90%),var(--detail-image) center/cover;filter:saturate(.7) contrast(.96);transition:transform .45s ease,filter .35s ease}
.page-main .detail:hover{background:#30363a!important}
.page-main .detail:hover:before{filter:saturate(.9) contrast(1);transform:scale(1.035)}
.page-main .detail>*{position:relative;z-index:1}
.page-main .detail-num{color:#e7e9e9!important;font-family:"DM Mono",monospace!important}
.page-main .detail h3{margin:32px 0 12px!important;color:#e7e9e9!important;font-family:"Space Grotesk",Arial,sans-serif!important;font-size:1.8rem!important;font-weight:500!important;letter-spacing:-.065em!important;text-transform:uppercase}
.page-main .detail p{color:#d0d5d6!important;font-size:.9rem!important;line-height:1.65!important}
.page-main .detail h3 a:after{content:"";position:absolute;inset:0;z-index:2}
.detail-link{margin-top:18px;color:#e7e9e9;font-family:"DM Mono",monospace;font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.detail-link:after{content:"↗";margin-left:8px;font-size:1rem}

.quote-band{padding:94px 0;background:#2a3034!important;color:#e7e9e9!important}
.quote-band .inner{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.quote-band h2{max-width:690px!important;margin:0;font-family:"Space Grotesk",Arial,sans-serif!important;font-size:clamp(2.7rem,5vw,4.6rem);font-weight:500!important;line-height:.98;letter-spacing:-.08em!important;text-transform:uppercase}
.quote-band .eyebrow{color:#e7e9e9!important}
.quote-band .button.primary{background:#cbd0d2!important;border-color:#cbd0d2!important;color:#1b1f22!important;border-radius:0!important}
.quote-band .quote-actions{display:flex;flex-wrap:wrap;gap:12px}

.vehicle-list{margin-top:0;border-top:1px solid rgba(231,233,233,.22)}
.vehicle-row{display:grid;grid-template-columns:90px 1fr 1.1fr .75fr;gap:24px;align-items:center;min-height:132px;border-bottom:1px solid rgba(231,233,233,.22)}
.vehicle-row > span{color:#e7e9e9;font-family:"DM Mono",monospace;font-size:1.35rem}
.vehicle-row h2{margin:0;font-family:"Space Grotesk",Arial,sans-serif;font-size:2rem;font-weight:500;letter-spacing:-.08em;text-transform:uppercase}
.vehicle-row p{margin:0;color:#c4cbcd;font-size:.86rem}
.vehicle-row b{color:#e7e9e9;font-family:"DM Mono",monospace;font-size:.66rem;letter-spacing:.12em;text-align:right;text-transform:uppercase}
.vehicle-row p small{display:block;margin-top:6px;color:#aab1b4;font-family:"DM Mono",monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}

.area-panel{padding:122px 0}
.area-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:85px}
.area-layout h2{margin:0 0 25px;font-size:clamp(3rem,5vw,4.9rem);line-height:.98}
.area-layout p{max-width:430px;margin:0;line-height:1.75}
.place-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(29,35,38,.26)}
.place-list > *{padding:20px 0;border-bottom:1px solid rgba(29,35,38,.26);color:#1d2326;font-size:.88rem;font-weight:700}
.place-list > :nth-child(odd){padding-right:20px}
.place-list > :nth-child(even){padding-left:20px;border-left:1px solid rgba(29,35,38,.26)}
.place-list > :before{content:"•";color:#9a763e;margin-right:8px}
.place-list a{transition:background .2s,color .2s}
.place-list a:hover{color:#8f682f}
.place-list a:after{content:"↗";float:right;color:#5c666a;font-weight:400}

@media(max-width:800px){
  .page-hero .shell{padding:122px 0 63px!important}
  .split-intro,.area-layout{grid-template-columns:1fr;gap:35px}
  .page-intro,.area-panel{padding:88px 0}
  .page-main{padding-bottom:88px}
  .detail-grid{grid-template-columns:1fr}
  .detail,.detail:first-child{min-height:240px;border-left:1px solid}
  .detail h3{margin-top:35px}
  .page-main .detail{min-height:390px!important;padding:25px 21px!important}
  .quote-band{padding:75px 0}
  .quote-band .inner{grid-template-columns:1fr}
  .vehicle-row{grid-template-columns:42px 1fr;gap:7px 16px;padding:20px 0}
  .vehicle-row p,.vehicle-row b{grid-column:2}
  .vehicle-row b{text-align:left}
  .place-list{grid-template-columns:1fr}
  .place-list > :nth-child(even){padding-left:0;border-left:0}
}

/* ==========================================================================
   4. CMS additions — navigation dropdowns, extended footer, long-form copy,
      journal, reservation page, breadcrumbs, admin hooks. Same tokens as the
      Soft Black Label layers above: graphite #1b1f22 / slate #30363a, mist
      #e3e6e7 / steel #d4d9da, silver #cbd0d2, Space Grotesk + DM Mono.
   ========================================================================== */
@media (max-width: 700px) {
  .page-hero, .hero, .experience { --img: var(--img-s, var(--img-l, none)); }
}
.skip-link{position:absolute;left:16px;top:-60px;z-index:50;padding:10px 14px;background:#e7e9e9;color:#1b1f22;font-family:"DM Mono",monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid #cbd0d2;outline-offset:3px}

/* ---- Header: current page + dropdowns ---------------------------------- */
.links a[aria-current=page]{color:#aab1b4!important}
.brand-text{color:#e7e9e9}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item > a{display:inline-flex;align-items:center;gap:7px}
.nav-item.has-sub > a:after{content:"";width:5px;height:5px;margin-top:-3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);opacity:.7}
.nav-sub{position:absolute;top:calc(100% + 22px);left:-20px;min-width:260px;padding:10px 0;background:#202428;border:1px solid rgba(231,233,233,.2);box-shadow:0 22px 44px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-sub:before{content:"";position:absolute;left:0;right:0;top:-23px;height:23px}
.nav-item:hover .nav-sub,.nav-item:focus-within .nav-sub{opacity:1;visibility:visible;transform:none}
.links .nav-sub a{display:block;padding:9px 20px;color:#d4d8d9!important;font-size:.68rem;letter-spacing:.07em;white-space:nowrap}
.links .nav-sub a:hover,.links .nav-sub a[aria-current=page]{color:#e7e9e9!important;background:rgba(231,233,233,.06)}
.links .nav-sub .nav-sub-all{margin-top:6px;padding-top:12px;border-top:1px solid rgba(231,233,233,.14);color:#aab1b4!important;font-family:"DM Mono",monospace}
body.no-hero .nav-wrap{position:relative;background:#1b1f22}
@media (max-width: 700px) {
  .nav-item{flex-direction:column;align-items:stretch;width:100%}
  .nav-item.has-sub > a:after{display:none}
  .nav-sub{display:none}
  .links{max-height:calc(100vh - 76px);overflow:auto}
  .links .nav-phone{color:#e7e9e9!important}
}

/* ---- Footer (four columns: brand + contacts / services / areas / company) */
.footer-main.footer-main--wide{grid-template-columns:1.35fr 1fr 1fr 1fr}
.footer-copy + .footer-list{margin-top:16px}
.footer-contact a{color:#e7e9e9!important;font-size:.86rem}
.footer-bottom a:hover{color:#e7e9e9}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:16px}
@media (max-width: 920px) { .footer-main.footer-main--wide{grid-template-columns:1fr 1fr} }
@media (max-width: 700px) { .footer-main.footer-main--wide{grid-template-columns:1fr} }

/* ---- Breadcrumbs ---------------------------------------------------------- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;color:#aab1b4;font-family:"DM Mono",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.crumbs a{color:#d4d8d9}
.crumbs a:hover{color:#e7e9e9;text-decoration:underline}
.crumbs [aria-current]{color:#aab1b4}
.article .crumbs,.light .crumbs{color:#5c666a}
.article .crumbs a{color:#1d2326}

/* ---- Home: linked rows inside the design's lists --------------------------- */
.area-list a{display:block;transition:color .2s}
.area-list a:hover{color:#cbd0d2}
.vehicle h3 a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.route-list a.route-item{display:grid;grid-template-columns:56px 1fr;gap:0 18px;padding:21px 0;border-bottom:1px solid rgba(231,233,233,.25);transition:background .2s,padding .2s}
.route-list a.route-item:hover{padding-left:10px;background:rgba(231,233,233,.04)}
.route-list a.route-item h3:after{content:" ↗";color:#aab1b4}
@media (max-width: 700px){ .route-list a.route-item{grid-template-columns:42px 1fr} }
.fleet-note{margin:28px 0 0;color:#566167;font-size:.9rem;line-height:1.7;max-width:640px}

/* Journey on dark tones (optional scheme) */
.journey.journey--slate{background:#30363a;color:#e7e9e9}
.journey.journey--slate .eyebrow{color:#e7e9e9!important}
.journey.journey--slate .journey-top > p:not(.eyebrow),.journey.journey--slate .journey-grid p{color:#c4cbcd}
.journey.journey--slate .journey-grid,.journey.journey--slate .journey-grid li{border-color:rgba(231,233,233,.25)!important}

/* ---- Long-form copy (prose block) ----------------------------------------- */
.prose-section{padding:118px 0}
.prose-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:84px;align-items:start}
.prose-grid--solo{grid-template-columns:minmax(0,1fr);max-width:820px}
.prose-head{position:sticky;top:40px}
.prose-head h2{margin:0;font-family:"Space Grotesk",Arial,sans-serif;font-size:clamp(2.5rem,4.6vw,4.4rem);font-weight:500;letter-spacing:-.085em;line-height:.92;text-transform:uppercase}
.prose-head .eyebrow{color:inherit!important}
.prose-body{font-size:1rem;line-height:1.75;color:var(--sch-muted,#566167)}
.prose-body > :first-child{margin-top:0}
.prose-body h2,.prose-body h3{color:var(--sch-text,#1b2225);font-family:"Space Grotesk",Arial,sans-serif;font-weight:500;line-height:1.05}
.prose-body h2{margin:44px 0 14px;font-size:1.9rem;letter-spacing:-.06em;text-transform:uppercase}
.prose-body h3{margin:34px 0 10px;font-size:1.22rem;letter-spacing:-.035em}
.prose-body p{margin:0 0 16px}
.prose-body ul,.prose-body ol{margin:0 0 20px;padding:0;list-style:none;border-top:1px solid rgba(29,35,38,.2)}
.prose-body li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid rgba(29,35,38,.2)}
.prose-body ul li:before{content:"•";position:absolute;left:4px;color:#8f682f}
.prose-body ol{counter-reset:li}
.prose-body ol li{counter-increment:li}
.prose-body ol li:before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:"DM Mono",monospace;font-size:.66rem;color:var(--sch-text,#1b2225)}
.prose-body strong{color:var(--sch-text,#1b2225)}
.prose-body a{color:var(--sch-text,#1b2225);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose-body a:hover{color:#8f682f}
.prose-body blockquote{margin:28px 0;padding:6px 0 6px 24px;border-left:1px solid currentColor;font-family:"Space Grotesk",Arial,sans-serif;font-size:1.35rem;letter-spacing:-.04em;line-height:1.35;color:var(--sch-text,#1b2225)}
.prose-body table{width:100%;margin:0 0 20px;border-collapse:collapse;font-size:.92rem}
.prose-body th,.prose-body td{padding:12px 10px 12px 0;border-bottom:1px solid rgba(29,35,38,.2);text-align:left;vertical-align:top}
.prose-body th{font-family:"DM Mono",monospace;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sch-text,#1b2225)}
.dark .prose-body li,.charcoal .prose-body li,.dark .prose-body ul,.charcoal .prose-body ul,.dark .prose-body ol,.charcoal .prose-body ol,.dark .prose-body td,.charcoal .prose-body td,.dark .prose-body th,.charcoal .prose-body th{border-color:rgba(231,233,233,.2)}
.dark .prose-body ul li:before,.charcoal .prose-body ul li:before{color:#cbd0d2}
.dark .prose-body a:hover,.charcoal .prose-body a:hover{color:#cbd0d2}
.prose-photo{margin:0 0 30px}
.prose-photo img{display:block;width:100%;height:auto;filter:saturate(.72) contrast(.96)}
.prose-body .button{margin-top:10px;text-decoration:none}
@media (max-width: 920px){ .prose-grid{grid-template-columns:1fr;gap:34px} .prose-head{position:static} }
@media (max-width: 700px){ .prose-section{padding:88px 0} }

/* ---- Journal: post list ------------------------------------------------- */
.postlist{padding:118px 0}
.postlist-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.65fr);gap:52px;align-items:end;margin-bottom:48px}
.postlist-top h2{margin:0;font-family:"Space Grotesk",Arial,sans-serif;font-size:clamp(2.7rem,5.25vw,5rem);font-weight:500;letter-spacing:-.085em;line-height:.92;text-transform:uppercase}
.postlist-top .eyebrow{color:inherit!important}
.postlist-top p:not(.eyebrow){margin:0;color:var(--sch-muted,#566167);line-height:1.7}
.post-list{border-top:1px solid rgba(29,35,38,.26)}
.post-row{position:relative;display:grid;grid-template-columns:230px minmax(0,1fr) 40px;gap:30px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(29,35,38,.26);transition:background .2s,padding .2s}
.post-row:hover{padding-left:12px;padding-right:12px;background:rgba(29,35,38,.05)}
.post-row .post-thumb{overflow:hidden;aspect-ratio:16/10;background:#cbd0d2}
.post-row .post-thumb img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96);transition:transform .45s}
.post-row:hover .post-thumb img{transform:scale(1.04)}
.post-meta{display:block;margin-bottom:10px;font-family:"DM Mono",monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sch-muted,#566167)}
.post-row h3{margin:0 0 8px;font-family:"Space Grotesk",Arial,sans-serif;font-size:1.55rem;font-weight:500;letter-spacing:-.06em;line-height:1.02;text-transform:uppercase}
.post-row h3 a:after{content:"";position:absolute;inset:0}
.post-row p{margin:0;color:var(--sch-muted,#566167);font-size:.92rem;line-height:1.6}
.post-row .post-arrow{justify-self:end;font-size:1.3rem}
.post-empty{padding:26px 0;color:var(--sch-muted,#566167)}
.dark .post-list,.dark .post-row,.charcoal .post-list,.charcoal .post-row{border-color:rgba(231,233,233,.22)}
.postlist-more{margin-top:34px}
@media (max-width: 920px){ .postlist-top{grid-template-columns:1fr;gap:24px} }
@media (max-width: 700px){ .postlist{padding:88px 0} .post-row{grid-template-columns:1fr;gap:14px} .post-row .post-arrow{display:none} }

/* ---- Journal: article --------------------------------------------------- */
.article{padding:92px 0 104px;background:#e3e6e7;color:#1d2326}
.article-shell{width:min(820px,calc(100% - 48px));margin:0 auto}
.article .eyebrow{color:#8f682f}
.article h1{max-width:none!important;margin:0!important;font-size:clamp(2.6rem,5.6vw,4.9rem)!important;line-height:.9!important;letter-spacing:-.075em!important}
.article-meta{margin:22px 0 34px;color:#5c666a;font-family:"DM Mono",monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
.article-photo{margin:0 0 34px}
.article-photo img{display:block;width:100%;height:auto;filter:saturate(.72) contrast(.96)}
.article-photo--edit{position:relative;aspect-ratio:16/9}
.lead-copy{margin:0 0 28px;font-family:"Space Grotesk",Arial,sans-serif;font-size:1.36rem;letter-spacing:-.035em;line-height:1.42;color:#1d2326}
.article .prose-body{color:#4b565c;font-size:1.02rem}
.article-foot{margin-top:46px;padding-top:24px;border-top:1px solid rgba(29,35,38,.26);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.article-foot .post-meta{margin:0}

/* ---- Reservation page (full form) -------------------------------------- */
.reserve{padding:120px 0;background:#1b1f22;color:#e7e9e9}
.reserve-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.reserve h2{margin:0;font-family:"Space Grotesk",Arial,sans-serif;font-size:clamp(2.7rem,5vw,4.8rem);font-weight:500;letter-spacing:-.085em;line-height:.92;text-transform:uppercase}
.reserve .eyebrow{color:#e7e9e9}
.reserve-copy > p:not(.eyebrow){max-width:440px;margin:25px 0 0;color:#c4cbcd;line-height:1.7}
.reserve-points{margin:30px 0 0;padding:0;list-style:none;border-top:1px solid rgba(231,233,233,.22)}
.reserve-points li{padding:15px 0 15px 26px;position:relative;border-bottom:1px solid rgba(231,233,233,.22);color:#d4d8d9;font-size:.92rem}
.reserve-points li:before{content:"—";position:absolute;left:0;color:#aab1b4}
.reserve-contact{display:grid;gap:14px;margin-top:30px}
.reserve-contact a{display:block;color:#e7e9e9;font-family:"Space Grotesk",Arial,sans-serif;font-size:1.35rem;letter-spacing:-.04em}
.reserve-contact small{display:block;margin-bottom:2px;color:#aab1b4;font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
.reserve .booking{width:100%}
.form-grid.form-grid--3{grid-template-columns:1fr 1fr 1fr}
.field textarea{width:100%;min-height:96px;padding:12px;border:1px solid #657075;border-radius:0;outline:0;background:#252b2e;color:#e7e9e9;font:inherit;font-size:.86rem;resize:vertical}
.field textarea:focus{border-color:#e7e9e9;box-shadow:0 0 0 2px rgba(247,247,245,.18)}
.field input::placeholder,.field textarea::placeholder{color:#8a9397}
.field select option{color:#1b1f22}
.field input[type=date],.field input[type=time]{color-scheme:dark}
@media (max-width: 920px){ .reserve-grid{grid-template-columns:1fr;gap:44px} }
@media (max-width: 700px){ .reserve{padding:88px 0} }
@media (max-width: 520px){ .form-grid.form-grid--3{grid-template-columns:1fr 1fr} }

/* Engine AJAX form message, dressed as the design's .form-success */
.booking .bc-form-msg{margin:14px 0 0!important;padding:12px!important;border:0!important;border-left:2px solid #e7e9e9!important;border-radius:0!important;background:#171717!important;color:#e7e9e9!important;font-size:.78rem!important}
.booking .bc-form-msg.is-err{border-left-color:#e08a8a!important}
.form-notice{margin:0 0 16px;padding:12px;border-left:2px solid #e7e9e9;background:#171717;color:#e7e9e9;font-size:.8rem}
.form-notice--err{border-left-color:#e08a8a}
.bc-form-config{color:#1d2326;background:#fff}

/* ---- 404 ---------------------------------------------------------------- */
.page-404 .page-hero h1{font-size:clamp(3.2rem,6.4vw,6rem)!important}

/* ---- Admin: photo controls on CSS-background sections ------------------- */
.aw-bg-controls{position:absolute;z-index:6;right:18px;bottom:18px;display:flex;gap:6px}
.bc-bg-host{position:relative;overflow:hidden}
.page-head__bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;background-image:var(--bg-s,none)}
@media (min-width: 701px){ .page-head__bg{background-image:var(--bg-l,var(--bg-s,none))} }
.photo--edit,.prose-photo--edit,.post-thumb--edit{position:relative;aspect-ratio:16/9}
.photo--edit .bc-bg-host,.prose-photo--edit .bc-bg-host,.article-photo--edit .bc-bg-host,.service-media--edit .bc-bg-host{position:absolute;inset:0}
.service-media--edit{position:relative;height:205px;flex:none}
.detail .aw-bg-controls{bottom:auto;top:14px;right:14px}

@media (prefers-reduced-motion: reduce){ *{scroll-behavior:auto!important;transition:none!important} }

/* SEO kicker: the eyebrow sits inside the H1 but keeps the eyebrow look */
h1 .eyebrow{display:flex!important;width:max-content;max-width:100%;text-transform:uppercase}
h1 .h1-main{display:block}

/* ---- Fleet: photograph-led vehicle cards (services-card language) ------- */
.fleet-cards{padding:118px 0 124px;background:#e3e6e7;color:#1d2326}
.fleet-cards .section-top .eyebrow{color:#1d2326!important}
.fleet-cards .section-top p{color:#5c666a!important}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(29,35,38,.26);border-left:1px solid rgba(29,35,38,.26)}
.vehicle-card{position:relative;display:flex;flex-direction:column;background:#eef0f0;border-right:1px solid rgba(29,35,38,.26);border-bottom:1px solid rgba(29,35,38,.26);overflow:hidden;scroll-margin-top:24px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.vehicle-card:hover{z-index:1;transform:translateY(-6px);background:#f4f5f5;box-shadow:0 18px 32px rgba(26,31,34,.14)}
.vehicle-card__photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:#cbd0d2}
.vehicle-card__photo picture,.vehicle-card__photo img{display:block;width:100%;height:100%}
.vehicle-card__photo img{object-fit:cover;filter:saturate(.72) contrast(.96);transition:transform .45s ease,filter .35s ease}
.vehicle-card:hover .vehicle-card__photo img{filter:saturate(.9) contrast(1);transform:scale(1.035)}
.vehicle-card__photo--edit .bc-bg-host{position:absolute;inset:0}
.vehicle-card__body{display:flex;flex:1;flex-direction:column;padding:24px 25px 25px}
.vehicle-card__class{color:#465158;font-family:"DM Mono",monospace;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.vehicle-card h3{margin:26px 0 4px;color:#1d2326;font-family:"Space Grotesk",Arial,sans-serif;font-size:1.65rem!important;font-weight:500;letter-spacing:-.065em!important;line-height:1.02;text-transform:uppercase}
.vehicle-card__model{margin:0 0 16px;color:#5c666a;font-size:.78rem}
.vehicle-card__specs{display:grid;grid-template-columns:1fr 1fr;margin:0 0 16px;border-top:1px solid rgba(29,35,38,.2);border-bottom:1px solid rgba(29,35,38,.2)}
.vehicle-card__specs div{padding:11px 0}
.vehicle-card__specs div + div{padding-left:14px;border-left:1px solid rgba(29,35,38,.2)}
.vehicle-card__specs dt{color:#5c666a;font-family:"DM Mono",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.vehicle-card__specs dd{margin:2px 0 0;color:#1d2326;font-family:"Space Grotesk",Arial,sans-serif;font-size:1.02rem;letter-spacing:-.03em}
.vehicle-card__text{margin:0 0 14px;color:#5c666a;font-size:.88rem;line-height:1.62}
.vehicle-card__features{margin:0 0 16px;padding:0;list-style:none}
.vehicle-card__features li{position:relative;padding:3px 0 3px 16px;color:#3d4549;font-size:.82rem}
.vehicle-card__features li:before{content:"•";position:absolute;left:2px;color:#8f682f}
.vehicle-card__best{margin:0 0 4px;color:#1d2326;font-size:.82rem}
.vehicle-card__best small{display:block;margin-bottom:2px;color:#5c666a;font-family:"DM Mono",monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.vehicle-card .service-link{position:static;align-self:flex-start;margin-top:auto;padding-top:20px;color:#1d2326!important;font-family:"DM Mono",monospace;font-size:.64rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.vehicle-card .service-link:after{content:"↗";margin-left:8px;font-size:1rem;color:#1d2326!important}
.vehicle-card .service-link:before{content:"";position:absolute;inset:0}
.fleet-cards__note{max-width:720px;margin:28px 0 0;color:#5c666a;font-size:.86rem;line-height:1.65}
@media (max-width:1100px){ .vehicle-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:700px){ .fleet-cards{padding:88px 0} .vehicle-grid{grid-template-columns:1fr} }

/* Home fleet list: more rows, a touch tighter */
.fleet-list .vehicle{min-height:118px}
.vehicle .vehicle-thumb{display:none}

/* ---- Pricing: approximate rate tables ----------------------------------- */
.pricing{padding:112px 0;background:#e3e6e7;color:#1d2326}
.pricing .section-top{margin-bottom:34px}
.pricing .section-top .eyebrow{color:#1d2326!important}
.pricing .section-top p{color:#5c666a!important}
.price-notice{display:flex;gap:12px;align-items:flex-start;margin:0 0 26px;padding:16px 18px;border:1px solid rgba(29,35,38,.3);border-left:3px solid #8f682f;background:#eef0f0;color:#1d2326;font-size:.92rem;font-weight:600;line-height:1.55}
.price-notice:before{content:"i";flex:none;display:grid;place-items:center;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font-family:"DM Mono",monospace;font-size:.7rem}
.price-table-wrap{overflow-x:auto}
.price-table{width:100%;border-collapse:collapse;border-top:1px solid rgba(29,35,38,.26);font-size:.92rem}
.price-table th,.price-table td{padding:18px 16px 18px 0;border-bottom:1px solid rgba(29,35,38,.26);text-align:left;vertical-align:middle}
.price-table thead th{padding-top:14px;padding-bottom:14px;color:#5c666a;font-family:"DM Mono",monospace;font-size:.6rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.price-table tbody th{font-family:"Space Grotesk",Arial,sans-serif;font-size:1.22rem;font-weight:500;letter-spacing:-.05em;text-transform:uppercase}
.price-table tbody th a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.price-table td{color:#3d4549}
.price-table tbody tr{transition:background .2s}
.price-table tbody tr:hover{background:rgba(29,35,38,.04)}
.price-note{max-width:820px;margin:22px 0 0;color:#5c666a;font-size:.84rem;line-height:1.65}
.pricing--dark{background:#30363a;color:#e7e9e9}
.pricing--dark .section-top .eyebrow,.pricing--dark .price-table tbody th{color:#e7e9e9!important}
.pricing--dark .section-top p,.pricing--dark .price-note,.pricing--dark .price-table thead th{color:#c4cbcd!important}
.pricing--dark .price-table td{color:#d4d8d9}
.pricing--dark .price-table,.pricing--dark .price-table th,.pricing--dark .price-table td{border-color:rgba(231,233,233,.22)}
.pricing--dark .price-notice{background:#2a3034;color:#e7e9e9;border-color:rgba(231,233,233,.3);border-left-color:#cbd0d2}
@media (max-width:760px){
  .pricing{padding:84px 0}
  .price-table thead{display:none}
  .price-table,.price-table tbody,.price-table tr,.price-table th,.price-table td{display:block;width:100%}
  .price-table tr{padding:16px 0;border-bottom:1px solid rgba(29,35,38,.26)}
  .pricing--dark .price-table tr{border-color:rgba(231,233,233,.22)}
  .price-table th,.price-table td{padding:4px 0;border:0}
  .price-table tbody th{margin-bottom:6px}
  .price-table td{display:flex;justify-content:space-between;gap:16px}
  .price-table td:before{content:attr(data-label);color:#5c666a;font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}
  .pricing--dark .price-table td:before{color:#aab1b4}
}

/* ---- Core mobile UX (sticky header + footer accordion), themed ----------- */
:root{--bc-sticky-bg:rgba(27,31,34,.96);--bc-sticky-shadow:0 8px 26px rgba(0,0,0,.28);--bc-acc-rule:rgba(231,233,233,.2)}
@media (max-width:700px){
  .nav-wrap.bc-sticky .links{max-height:calc(100vh - 76px);overflow:auto}
  footer.bc-footer-acc .footer-main.footer-main--wide{gap:0;padding-bottom:36px}
  footer.bc-footer-acc .footer-brand{padding-bottom:26px}
  footer.bc-footer-acc .bc-acc-title{color:#e7e9e9!important;font-size:1.1rem}
  footer.bc-footer-acc .footer-list{gap:12px}
  footer.bc-footer-acc .footer-list a{font-size:.9rem}
  .footer-bottom nav{gap:14px}
}
/* Back-to-top (core): the design's square silver button */
:root{--bc-top-bg:rgba(27,31,34,.92);--bc-top-bg-hover:#30363a;--bc-top-color:#e7e9e9;--bc-top-radius:0;--bc-top-border:rgba(231,233,233,.38)}
.bc-top{box-shadow:0 8px 22px rgba(0,0,0,.28)}
/* Keep the reservation toast clear of the button */
.toast{right:82px!important}
@media (max-width:700px){ .toast{right:74px!important;left:16px;max-width:none} }
.footer-address{margin:12px 0 0;font-style:normal}

/* ---- Navigation collapses to the burger at 960px (7 items + phone no longer fit
        the design's 700px desktop bar) — same look as the design's phone menu. ---- */
@media (max-width:960px){
  .nav{min-height:76px!important}
  .links{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:10px 24px 20px;background:#202428!important;border-bottom:1px solid rgba(231,233,233,.2)}
  .links.open{display:flex}
  .links a,.links .nav-cta{width:100%;padding:13px 0}
  .links .nav-cta{justify-content:flex-start;min-height:auto;border:0!important}
  .menu-toggle{display:block}
  .nav-item{flex-direction:column;align-items:stretch;width:100%}
  .nav-item.has-sub > a:after{display:none}
  .nav-sub{display:none}
  .links{max-height:calc(100vh - 76px);overflow:auto}
  footer.bc-footer-acc .footer-main.footer-main--wide{grid-template-columns:1fr;gap:0;padding-bottom:36px}
  footer.bc-footer-acc .footer-brand{padding-bottom:26px}
  footer.bc-footer-acc .bc-acc-title{color:#e7e9e9!important;font-size:1.1rem}
  footer.bc-footer-acc .footer-list{gap:12px}
}
