/*!
 * B-LineXpress Content — front-end styles
 * Version: 0.1.0
 * Luxury black-car service. Dark charcoal + gold. Cormorant Garamond / Manrope.
 */

/* ---------- Tokens ---------- */
:root{
  --gold:#c9a227;
  --gold-2:#e3c25a;
  --bg:#0a0a0a;
  --bg-2:#070706;
  --panel:#0c0c0b;
  --panel-2:#111110;
  --line:#1c1b18;
  --line-2:#26241f;
  --text:#e8e6e1;
  --heading:#f3f1ec;
  --muted:#8d8a82;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --maxw:1280px;
}

/* ---------- Reset ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.blx{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5;}
.blx img{max-width:100%;display:block;}
.blx a{color:inherit;}
.blx ::selection{background:var(--gold);color:#0a0a0a;}
.blx h1,.blx h2,.blx h3{margin:0;}

/* ---------- Reusable atoms ---------- */
.blx .wrap{max-width:var(--maxw);margin:0 auto;padding-left:24px;padding-right:24px;}
.blx .eyebrow{display:inline-block;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);}
.blx .serif{font-family:var(--serif);}
.blx .section{padding:clamp(74px,9vw,120px) 0;}
.blx .section--tight{padding:clamp(48px,6vw,80px) 0;}
.blx .dark-band{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.blx .btn{display:inline-flex;align-items:center;gap:.55em;font-weight:700;font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;padding:16px 30px;border-radius:2px;
  text-decoration:none;transition:all .25s;border:1px solid transparent;cursor:pointer;}
.blx .btn--gold{background:var(--gold);color:#0a0a0a;}
.blx .btn--gold:hover{background:var(--gold-2);transform:translateY(-1px);}
.blx .btn--ghost{background:transparent;color:var(--text);border-color:#3a3833;font-weight:600;}
.blx .btn--ghost:hover{border-color:var(--gold);color:var(--gold);}
.blx .btn--sm{padding:12px 22px;font-size:12px;}

.blx .h2{font-family:var(--serif);font-weight:600;font-size:clamp(34px,4.5vw,56px);
  line-height:1.02;color:var(--heading);}
.blx .lead{color:var(--muted);font-size:16px;line-height:1.7;}

/* ---------- Top bar ---------- */
.blx-topbar{background:#070707;border-bottom:1px solid #1a1a18;font-size:12px;letter-spacing:.06em;}
.blx-topbar .wrap{padding-top:9px;padding-bottom:9px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;flex-wrap:wrap;}
.blx-topbar .grp{display:flex;align-items:center;gap:18px;color:#9a978f;flex-wrap:wrap;}
.blx-topbar a{text-decoration:none;color:#9a978f;}
.blx-topbar a.tel{color:var(--gold);font-weight:600;}
.blx-topbar .sep{color:#3a3833;}
.blx-topbar .always{letter-spacing:.16em;}

/* ---------- Header / nav ---------- */
.blx-header{position:sticky;top:0;z-index:50;background:rgba(7,7,7,.86);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #1a1a18;}
.blx-header .wrap{padding-top:16px;padding-bottom:16px;display:flex;align-items:center;
  justify-content:space-between;gap:24px;}
.blx-brand{text-decoration:none;display:flex;flex-direction:column;line-height:1;}
.blx-brand .name{font-family:var(--serif);font-weight:700;font-size:26px;color:#f3f1ec;letter-spacing:.5px;}
.blx-brand .sub{font-size:9.5px;letter-spacing:.34em;color:var(--gold);margin-top:4px;text-transform:uppercase;}
.blx-nav{display:flex;align-items:center;gap:30px;}
.blx-nav a{color:#cfccc4;text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:color .2s;}
.blx-nav a:hover{color:var(--gold);}
.blx-nav a.is-cta{color:#0a0a0a;background:var(--gold);font-weight:700;font-size:12px;
  letter-spacing:.14em;padding:13px 24px;border-radius:2px;}
.blx-nav a.is-cta:hover{background:var(--gold-2);color:#0a0a0a;transform:translateY(-1px);}
.blx-burger{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.blx-burger span{display:block;width:24px;height:2px;background:#e8e6e1;margin:5px 0;transition:.25s;}

/* ---------- Hero ---------- */
.blx-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;}
.blx-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.blx-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.55) 0%,rgba(7,7,7,.1) 35%,rgba(7,7,7,.82) 100%);}
.blx-hero .inner{position:relative;width:100%;padding-bottom:60px;}
.blx-hero .col{max-width:760px;}
.blx-hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(46px,7vw,86px);
  line-height:.98;color:#f6f4ef;letter-spacing:.5px;margin:22px 0 0;text-wrap:balance;}
.blx-hero p{font-size:clamp(16px,1.5vw,19px);line-height:1.7;color:#cfccc4;max-width:560px;margin:26px 0 0;}
.blx-hero .cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}
.blx-hero--sub{min-height:62vh;}

/* page sub-hero (fleet/tours) */
.blx-subhero{position:relative;min-height:58vh;display:flex;align-items:flex-end;overflow:hidden;
  border-bottom:1px solid var(--line);}
.blx-subhero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.blx-subhero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.5),rgba(7,7,7,.85));}
.blx-subhero .inner{position:relative;width:100%;padding-bottom:54px;}
.blx-subhero h1{font-family:var(--serif);font-weight:600;font-size:clamp(40px,6vw,72px);
  line-height:1;color:#f6f4ef;margin:18px 0 0;}
.blx-subhero p{color:#cfccc4;font-size:17px;line-height:1.7;max-width:560px;margin:18px 0 0;}

/* ---------- Quote widget ---------- */
.blx-quote{position:relative;z-index:10;margin-top:-46px;}
.blx-quote .card{background:#121210;border:1px solid var(--line-2);border-radius:4px;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8);padding:26px;display:grid;
  grid-template-columns:1.2fr 1.2fr 1fr .9fr auto;gap:20px;align-items:end;}
.blx-field{display:flex;flex-direction:column;gap:8px;}
.blx-field label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.blx-field input,.blx-field select{background:#0a0a09;border:1px solid #2a2823;border-radius:2px;
  color:#f0eee8;font-family:inherit;font-size:14px;padding:13px 14px;outline:none;color-scheme:dark;}
.blx-field input:focus,.blx-field select:focus{border-color:var(--gold);}
.blx-quote .submit{height:48px;align-self:end;white-space:nowrap;}

/* ---------- Intro ---------- */
.blx-intro{max-width:1000px;margin:0 auto;padding:clamp(74px,9vw,120px) 24px clamp(20px,4vw,50px);text-align:center;}
.blx-intro p{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3vw,36px);
  line-height:1.4;color:#e9e6df;margin:20px 0 0;text-wrap:pretty;}

/* ---------- Logo strip ---------- */
.blx-logos{padding:clamp(30px,4vw,46px) 0 clamp(50px,6vw,76px);}
.blx-logos .caption{text-align:center;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0 0 30px;}
.blx-logos .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(28px,5vw,64px);}
.blx-logos .row span{font-family:var(--serif);font-size:clamp(18px,2vw,24px);font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:#76736b;transition:color .25s;}
.blx-logos .row span:hover{color:var(--gold);}

/* ---------- Section heading row ---------- */
.blx-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:44px;flex-wrap:wrap;}
.blx-head-row .eyebrow{margin-bottom:14px;}
.blx-head-center{text-align:center;max-width:660px;margin:0 auto 54px;}
.blx-head-center .eyebrow{margin-bottom:16px;}
.blx-textlink{color:var(--gold);text-decoration:none;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;border-bottom:1px solid #3a3833;padding-bottom:4px;transition:border-color .2s;}
.blx-textlink:hover{border-color:var(--gold);}

/* ---------- Destinations ---------- */
.blx-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.blx-dest{position:relative;display:block;height:420px;border-radius:4px;overflow:hidden;
  text-decoration:none;border:1px solid #1d1c19;background:#0d0d0c;transition:transform .3s;}
.blx-dest:hover{transform:translateY(-4px);}
.blx-dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.blx-dest .scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,7,7,.9) 0%,rgba(7,7,7,0) 55%);}
.blx-dest .cap{position:absolute;left:0;right:0;bottom:0;padding:28px;}
.blx-dest .cap .region{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.blx-dest .cap h3{font-family:var(--serif);font-weight:600;font-size:32px;color:#f6f4ef;margin:8px 0 0;}
.blx-dest .cap .go{display:inline-block;margin-top:14px;color:#cfccc4;font-size:13px;letter-spacing:.12em;text-transform:uppercase;}

/* ---------- Fleet teaser (home) ---------- */
.blx-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,72px);align-items:center;}
.blx-feature .lead{margin:18px 0 30px;max-width:480px;}
.blx-spec-list{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-bottom:34px;}
.blx-spec-list .row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:18px 0;border-bottom:1px solid var(--line);}
.blx-spec-list .row .name{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--heading);}
.blx-spec-list .row .meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.blx-feature .media{position:relative;display:block;height:clamp(320px,34vw,440px);border-radius:4px;
  overflow:hidden;border:1px solid #1d1c19;background:#000;text-decoration:none;}
.blx-feature .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.blx-feature .media .cap{position:absolute;left:0;right:0;bottom:0;padding:26px;display:flex;
  align-items:flex-end;justify-content:space-between;gap:16px;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0));}
.blx-feature .media .cap .t{font-family:var(--serif);font-size:26px;font-weight:600;color:#f6f4ef;}
.blx-feature .media .cap .v{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}

/* ---------- Services / numbered grid ---------- */
.blx-cells{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.blx-cell{background:var(--panel);padding:38px 30px;transition:background .25s;}
.blx-cell:hover{background:var(--panel-2);}
.blx-cell .num{font-family:var(--serif);font-size:30px;color:var(--gold);}
.blx-cell h3{font-family:var(--serif);font-weight:600;font-size:25px;color:var(--heading);margin:18px 0 12px;}
.blx-cell p{color:var(--muted);font-size:14px;line-height:1.65;margin:0;}

/* ---------- Why us ---------- */
.blx-why{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;}
.blx-why .h2{font-size:clamp(34px,4.5vw,52px);line-height:1.03;}
.blx-why .lead{margin-top:22px;}
.blx-points{display:flex;flex-direction:column;}
.blx-point{display:flex;gap:22px;padding:24px 0;border-top:1px solid var(--line);}
.blx-point:last-child{border-bottom:1px solid var(--line);}
.blx-point .n{font-family:var(--serif);font-size:26px;color:var(--gold);min-width:44px;}
.blx-point h3{font-size:17px;color:#f0eee8;margin:2px 0 6px;font-weight:600;}
.blx-point p{color:var(--muted);font-size:14px;line-height:1.6;margin:0;}

/* ---------- Clients grid ---------- */
.blx-clients{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:#1a1916;
  border:1px solid #1a1916;border-radius:4px;overflow:hidden;}
.blx-clients .c{background:#0b0b0a;min-height:96px;display:flex;align-items:center;justify-content:center;
  padding:18px 16px;transition:background .25s;}
.blx-clients .c:hover{background:#100f0d;}
.blx-clients .c span{font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:.04em;
  color:#7d7a72;text-align:center;line-height:1.15;transition:color .25s;}
.blx-clients .c:hover span{color:var(--gold);}
.blx-note{text-align:center;color:#5f5c55;font-size:12px;letter-spacing:.06em;margin:24px 0 0;}

/* ---------- Airports ---------- */
.blx-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.blx-airport{display:block;text-decoration:none;background:var(--panel);border:1px solid #1d1c19;
  border-radius:4px;padding:32px 28px;transition:border-color .25s,transform .25s;}
.blx-airport:hover{border-color:var(--gold);transform:translateY(-3px);}
.blx-airport .code{font-family:var(--serif);font-size:48px;font-weight:600;color:var(--gold);line-height:1;}
.blx-airport .code.sm{font-size:36px;letter-spacing:-.5px;}
.blx-airport h3{font-size:16px;color:#f0eee8;margin:16px 0 4px;font-weight:600;}
.blx-airport p{color:var(--muted);font-size:13px;line-height:1.5;margin:0;}

/* ---------- CTA band ---------- */
.blx-cta{position:relative;overflow:hidden;border-top:1px solid var(--line);}
.blx-cta .bg{position:absolute;inset:0;background:linear-gradient(135deg,#14130f,#0a0a09);
  background-image:repeating-linear-gradient(135deg,rgba(201,162,39,.04) 0 2px,transparent 2px 16px);}
.blx-cta .inner{position:relative;max-width:900px;margin:0 auto;padding:clamp(74px,9vw,120px) 24px;text-align:center;}
.blx-cta h2{font-family:var(--serif);font-weight:600;font-size:clamp(38px,5vw,64px);line-height:1.02;color:#f6f4ef;}
.blx-cta p{color:#cfccc4;font-size:17px;line-height:1.7;margin:20px auto 36px;max-width:520px;}
.blx-cta .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Footer ---------- */
.blx-footer{background:#060605;border-top:1px solid var(--line);}
.blx-footer .cols{padding:70px 24px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.blx-footer .name{font-family:var(--serif);font-weight:700;font-size:24px;color:#f3f1ec;}
.blx-footer p{color:var(--muted);font-size:14px;line-height:1.7;margin:16px 0 0;}
.blx-footer .colhead{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.blx-footer .links{display:flex;flex-direction:column;gap:11px;margin-top:18px;}
.blx-footer .links a{color:#bdbab2;text-decoration:none;font-size:14px;transition:color .2s;}
.blx-footer .links a:hover{color:var(--gold);}
.blx-footer .bar{border-top:1px solid var(--line);}
.blx-footer .bar .wrap{padding-top:22px;padding-bottom:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.blx-footer .bar span{color:#6f6c64;font-size:12.5px;}
.blx-footer .bar .places{letter-spacing:.1em;}

/* ---------- Fleet detail page ---------- */
.blx-fleet-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:50px;}
.blx-fleet-tab{background:#0c0c0b;border:1px solid var(--line);color:#cfccc4;font-family:inherit;
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:14px 22px;border-radius:2px;
  cursor:pointer;transition:all .25s;display:flex;flex-direction:column;gap:3px;align-items:flex-start;}
.blx-fleet-tab .k{font-size:10px;letter-spacing:.16em;color:var(--muted);}
.blx-fleet-tab:hover{border-color:#3a3833;}
.blx-fleet-tab.is-active{background:var(--gold);color:#0a0a0a;border-color:var(--gold);}
.blx-fleet-tab.is-active .k{color:rgba(10,10,10,.7);}
.blx-vehicle{display:none;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,64px);align-items:center;}
.blx-vehicle.is-active{display:grid;}
.blx-vehicle .media{position:relative;height:clamp(340px,42vw,520px);border-radius:4px;overflow:hidden;
  border:1px solid #1d1c19;background:#000;}
.blx-vehicle .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.blx-vehicle .badge{position:absolute;top:20px;left:20px;background:rgba(7,7,7,.78);border:1px solid var(--line-2);
  color:var(--gold);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;border-radius:2px;}
.blx-vehicle .klass{color:var(--gold);}
.blx-vehicle h2{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.6vw,46px);color:var(--heading);margin:10px 0 0;}
.blx-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:26px 0 0;padding:0;list-style:none;}
.blx-feature-grid li{display:flex;align-items:flex-start;gap:10px;color:#cfccc4;font-size:14px;line-height:1.5;}
.blx-feature-grid li::before{content:"";flex:0 0 auto;width:6px;height:6px;margin-top:7px;background:var(--gold);transform:rotate(45deg);}
.blx-cap-row{display:flex;gap:40px;margin:30px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.blx-cap-row .item .lbl{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.blx-cap-row .item .val{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--heading);margin-top:6px;}

/* ---------- Tours page ---------- */
.blx-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:48px;}
.blx-filter{background:#0c0c0b;border:1px solid var(--line);color:#cfccc4;font-family:inherit;font-size:12.5px;
  letter-spacing:.1em;text-transform:uppercase;padding:11px 20px;border-radius:2px;cursor:pointer;transition:all .25s;}
.blx-filter:hover{border-color:#3a3833;}
.blx-filter.is-active{background:var(--gold);color:#0a0a0a;border-color:var(--gold);}
.blx-tours{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.blx-tour{background:var(--panel);border:1px solid #1d1c19;border-radius:4px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .25s,transform .25s;}
.blx-tour:hover{border-color:var(--gold);transform:translateY(-3px);}
.blx-tour .pic{position:relative;height:200px;background:linear-gradient(160deg,#161513,#0d0d0c);overflow:hidden;}
.blx-tour .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.blx-tour .pic .ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 2px,transparent 2px 13px);}
.blx-tour .pic .ph span{font-size:11px;letter-spacing:.1em;color:#6f6c64;font-style:italic;}
.blx-tour .pic .cat{position:absolute;top:14px;left:14px;background:rgba(7,7,7,.8);border:1px solid var(--line-2);
  color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:6px 11px;border-radius:2px;}
.blx-tour .body{padding:24px;display:flex;flex-direction:column;flex:1;}
.blx-tour .region{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.blx-tour h3{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--heading);margin:8px 0 0;}
.blx-tour .desc{color:var(--muted);font-size:13.5px;line-height:1.6;margin:12px 0 0;flex:1;}
.blx-tour .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;
  padding-top:16px;border-top:1px solid var(--line);}
.blx-tour .foot .dur{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8d8a82;}
.blx-tour .foot a{color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;}

.blx-custom{margin-top:60px;border:1px solid var(--line-2);border-radius:4px;background:
  linear-gradient(135deg,#121210,#0a0a09);padding:clamp(36px,5vw,56px);text-align:center;}
.blx-custom h3{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.4vw,40px);color:var(--heading);}
.blx-custom p{color:var(--muted);font-size:16px;line-height:1.7;max-width:520px;margin:16px auto 28px;}

/* ---------- Reveal animation ---------- */
.blx [data-reveal]{opacity:0;transform:translateY(30px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);}
.blx [data-reveal].is-in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .blx-quote .card{grid-template-columns:1fr 1fr;}
  .blx-quote .submit{grid-column:1 / -1;}
  .blx-grid-4,.blx-cells{grid-template-columns:repeat(2,1fr);}
  .blx-clients{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:860px){
  .blx-nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;
    background:#0a0a09;border-bottom:1px solid var(--line);padding:8px 0;
    transform:translateY(-130%);transition:transform .3s;}
  .blx-nav.is-open{transform:none;}
  .blx-nav a{padding:15px 24px;border-bottom:1px solid #141310;}
  .blx-nav a.is-cta{margin:12px 24px;text-align:center;justify-content:center;}
  .blx-burger{display:block;}
  .blx-feature,.blx-why,.blx-vehicle.is-active{grid-template-columns:1fr;}
  .blx-grid-3,.blx-tours{grid-template-columns:1fr 1fr;}
  .blx-footer .cols{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .blx-quote .card{grid-template-columns:1fr;}
  .blx-grid-3,.blx-grid-4,.blx-cells,.blx-tours{grid-template-columns:1fr;}
  .blx-clients{grid-template-columns:repeat(2,1fr);}
  .blx-cap-row{gap:24px;}
  .blx-footer .cols{grid-template-columns:1fr;}
}

/* =====================================================================
   Mobile-first refinements — v0.5.0 (95% of traffic is mobile)
   ===================================================================== */

/* Prevent iOS zoom-on-focus: form controls must be >=16px */
@media(max-width:860px){
  .blx-field input,.blx-field select,.blx-field textarea{font-size:16px;}
}

/* Anchor offset so the sticky header never hides a section heading */
.blx #top,.blx #reserve,.blx #destinations,.blx #fleet,.blx #services,
.blx #why,.blx #airports{scroll-margin-top:88px;}

@media(max-width:860px){
  .blx-hero{min-height:74vh;}
  .blx-hero .inner{padding-bottom:40px;}
  .blx-subhero{min-height:50vh;}
  .blx .section{padding:54px 0;}
  .blx-header .wrap{padding:13px 18px;}
  .blx-brand .name{font-size:22px;}
  .blx-burger{padding:11px;min-width:44px;min-height:44px;display:flex;flex-direction:column;justify-content:center;}
  /* Mobile dropdown nav anchored directly under the header bar */
  .blx-nav{position:absolute;top:100%;left:0;right:0;}
  .blx-topbar .wrap{justify-content:center;}
}

@media(max-width:600px){
  .blx-topbar{font-size:11.5px;}
  .blx-topbar .wrap{padding:8px 16px;gap:10px;}
  .blx-topbar .grp:last-child{display:none;}      /* keep tap-to-call; drop the rest */
  .blx .wrap{padding-left:18px;padding-right:18px;}
  .blx-hero h1{font-size:clamp(38px,11vw,58px);}
  .blx-hero p{font-size:16px;}
  .blx-hero .cta-row,.blx-cta .row{flex-direction:column;align-items:stretch;}
  .blx-hero .cta-row .btn,.blx-cta .row .btn{justify-content:center;width:100%;}
  .blx-dest{height:300px;}
  .blx-intro p{font-size:22px;}
}

/* ---- Sticky mobile action bar (Call + Reserve) ---- */
.blx-mobilebar{display:none;}
@media(max-width:860px){
  body.blx{padding-bottom:64px;}                  /* room for the fixed bar */
  .blx-mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:1px;
    background:#211f1b;border-top:1px solid #34312a;box-shadow:0 -10px 30px rgba(0,0,0,.55);}
  .blx-mobilebar a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;
    padding:0 10px;min-height:60px;font-size:13px;font-weight:700;letter-spacing:.12em;
    text-transform:uppercase;text-decoration:none;}
  .blx-mobilebar .mb-call{background:#0c0c0b;color:#f0eee8;}
  .blx-mobilebar .mb-call svg{width:18px;height:18px;flex:0 0 auto;}
  .blx-mobilebar .mb-reserve{background:var(--gold);color:#0a0a0a;}
  .blx-mobilebar .mb-reserve:active,.blx-mobilebar .mb-call:active{filter:brightness(1.08);}
}

/* =====================================================================
   Fleet page — Empire-style long scroll (v0.6.0). Dark brand.
   ===================================================================== */
.blx-fleet-layout{display:grid;grid-template-columns:240px 1fr;gap:clamp(32px,5vw,72px);align-items:start;}

/* sticky jump nav */
.blx-fleet-nav{position:sticky;top:96px;}
.blx-fleet-nav .eyebrow{display:block;margin-bottom:18px;}
.blx-fleet-nav nav{display:flex;flex-direction:column;border-left:1px solid var(--line);}
.blx-fleet-nav a{display:flex;flex-direction:column;gap:2px;padding:12px 0 12px 18px;margin-left:-1px;
  border-left:2px solid transparent;text-decoration:none;transition:all .2s;}
.blx-fleet-nav a .vn{font-family:var(--serif);font-size:18px;font-weight:600;color:#cfccc4;line-height:1.15;transition:color .2s;}
.blx-fleet-nav a .vc{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.blx-fleet-nav a:hover .vn{color:var(--gold-2);}
.blx-fleet-nav a.is-active{border-left-color:var(--gold);}
.blx-fleet-nav a.is-active .vn{color:var(--gold);}

/* vehicle rows */
.blx-fleet-list{display:flex;flex-direction:column;gap:clamp(48px,7vw,96px);}
.blx-veh{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:center;scroll-margin-top:90px;}
.blx-veh .veh-media{position:relative;border-radius:6px;overflow:hidden;border:1px solid #1d1c19;background:
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(201,162,39,.10),#0c0c0b 72%);min-height:300px;display:flex;align-items:center;justify-content:center;}
.blx-veh .veh-media img{width:100%;height:100%;object-fit:cover;display:block;}
.blx-veh .veh-ph{display:flex;align-items:center;justify-content:center;min-height:300px;color:#6f6c64;font-style:italic;padding:20px;text-align:center;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 2px,transparent 2px 13px);width:100%;}
.blx-veh .veh-info h2{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.6vw,46px);color:var(--heading);margin:10px 0 0;}
.blx-veh .veh-caps{display:flex;gap:40px;margin:22px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.blx-veh .cap{display:flex;flex-direction:column;gap:4px;}
.blx-veh .cap .num{font-family:var(--serif);font-size:clamp(40px,5vw,58px);font-weight:600;color:var(--gold);line-height:1;}
.blx-veh .cap .lbl{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.blx-veh .veh-desc{color:var(--muted);font-size:15.5px;line-height:1.75;margin:0 0 22px;}
.blx-veh .blx-feature-grid{margin:0 0 26px;}
.blx-veh .veh-gallery{margin:0 0 26px;}
.blx-veh .vg-label{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.blx-veh .vg-thumbs{display:flex;gap:12px;flex-wrap:wrap;}
.blx-veh .vg-thumb{width:104px;height:72px;border-radius:4px;overflow:hidden;border:1px solid var(--line);padding:0;cursor:pointer;background:none;transition:border-color .2s,transform .2s;}
.blx-veh .vg-thumb:hover{border-color:var(--gold);transform:translateY(-2px);}
.blx-veh .vg-thumb img{width:100%;height:100%;object-fit:cover;}
.blx-veh .veh-cta{display:flex;gap:14px;flex-wrap:wrap;}

/* interior lightbox */
.blx-lightbox{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  background:rgba(5,5,5,.92);padding:24px;}
.blx-lightbox.open{display:flex;}
.blx-lightbox img{max-width:94vw;max-height:90vh;border-radius:6px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9);}
.blx-lightbox .lb-close{position:absolute;top:18px;right:22px;background:none;border:0;color:#cfccc4;font-size:38px;line-height:1;cursor:pointer;}
.blx-lightbox .lb-close:hover{color:var(--gold);}
.blx-lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(7,7,7,.6);border:1px solid var(--line-2);
  color:#f0eee8;width:48px;height:48px;border-radius:50%;font-size:22px;cursor:pointer;}
.blx-lightbox .lb-nav:hover{color:var(--gold);border-color:var(--gold);}
.blx-lightbox .lb-prev{left:18px;} .blx-lightbox .lb-next{right:18px;}

@media(max-width:980px){
  .blx-fleet-layout{grid-template-columns:1fr;}
  .blx-fleet-nav{position:static;display:none;}   /* jump-nav is desktop-only */
  .blx-veh{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .blx-veh .veh-caps{gap:30px;}
  .blx-veh .veh-cta{flex-direction:column;align-items:stretch;}
  .blx-veh .veh-cta .btn{justify-content:center;}
}
