:root{
  --paper:#FFFFFF; --bone:#F4F2EC; --bone-2:#E9E6DC;
  --ink:#101014; --ink-2:#1A1A1F; --ink-3:#08080A;
  --text:#17171B; --mute:#000000; --mute-lt:#9A988F;
  --gold:#C9A227; --gold-lt:#E8C766; --gold-dk:#8A6A0C;
  --line:rgba(0,0,0,.12);
  --maxw:1320px;   /* site container. content width = 1320 - 48px gutters = 1272px */
  --f-disp:'Archivo',system-ui,sans-serif;
  --f-body:'Inter',system-ui,sans-serif;
  
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:130px}
html{overflow-x:hidden}
body{background:var(--paper);color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100%}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold-dk);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative}
h1,h2,h3{font-family:var(--f-disp);font-weight:600;line-height:1.1;letter-spacing:-.018em}
h1{font-size:clamp(2.4rem,5.3vw,4.2rem)}
h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}
h3{font-size:1.16rem;letter-spacing:0}
.eyebrow{font-size:.92rem;font-weight:600;color:var(--gold-dk);margin-bottom:10px}
.lede{font-size:1.05rem;color:var(--mute);max-width:58ch}
section{padding:94px 0;position:relative}
.tint{background:var(--bone)}
.btn{display:inline-block;font-family:var(--f-disp);font-weight:600;font-size:.86rem;letter-spacing:.03em;padding:14px 26px;border-radius:2px;transition:.18s;white-space:nowrap;border:1px solid transparent;cursor:pointer}
.btn-gold{background:var(--gold);color:#12100A}
.btn-gold:hover{background:var(--gold-lt)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#2A2A31}
.btn-out{border-color:var(--line);color:var(--text)}
.btn-out:hover{border-color:var(--gold-dk);color:var(--gold-dk)}
.btn-light{border:1px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(4px)}
.btn-light:hover{border-color:var(--gold-lt);color:var(--gold-lt)}

/* dark photographic bands */
.dark{background:var(--ink-3);color:#EFEDE6}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .eyebrow{color:var(--gold)}
.dark .lede{color:#BDBBB2}
.plate{position:absolute;inset:0;z-index:0;background-color:#101014;background-size:cover;background-position:center}
.hero .plate{background-position:center bottom}
.hero .scrim-l{background:linear-gradient(180deg,rgba(8,8,10,.82) 0%,rgba(8,8,10,.7) 45%,rgba(8,8,10,.5) 72%,rgba(8,8,10,.42) 100%),rgba(8,8,10,.4)}
.scrim{position:absolute;inset:0;z-index:1}
.scrim-l{background:linear-gradient(90deg,rgba(8,8,10,.96) 6%,rgba(8,8,10,.88) 40%,rgba(8,8,10,.42) 72%,rgba(8,8,10,.7))}
.scrim-b{background:linear-gradient(180deg,rgba(8,8,10,.4) 0%,rgba(8,8,10,.68) 50%,rgba(8,8,10,.92) 100%),rgba(8,8,10,.3)}
.scrim-full,.scrim-f{background:linear-gradient(180deg,rgba(8,8,10,.55),rgba(8,8,10,.72)),rgba(8,8,10,.5)}
.dark .wrap{z-index:2}


/* header */
section{position:relative;z-index:1}
.topbar{background:var(--ink-3);color:#CFCDC4;font-size:.8rem;position:relative;z-index:60}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:16px}
.topbar-info{display:flex;align-items:center;gap:26px}
.tb-item{display:inline-flex;align-items:center;gap:8px;color:#CFCDC4}
.tb-item svg{width:15px;height:15px;color:var(--gold-lt);flex:0 0 auto}
.tb-item span{white-space:nowrap}
a.tb-item:hover{color:#fff}
.topbar-side{display:flex;align-items:center;gap:22px}
.topbar-side nav{display:flex;gap:22px;color:#8F8D85}
.topbar-side a:hover{color:#fff}
.tb-support{color:var(--gold-lt);font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-size:.74rem}

/* ---- service strip under hero ---- */
.hstrip{background:var(--ink);color:#EDEBE4;position:relative;z-index:5}
.hstrip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.hstrip-item{display:flex;align-items:center;gap:14px;padding:20px 28px 20px 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.1)}
.hstrip-item:last-child{border-right:0;margin-right:0}
.hstrip-ico{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(201,162,39,.14)}
.hstrip-ico svg{width:20px;height:20px;color:var(--gold-lt)}
.hstrip-txt{display:flex;flex-direction:column;gap:2px}
.hstrip-txt b{font-family:var(--f-disp);font-size:.98rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.hstrip-txt i{font-style:normal;font-size:.82rem;color:#A9A79F}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.bar{display:flex;align-items:center;gap:30px;height:80px}
.logo{background:var(--ink-3);padding:8px 14px;border-radius:2px;display:flex}
.logo img{height:44px;width:auto}
.mainnav{display:flex;gap:26px;margin-left:auto;font-size:.9rem;font-weight:500}
.mainnav>div{position:relative;padding:28px 0}
.mainnav>div.has-drop>a::after{content:"";display:inline-block;width:5px;height:5px;border-right:1.5px solid var(--mute);border-bottom:1.5px solid var(--mute);transform:rotate(45deg) translateY(-2px);margin-left:7px}
.mainnav a:hover{color:var(--gold-dk)}
.mega-sm{min-width:280px}
.mega{position:absolute;top:100%;left:-20px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:3px;padding:10px 0;display:none;min-width:230px;box-shadow:0 20px 50px rgba(0,0,0,.13);margin:0}
.mainnav>div.has-drop:hover>.mega,.mainnav>div.has-drop:focus-within>.mega{display:block}
.mega li{position:relative}
.mega li a{display:block;padding:9px 22px;font-size:.87rem;font-weight:400;color:var(--mute);white-space:nowrap}
.mega li a:hover{color:var(--text);background:var(--bone)}
/* nested (third level) flyout */
.mega .sub{position:absolute;top:-11px;left:100%;list-style:none;background:#fff;border:1px solid var(--line);border-radius:3px;padding:10px 0;display:none;min-width:210px;box-shadow:0 20px 50px rgba(0,0,0,.13);margin:0}
.mega li.has-sub:hover>.sub,.mega li.has-sub:focus-within>.sub{display:block}
.mega li.has-sub>a::after{content:"›";position:absolute;right:16px;color:var(--mute)}
.tel{font-size:.95rem;font-weight:500}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:3px;color:var(--text);font-size:1.35rem;line-height:1;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
.burger:hover{border-color:var(--gold-dk);color:var(--gold-dk)}
.wafab{position:fixed;right:26px;bottom:26px;z-index:80;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.26);transition:transform .18s,box-shadow .18s}
.wafab svg{width:30px;height:30px;display:block}
.wafab:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.34)}
@media (prefers-reduced-motion:reduce){.wafab:hover{transform:none}}

/* hero */
.hero{min-height:84vh;display:flex;align-items:center;padding:80px 0 88px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center;width:100%}
.hero h1{margin:20px 0 22px}
.hero h1 em{font-style:normal;color:var(--gold-lt)}
.proof{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px;list-style:none}
.proof li{font-family:var(--f-body);font-size:.7rem;color:var(--gold-lt);border:1px solid rgba(201,162,39,.35);border-radius:2px;padding:7px 11px;background:rgba(201,162,39,.07)}

/* quote board */
.board{background:#fff;border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.18)}
.board-top{display:flex;justify-content:space-between;align-items:center;background:var(--ink-3);padding:12px 18px}
.board-top b{font-family:var(--f-disp);font-size:1rem;color:#fff;font-weight:600}
.board-top span{font-size:.82rem;color:var(--gold-lt)}
.tabs{display:flex;border-bottom:1px solid var(--line);background:var(--bone)}
.tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;color:var(--mute);font-size:.87rem;font-weight:500;padding:15px 4px;cursor:pointer;transition:.15s}
.tabs button[aria-selected="true"]{color:var(--gold-dk);border-bottom-color:var(--gold);background:#fff}
.board-body{padding:22px 20px 24px;display:grid;gap:14px}
.fld{display:grid;gap:6px}
.fld label{font-size:.8rem;font-weight:500;color:var(--mute)}
.fld input,.fld select{background:var(--bone);border:1px solid var(--line);border-radius:2px;color:var(--text);font-family:var(--f-body);font-size:.9rem;padding:12px 13px;width:100%}
.fld input:focus,.fld select:focus{border-color:var(--gold-dk);outline:none;background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.board .btn{width:100%;text-align:center;padding:15px}
.board-foot{background:var(--bone);padding:13px 18px;font-size:.8rem;color:var(--mute);text-align:center;border-top:1px solid var(--line)}

/* trust */
.trust{padding:26px 0;background:#fff;border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:26px}
.tstat b{font-family:var(--f-disp);font-size:1.4rem;font-weight:700;color:var(--gold-dk);display:block}
.tstat span{font-size:.86rem;color:var(--mute)}
/* split image panels */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.path{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.path:hover{box-shadow:0 18px 44px rgba(0,0,0,.12)}
/* photo header — image clearly visible, text only over a soft bottom gradient */
.path-head{position:relative;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px 28px;overflow:hidden;color:#fff}
.path-head .plate{transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.path:hover .path-head .plate{transform:scale(1.05)}
.path-head .scrim-b{background:linear-gradient(180deg,rgba(8,8,10,0) 0%,rgba(8,8,10,.15) 45%,rgba(8,8,10,.82) 100%)}
.path-head-in{position:relative;z-index:2}
.path-head .eyebrow{color:var(--gold)}
.path-head h3{margin:8px 0 8px;font-size:1.6rem;color:#fff;line-height:1.15}
.path-head p{color:#E4E2DA;font-size:.92rem;max-width:44ch;margin:0}
/* service tiles — small boxes on a clean surface */
.path-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:18px}
.path-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.path-tile{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:var(--bone);font-size:.88rem;font-weight:600;color:var(--ink);transition:.16s}
.path-tile em{font-style:normal;color:var(--gold-dk);transition:transform .16s}
.path-tile:hover{border-color:var(--gold-dk);background:#fff}
.path-tile:hover em{transform:translateX(3px)}
.path-cta{align-self:flex-start;margin-top:2px}
@media(max-width:640px){.path-tiles{grid-template-columns:1fr}}

/* fleet */
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.veh{border:1px solid var(--line);background:#fff;border-radius:3px;overflow:hidden;transition:.25s}
.veh:hover{border-color:var(--gold-dk);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1)}
.veh .shot{height:200px;background:#101014 center/cover;position:relative}
.veh .shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.12) 0%,rgba(8,8,10,.3) 45%,rgba(8,8,10,.84) 100%)}
.veh .cls{position:absolute;left:18px;bottom:14px;z-index:2;font-size:.86rem;font-weight:500;color:var(--gold-lt)}
.veh .meta{padding:18px 20px 20px}
.veh h3{margin-bottom:14px;font-size:1.08rem}
.veh dl{display:flex;gap:24px;border-top:1px solid var(--line);padding-top:13px}
.veh dt{font-size:.78rem;color:var(--mute-lt)}
.veh dd{font-size:.95rem;color:var(--text);font-weight:600}

/* ledger */
.ledger{width:100%;border-collapse:collapse;margin-top:38px;font-size:.92rem;background:#fff}
.ledger th,.ledger td{padding:16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.ledger thead th{font-family:var(--f-disp);font-size:.95rem;color:var(--text);border-bottom:1.5px solid var(--ink);font-weight:600}
.ledger thead th.us{color:var(--gold-dk)}
.ledger tbody th{font-weight:500;font-family:var(--f-disp);width:21%}
.ledger td{color:var(--mute)}
.ledger tbody tr:last-child th,.ledger tbody tr:last-child td{border-bottom:0}
.ledger td.us{background:rgba(201,162,39,.1);color:var(--text)}

/* bands */
.band{min-height:480px;display:flex;align-items:center;text-align:center;padding:100px 0}
.band h2{max-width:21ch;margin:16px auto 0}
.band .lede{margin:18px auto 0;text-align:center}

/* steps */
.hiw-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;border-top:1px solid var(--gold-dk)}
.hiw-step{padding:28px 28px 6px;border-right:1px solid var(--line);position:relative}
.hiw-step:last-child{border-right:0}
.hiw-step::before{content:"";position:absolute;top:-4px;left:28px;width:7px;height:7px;border-radius:50%;background:var(--gold-dk)}
.hiw-step b{font-family:var(--f-disp);font-size:.92rem;color:var(--gold-dk);display:block;margin-bottom:12px;font-weight:600}
.hiw-step h3{margin-bottom:9px}
.hiw-step p{color:var(--mute);font-size:.92rem}

/* reviews */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.swipe{display:none;font-size:.85rem;color:var(--mute-lt);margin-top:12px}
.rev{border:1px solid rgba(255,255,255,.16);border-radius:4px;padding:28px 26px;background:rgba(10,10,13,.72);backdrop-filter:blur(10px)}
.stars{color:var(--gold);font-size:.85rem;margin-bottom:13px}
.rev p{font-size:.94rem;color:#DCDAD1}
.rev cite{display:block;margin-top:18px;font-style:normal;font-size:.85rem;color:#AFADA4}
.badges{display:flex;flex-wrap:wrap;gap:11px;margin-top:32px}
.badges span{font-size:.85rem;color:#DCDAD1;border:1px solid rgba(255,255,255,.24);border-radius:2px;padding:9px 15px;background:rgba(10,10,13,.62)}

/* areas */
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px}
.areas h4{font-family:var(--f-disp);font-size:1rem;color:var(--text);margin-bottom:14px;font-weight:600}
.areas ul{list-style:none;display:grid;gap:9px;font-size:.9rem;color:var(--mute)}
.areas a:hover{color:var(--gold-dk)}

/* faq */
.faq{max-width:840px;margin-top:38px}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-family:var(--f-disp);font-weight:500;font-size:1.03rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:6px;top:17px;color:var(--gold-dk);font-size:1.35rem;font-weight:400}
details[open] summary::after{content:"−"}
details p{padding:0 40px 22px 0;color:var(--mute);font-size:.94rem}

/* footer */
footer{background:var(--ink-3);color:#BDBBB2;padding:66px 0 0;font-size:.88rem}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:46px}
.fgrid h4{font-family:var(--f-disp);font-size:1rem;color:var(--gold);margin-bottom:16px;font-weight:600}
.fgrid ul{list-style:none;display:grid;gap:9px}
.fgrid a:hover{color:#fff}
.fgrid img{height:56px;width:auto;margin-bottom:18px}
.fgrid p{font-size:.87rem;max-width:34ch}

.fphone{margin-top:18px}
.fphone a{font-family:var(--f-disp);font-size:1.15rem;font-weight:600;color:#fff}
.fphone a:hover{color:var(--gold)}
.faddr{margin-top:8px;font-size:.88rem;line-height:1.75}
.faddr a:hover{color:#fff}
.social{display:flex;gap:10px;margin-top:22px}
.social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:3px;display:flex;align-items:center;justify-content:center;color:#BDBBB2;transition:.18s}
.social a:hover{border-color:var(--gold);color:var(--gold);background:rgba(201,162,39,.1)}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#8B8981;font-size:.85rem}

/* Content is visible by default; animation only applies once JS confirms it can
   run, so a script failure can never leave the page blank. */
.reveal{opacity:1;transform:none}
.js-reveal .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.js-reveal .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.path:hover .plate{transform:none}html{scroll-behavior:auto}}

@media(max-width:980px){
  .hero-grid,.paths{grid-template-columns:1fr}
  .path-head{min-height:200px}
  .hiw-steps{grid-template-columns:1fr 1fr}
  .fleet-grid,.rev-grid{display:flex;grid-template-columns:none;overflow-x:auto;gap:14px;
    scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    padding:0 24px 16px;margin:36px -24px 0}
  .fleet-grid::-webkit-scrollbar,.rev-grid::-webkit-scrollbar{display:none}
  .veh,.rev{flex:0 0 78%;scroll-snap-align:center;margin:0}
  .veh:hover{transform:none}
  .swipe{display:block}
  .areas,.fgrid{grid-template-columns:1fr 1fr}
  .topbar-side nav{display:none}
  .tb-hide-sm{display:none}
  .topbar .wrap{justify-content:space-between;gap:12px}
  .topbar-info{gap:16px}
  .tb-item span{font-size:.76rem}
  .hstrip .wrap{grid-template-columns:1fr 1fr}
  .hstrip-item{padding:16px 16px 16px 0;margin-right:16px}
  .hstrip-item:nth-child(2){border-right:0;margin-right:0}
  .burger{display:flex}
  .bar{height:70px;gap:14px}
  .brand-hdr{height:32px}
  .scrim-l{background:linear-gradient(180deg,rgba(8,8,10,.84),rgba(8,8,10,.94))}
  .mainnav{position:fixed;top:var(--hdr-h,116px);left:0;right:0;flex-direction:column;gap:0;margin:0;
    background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:4px 24px 18px;display:none;box-shadow:0 22px 44px rgba(0,0,0,.14);z-index:190;
    max-height:calc(100vh - var(--hdr-h,116px));overflow-y:auto;-webkit-overflow-scrolling:touch}
  .mainnav.open{display:flex}
  .mainnav>div{padding:0;border-bottom:1px solid var(--line);position:static}
  .mainnav>div:last-child{border-bottom:0}
  .mainnav>div>a{display:block;padding:15px 2px;font-size:1.02rem}
  .mainnav>div.has-drop>a::after{float:right;margin-top:7px;transition:transform .2s}
  .mainnav>div.open>a::after{transform:rotate(-135deg) translateY(-2px)}
  .mainnav>div.has-drop:hover>.mega,.mainnav>div.has-drop:focus-within>.mega{display:none}
  .mainnav>div.open>.mega{display:block;position:static;border:0;box-shadow:none;padding:0 0 8px;min-width:0}
  .mainnav .mega li a{padding:11px 14px}
  .mainnav .mega .sub{position:static;display:block;border:0;box-shadow:none;padding:0 0 0 14px;min-width:0}
  .mainnav .mega li.has-sub>a::after{content:""}
  .mega,.mega-sm{position:static;flex-direction:column;gap:20px;min-width:0;max-width:100%;padding:0 0 16px;
    background:none;border:0;border-radius:0;box-shadow:none}
  .mega ul{gap:12px;font-size:.95rem}
}
@media(max-width:620px){
  section{padding:56px 0}
  .wrap{padding:0 18px}
  .mainnav{padding:4px 18px 18px}
  .bar{height:64px;gap:10px}
  .brand-hdr{height:28px}
  .tel{display:none}
  .bar .btn-gold{padding:11px 15px;font-size:.8rem}
  .hero{padding:56px 0 150px}
  .hero-cta{gap:10px}
  .hero-cta .btn{flex:1 1 100%;text-align:center}
  .trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
  .board-body{padding:18px 16px 20px}
  .row2{grid-template-columns:1fr}
  .path{min-height:400px;padding:32px 24px 28px}
  .cov{gap:30px}
  .badges{gap:8px}
  .badges span{font-size:.8rem;padding:8px 12px}
  .social{flex-wrap:wrap}
  .fbot{flex-direction:column;gap:8px}
  .wafab{right:16px;bottom:16px;width:48px;height:48px}
  .wafab svg{width:27px;height:27px}
  .fleet-grid,.rev-grid,.hiw-steps,.areas,.fgrid{grid-template-columns:1fr}
  .hiw-step{border-right:0;border-bottom:1px solid var(--line)}
  .ledger{display:block;background:none;margin-top:28px}
  .ledger thead{display:none}
  .ledger tbody{display:grid;gap:14px}
  .ledger tbody tr{display:block;background:#fff;border:1px solid var(--line);border-radius:5px;padding:18px 18px 8px}
  .ledger tbody th{display:block;width:auto;padding:0 0 14px;border:0;font-size:1.08rem}
  .ledger tbody td{display:block;padding:11px 13px;border:0;border-radius:4px;margin-bottom:10px;font-size:.9rem;background:var(--bone)}
  .ledger tbody td::before{content:attr(data-l);display:block;font-size:.78rem;font-weight:600;color:var(--mute-lt);margin-bottom:4px}
  .ledger tbody td.us{background:rgba(201,162,39,.16)}
  .ledger tbody td.us::before{color:var(--gold-dk)}
}

/* ---- brand lockup ---- */
.logoplate{display:flex;align-items:center}
.brand{display:block;width:auto}
.brand-hdr{height:36px}
footer .logoplate{display:inline-flex;margin-bottom:20px}
.brand-ftr{height:44px}
/* footer wordmark ships black; lifted to bone so it reads on the dark footer. delete to restore. */
.brand-ftr path[fill="black"]:nth-of-type(2){fill:#EFEDE6}
.lockup .mark{width:44px;height:44px;flex:0 0 auto}
.lockup .wm{font-family:var(--f-disp);font-weight:700;font-size:1.55rem;letter-spacing:-.02em;line-height:1;color:var(--text)}
.lockup .wm b{font-weight:700;color:var(--gold-dk)}
.lockup .desc{font-size:.78rem;color:var(--mute);margin-top:4px;white-space:nowrap}
footer .lockup .wm{color:#fff}
footer .lockup .wm b{color:var(--gold)}
footer .lockup .desc{color:#8F8D85}

/* ---- hero rebuild ---- */
.hero{min-height:auto;padding:120px 0 300px;align-items:flex-start}
.hero-grid{align-items:start;gap:56px}
.brandline{font-size:.95rem;font-weight:500;color:var(--gold-lt);margin-bottom:16px}
.hero h1{margin:0 0 16px;letter-spacing:-.022em;font-size:clamp(2.5rem,4.9vw,3.9rem);line-height:1.05}
.hero h1 .hl{color:var(--gold-lt)}

.trustline{font-family:var(--f-disp);font-size:1.2rem;font-weight:500;color:#fff;margin-bottom:16px}
.hero .lede{color:#BDBBB2;font-size:1.02rem;max-width:50ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0}

/* ===== coverage section ===== */
.cov{display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:center;margin-top:40px}
.mapbox{display:flex;flex-direction:column}
.nemap{width:100%;height:auto;max-width:640px}
.nemap .stg{cursor:pointer}
.nemap .st{fill:#DFDBD0;stroke:#fff;stroke-width:1.6;transition:fill .18s}
.nemap .st.core{fill:#C9A227}
.nemap .stl{font-size:16px;font-weight:600;fill:#5A5850;pointer-events:none;font-family:var(--f-body);transition:fill .18s}
.nemap .stl.on{fill:#3A2E05}
.nemap .lead{stroke:#9A988F;stroke-width:1}
.nemap .stg:hover .st,.nemap .stg:focus-visible .st{fill:var(--ink)}
.nemap .stg:hover .stl,.nemap .stg:focus-visible .stl{fill:#FFFFFF}
.nemap .stg:hover .lead{stroke:var(--ink)}
.nemap .hub{fill:var(--ink)}
.nemap .hub-ring{fill:none;stroke:var(--ink);stroke-width:1.5;opacity:.4}
.nemap .hubl{font-size:16px;font-weight:600;fill:var(--ink);pointer-events:none;font-family:var(--f-body)}
.covkey{display:flex;gap:24px;margin:18px 0 0;flex-wrap:wrap}
.covkey span{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--mute)}
.covkey i{width:14px;height:14px;border-radius:3px;display:inline-block;border:1px solid #fff}
.covkey i.a{background:#C9A227}
.covkey i.b{background:#DDD9CE}
.covgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.covgrid h4{font-family:var(--f-disp);font-size:1rem;font-weight:600;margin-bottom:11px}
.covgrid ul{list-style:none;display:grid;gap:8px;font-size:.92rem;color:var(--mute)}
.covgrid a:hover{color:var(--gold-dk)}

@media(max-width:980px){
  .hero{padding:80px 0 190px}
  .hero-grid{gap:44px}
  .covgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .covgrid{display:none}
}

/* faq split: questions one side, photograph the other */
.faqsplit{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:stretch;margin-top:36px}
.faqsplit .faq{margin-top:0;max-width:none}
.faqpic{position:relative;border-radius:4px;overflow:hidden;min-height:540px;background:#101014 center/cover}
.faqpic .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.26) 0%,rgba(8,8,10,.52) 55%,rgba(8,8,10,.9) 100%),rgba(8,8,10,.28)}
.faqpic .cap{position:absolute;left:32px;right:32px;bottom:30px;z-index:2;color:#EFEDE6}
.faqpic .cap b{display:block;font-family:var(--f-disp);font-size:1.35rem;font-weight:600;color:#fff;margin-bottom:8px}
.faqpic .cap p{font-size:.95rem;color:#C4C2B9;max-width:34ch}
.faqpic .cap a{margin-top:20px}
@media(max-width:980px){
  .cov{grid-template-columns:1fr;gap:38px}
  .nemap{max-width:520px}
  .faqsplit{grid-template-columns:1fr;gap:34px}
  .faqpic{min-height:340px}
}
@media(max-width:620px){.covgrid{display:none}.cov .mapbox{margin-bottom:6px}}

/* ==========================================================================
   WordPress additions — footer credit, interior pages, blog, forms
   ========================================================================== */

.credit a{color:var(--gold);font-weight:500}
.credit a:hover{color:var(--gold-lt);text-decoration:underline}

.cov-cta{margin-top:30px}
.fleet-cta{margin-top:24px}
.btn-inline{margin-left:10px}

/* interior pages */
.interior{padding:56px 0 96px}
.page-head{margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid var(--line)}
/* interior pages that open with a header band get a tinted intro zone */
.interior > .wrap > .page-head:first-child{margin-top:0}
.wrap.narrow{max-width:860px}
.page-head{margin-bottom:36px}
.page-head h1{font-size:clamp(2rem,3.8vw,3rem);margin-bottom:14px}
.page-head .eyebrow a:hover{color:var(--gold)}
.page-head-cta{margin-top:28px}

.entry{font-size:1.02rem}
.entry > * + *{margin-top:1.15em}
.entry h2{font-size:1.8rem;margin-top:1.8em}
.entry h3{font-size:1.3rem;margin-top:1.6em}
.entry ul,.entry ol{padding-left:1.3em}
.entry li + li{margin-top:.5em}
.entry a{color:var(--gold-dk);text-decoration:underline;text-underline-offset:3px}
.entry a:hover{color:var(--text)}
.entry img{border-radius:4px}
.entry blockquote{border-left:3px solid var(--gold);padding-left:22px;font-size:1.1rem}
.entry table{width:100%;border-collapse:collapse}
.entry th,.entry td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left}

/* child page cards */
.child-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.child-card{border:1px solid var(--line);border-radius:4px;padding:22px;transition:.2s}
.child-card:hover{border-color:var(--gold-dk);transform:translateY(-3px)}
.child-card h3{font-size:1.05rem;display:flex;justify-content:space-between;gap:12px}
.child-card span{color:var(--gold-dk)}

/* blog */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:.2s}
.post-card:hover{border-color:var(--gold-dk);transform:translateY(-3px)}
.post-thumb{display:block}
.post-thumb-img{display:block;width:100%;height:200px;background:var(--ink);background-size:cover;background-position:center}
.post-thumb img{width:100%;height:200px;object-fit:cover;display:block}
.post-body{padding:20px 22px 24px}
.post-meta{font-size:.85rem;color:var(--mute-lt);margin-bottom:8px}
.post-card h2,.post-card h3{font-size:1.2rem;margin-bottom:10px}
.post-card h2 a:hover,.post-card h3 a:hover{color:var(--gold-dk)}
.post-hero img{border-radius:4px;margin-bottom:30px}

.pagination{margin-top:48px;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{border:1px solid var(--line);border-radius:3px;padding:10px 16px;font-weight:500}
.pagination .page-numbers:hover{border-color:var(--gold-dk);color:var(--gold-dk)}
.pagination .current{background:var(--gold);border-color:var(--gold);color:#12100A}

/* search */
.searchform{display:flex;gap:10px;max-width:520px;margin-top:8px}
.searchform input{flex:1;background:var(--bone);border:1px solid var(--line);border-radius:3px;
  padding:13px 15px;font-family:inherit;font-size:.95rem;color:var(--text)}
.searchform input:focus{border-color:var(--gold-dk);outline:none;background:#fff}

/* comments */
.comment-list{list-style:none;margin-top:32px;display:grid;gap:22px}
.comment-list ul.children{list-style:none;margin-top:22px;padding-left:26px;display:grid;gap:22px}
.comment-body{border:1px solid var(--line);border-radius:4px;padding:20px 22px}
.comment-form input,.comment-form textarea{width:100%;background:var(--bone);border:1px solid var(--line);
  border-radius:3px;padding:12px 14px;font-family:inherit;font-size:.95rem;color:var(--text)}
.comment-form p{margin-bottom:14px}

@media(max-width:980px){
  .child-grid,.post-grid{grid-template-columns:1fr 1fr}
  .interior{padding:56px 0 72px}
}
@media(max-width:620px){
  .child-grid,.post-grid{grid-template-columns:1fr}
  .searchform{flex-direction:column}
  .btn-inline{margin-left:0;margin-top:10px}
}

/* ---- booking page ---- */
.booking-page{padding-bottom:80px}
.booking-handoff{margin-top:32px;border:1px solid var(--line);border-radius:5px;padding:30px 28px;background:var(--bone)}
.booking-handoff p:first-child{margin-bottom:20px}

/* the wide two-column form needs the full container, not the hero column */
.booking-page .wrap{max-width:1320px}
@media(max-width:620px){
}

/* ==========================================================================
   Locations
   ========================================================================== */

.crumbs{font-size:.88rem;color:#BDBBB2;margin-bottom:20px}
.crumbs a:hover{color:var(--gold-lt)}
.crumbs i{font-style:normal;opacity:.45;margin:0 8px}

.loc-hero{position:relative;padding:96px 0 88px;color:#EFEDE6}
.loc-hero .wrap{position:relative;z-index:2}
.loc-hero h1{color:#fff;font-size:clamp(2.1rem,4.3vw,3.4rem);max-width:20ch;margin-bottom:16px}
.loc-hero .lede{color:#C4C2B9;max-width:56ch}
.loc-hero .hero-cta{margin-top:30px}

.loc-facts{display:flex;flex-wrap:wrap;gap:0;margin-top:30px;border-top:1px solid rgba(255,255,255,.2)}
.loc-facts > div{padding:18px 32px 4px 0;margin-right:32px;border-right:1px solid rgba(255,255,255,.14)}
.loc-facts > div:last-child{border-right:0;margin-right:0}
.loc-facts dt{font-size:.85rem;color:#A8A69D;margin-bottom:4px}
.loc-facts dd{font-family:var(--f-disp);font-size:1.5rem;font-weight:700;color:var(--gold-lt)}

.loc-grid{display:grid;grid-template-columns:1fr 350px;gap:56px;align-items:start}
.loc-main h2{font-size:1.6rem;margin:2em 0 .7em}
.loc-main > :first-child h2:first-child,.loc-main > h2:first-child{margin-top:0}

.loc-note{background:var(--bone);border-radius:5px;padding:26px 28px;margin:34px 0}
.loc-note h2{margin:0 0 12px;font-size:1.2rem}
.loc-note p{color:var(--mute)}

.loc-routes{width:100%;border-collapse:collapse;font-size:.95rem}
.loc-routes th,.loc-routes td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.loc-routes thead th{font-family:var(--f-disp);font-size:.92rem;border-bottom:1.5px solid var(--ink)}
.loc-routes tbody th{font-weight:500}
.loc-routes tbody tr:last-child th,.loc-routes tbody tr:last-child td{border-bottom:0}
.loc-fine{font-size:.86rem;color:var(--mute-lt);margin-top:12px}

.loc-children{display:flex;flex-wrap:wrap;gap:9px}
.loc-chip{border:1px solid var(--line);border-radius:3px;padding:9px 14px;font-size:.92rem;transition:.18s}
.loc-chip:hover{border-color:var(--gold-dk);color:var(--gold-dk)}
.loc-chip span{color:var(--gold-dk);font-weight:600;margin-left:8px}

.loc-aside{position:sticky;top:112px;display:grid;gap:16px}
.loc-card{border:1px solid var(--line);border-radius:5px;padding:26px 24px;background:#fff}
.loc-card--plain{background:var(--bone)}
.loc-card h3{font-size:1.1rem;margin-bottom:12px}
.loc-card p{font-size:.92rem;color:var(--mute);margin-bottom:16px}
.loc-card .btn{width:100%;text-align:center;margin-bottom:8px}
.loc-price{font-family:var(--f-disp);font-size:2.2rem;font-weight:700;color:var(--gold-dk);line-height:1;margin-bottom:14px}
.loc-price span{display:block;font-family:var(--f-body);font-size:.85rem;font-weight:400;color:var(--mute);margin-top:6px}

.ticks{list-style:none;display:grid;gap:10px;font-size:.92rem;color:var(--mute)}
.ticks li{padding-left:24px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:11px;height:6px;
  border-left:2px solid var(--gold-dk);border-bottom:2px solid var(--gold-dk);transform:rotate(-45deg)}

.loc-archive .areas-top .nemap{max-width:100%}
.loc-archive .areas-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:0 0 40px}
.loc-archive .mapbox--wide{max-width:none;margin:0}
@media(max-width:860px){.loc-archive .areas-top{grid-template-columns:1fr;gap:28px}}
.loc-state{margin-top:48px;padding-top:30px;border-top:1px solid var(--line)}
.loc-state h2{font-size:1.4rem;margin-bottom:16px}
.loc-state h2 a:hover{color:var(--gold-dk)}

@media(max-width:980px){
  .loc-grid{grid-template-columns:1fr;gap:40px}
  .loc-aside{position:static}
  .loc-hero{padding:64px 0 60px}
  .loc-facts > div{padding-right:22px;margin-right:22px}
}
@media(max-width:620px){
  .loc-facts{display:grid;grid-template-columns:1fr 1fr;gap:0}
  .loc-facts > div{border-right:0;margin-right:0;padding:14px 0 6px}
  .loc-routes thead{display:none}
  .loc-routes tbody th,.loc-routes td{display:block;padding:8px 0}
  .loc-routes tbody th{padding-top:16px;font-size:1.02rem}
  .loc-routes td::before{content:attr(data-l);display:block;font-size:.78rem;color:var(--mute-lt)}
  .loc-routes tbody tr{border-bottom:1px solid var(--line);padding-bottom:10px}
}

/* ---- local SEO blocks ---- */
.loc-services{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.loc-service{border:1px solid var(--line);border-radius:5px;padding:20px 22px}
.loc-service h3{font-size:1.05rem;margin-bottom:6px}
.loc-service-rate{font-family:var(--f-disp);font-size:1.25rem;font-weight:700;color:var(--gold-dk);margin-bottom:6px}
.loc-service p{font-size:.9rem;color:var(--mute)}
.loc-hoods{font-size:.98rem;color:var(--mute);line-height:2}
.loc-marks{list-style:none;display:grid;gap:10px;font-size:.95rem;color:var(--mute)}
.loc-marks li{padding-left:20px;position:relative}
.loc-marks li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.loc-marks strong{color:var(--text);font-weight:600}
.loc-mini{display:grid;gap:12px}
.loc-mini dt{font-size:.82rem;color:var(--mute-lt)}
.loc-mini dd{font-size:.95rem;font-weight:500}
.nap p{margin:0}
.nap-name{font-family:var(--f-disp);font-weight:600;font-size:1rem;margin-bottom:6px !important}
.nap-addr,.nap-hours{font-size:.9rem;color:var(--mute);line-height:1.6}
.nap-tel a{font-family:var(--f-disp);font-size:1.1rem;font-weight:600;color:var(--gold-dk)}
.nap-mail a{font-size:.9rem;color:var(--mute)}
.nap-mail a:hover,.nap-tel a:hover{color:var(--text)}
.nap-hours{margin-top:10px !important;padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:620px){.loc-services{grid-template-columns:1fr}}

/* ---- airport pages ---- */
.air-meet{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.air-meet-card{border:1px solid var(--line);border-radius:5px;padding:24px 24px 22px;background:#fff}
.air-meet-card--alt{background:var(--bone);border-color:var(--gold-dk)}
.air-meet-card h3{font-size:1.15rem;margin-bottom:6px}
.air-meet-rate{font-family:var(--f-disp);font-size:1.15rem;font-weight:700;color:var(--gold-dk);margin-bottom:10px}
.air-meet-card p{font-size:.93rem;color:var(--mute)}

.air-terminals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.air-terminal{border:1px solid var(--line);border-radius:5px;padding:22px 24px}
.air-terminal h3{font-size:1.1rem;margin-bottom:8px}
.air-airlines{font-size:.92rem;color:var(--text);font-weight:500;margin-bottom:10px}
.air-point{font-size:.92rem;color:var(--mute);margin-bottom:8px}
.air-point span{display:block;font-size:.78rem;color:var(--mute-lt);margin-bottom:2px}
.air-note{font-size:.88rem;color:var(--mute-lt)}

.air-policy{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}
.air-policy h3{font-size:1.05rem;margin-bottom:8px}
.air-policy p{font-size:.93rem;color:var(--mute)}

@media(max-width:760px){
  .air-meet,.air-terminals,.air-policy{grid-template-columns:1fr}
}

/* ---- About / Fleet / Contact pages ---- */
.about-values-h{font-size:1.8rem;margin:8px 0 24px}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.about-value{border:1px solid var(--line);border-radius:5px;padding:24px 24px 22px;background:#fff}
.about-value h3{font-size:1.08rem;margin-bottom:8px}
.about-value p{font-size:.93rem;color:var(--mute)}
.band h2{color:#fff}

.fleet-grid--page{margin-top:8px}
.fleet-note{margin:28px 0 18px;color:var(--mute);max-width:60ch}

.contact-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin-top:8px}
.contact-card{border:1px solid var(--line);border-radius:5px;padding:28px 26px;background:#fff}
.contact-card--primary{background:var(--bone);border-color:var(--gold-dk)}
.contact-card h2{font-size:1.3rem;margin-bottom:14px}
.contact-card h3{font-size:1rem;margin-bottom:8px}
.contact-card p{font-size:.93rem;color:var(--mute)}
.contact-phone{display:block;font-family:var(--f-disp);font-size:1.9rem;font-weight:700;color:var(--gold-dk);margin-bottom:18px}
.contact-phone:hover{color:var(--text)}
.contact-card .btn{width:100%;text-align:center}

@media(max-width:900px){
  .about-values,.contact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .about-values,.contact-grid{grid-template-columns:1fr}
}

/* ---- About page (image-led) ---- */
.ab-hero{position:relative;padding:150px 0 84px;color:#EFEDE6}
.ab-hero .wrap{position:relative;z-index:2}
.ab-hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.4rem);max-width:20ch;margin:6px 0 18px}
.ab-hero .lede{color:#C7C5BC;max-width:60ch}
.ab-stats{margin:0}
.ab-split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.ab-story{padding:84px 0}
.ab-split-text h2{font-size:1.9rem;margin-bottom:18px}
.ab-split-text p{color:var(--mute);margin-bottom:16px}
.ab-split-text .btn{margin-top:8px}
.ab-split-img{min-height:420px;border-radius:6px;background-size:cover;background-position:center;background-color:#101014}
.ab-values-sec{padding:84px 0}
.ab-center{text-align:center;font-size:1.9rem;margin-bottom:40px}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.about-value{position:relative;border:1px solid var(--line);border-radius:6px;padding:30px 26px 26px;background:#fff}
.ab-num{font-family:var(--f-disp);font-size:.8rem;font-weight:700;color:var(--gold-dk);letter-spacing:.05em}
.about-value h3{font-size:1.1rem;margin:8px 0 8px}
.about-value p{font-size:.93rem;color:var(--mute)}
@media(max-width:900px){
  .ab-split{grid-template-columns:1fr;gap:30px}
  .ab-split-img{min-height:300px}
  .about-values{grid-template-columns:1fr 1fr}
  .ab-hero{padding:120px 0 60px}
}
@media(max-width:620px){.about-values{grid-template-columns:1fr}}

/* ---- generic page header band ---- */
.pg-hero{position:relative;padding:150px 0 74px;color:#EFEDE6}
.pg-hero .wrap{position:relative;z-index:2}
.pg-hero .eyebrow a{color:var(--gold-lt)}
.pg-hero h1{color:#fff;font-size:clamp(2rem,4.2vw,3.2rem);max-width:22ch;margin:6px 0 14px}
.pg-hero .lede{color:#C7C5BC;max-width:58ch}
.pg-empty{color:var(--mute);font-size:1.05rem}
.pg-cta{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
@media(max-width:900px){.pg-hero{padding:120px 0 54px}}

/* ---- assurance strip (fleet + reusable) ---- */
.strip{background:var(--ink);color:#EFEDE6}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.strip-item{padding:26px 26px 26px 0;margin-right:26px;border-right:1px solid rgba(255,255,255,.12)}
.strip-item:last-child{border-right:0;margin-right:0}
.strip-item b{display:block;font-family:var(--f-disp);font-size:1rem;color:var(--gold-lt);margin-bottom:5px}
.strip-item span{font-size:.88rem;color:#B7B5AC}
.fleet-foot{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.fleet-foot p{color:var(--mute);max-width:60ch;margin-bottom:18px}
@media(max-width:760px){.strip .wrap{grid-template-columns:1fr 1fr;gap:0}.strip-item{padding:18px 18px 18px 0}}
@media(max-width:460px){.strip .wrap{grid-template-columns:1fr}.strip-item{border-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.12)}}

/* ---- service pages ---- */
.svc-grid{display:grid;grid-template-columns:1fr 340px;gap:52px;align-items:start}
.svc-main h2{font-size:1.6rem;margin:2em 0 .8em}
.svc-main > .entry:first-child{margin-top:0}
.svc-main > .entry p{margin-bottom:14px;color:var(--mute)}
.svc-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.svc-card{border:1px solid var(--line);border-radius:6px;padding:22px 24px;background:#fff}
.svc-card h3{font-size:1.05rem;margin-bottom:7px}
.svc-card p{font-size:.92rem;color:var(--mute)}
.svc-steps{display:grid;gap:14px}
.svc-step{display:flex;gap:18px;border:1px solid var(--line);border-radius:6px;padding:20px 22px;background:#fff}
.svc-step span{font-family:var(--f-disp);font-size:1.1rem;font-weight:700;color:var(--gold-dk)}
.svc-step h3{font-size:1.05rem;margin-bottom:5px}
.svc-step p{font-size:.92rem;color:var(--mute)}
@media(max-width:980px){.svc-grid{grid-template-columns:1fr;gap:40px}.svc-grid .loc-aside{position:static}}
@media(max-width:620px){.svc-cards{grid-template-columns:1fr}}

/* ---- service areas archive ---- */
.areas-intro{max-width:none;margin:0}
.areas-intro p{color:var(--mute);margin-bottom:14px}
.areas-help{margin-top:56px;padding-top:36px;border-top:1px solid var(--line)}
.areas-help h2{font-size:1.6rem;margin-bottom:22px}

/* ---- location body + feature split ---- */
.loc-lead p{font-size:1.05rem;color:var(--text);margin-bottom:16px}
.loc-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin:40px 0;padding:0}
.loc-split-img{min-height:300px;border-radius:6px;background-size:cover;background-position:center;background-color:#101014}
.loc-split-text h2{font-size:1.5rem;margin-bottom:14px}
.loc-split-text p{color:var(--mute)}
@media(max-width:820px){.loc-split{grid-template-columns:1fr;gap:24px}.loc-split-img{min-height:240px}}

@media(max-width:560px){
  .topbar-info{flex-wrap:wrap;gap:6px 16px}
  .tb-item span{font-size:.72rem}
  .hstrip .wrap{grid-template-columns:1fr}
  .hstrip-item{border-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding:14px 0}
  .hstrip-item:last-child{border-bottom:0}
}

/* ---- services archive ---- */
.svc-group{margin-bottom:52px}
.svc-group-h{font-size:1.5rem;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.svc-arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-arch-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;transition:transform .18s,box-shadow .18s}
.svc-arch-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.1)}
.svc-arch-shot{height:150px;background:var(--ink);background-size:cover;background-position:center}
.svc-arch-body{padding:20px 22px 22px}
.svc-arch-body h3{font-size:1.1rem;margin-bottom:8px}
.svc-arch-body p{font-size:.9rem;color:var(--mute);margin-bottom:12px}
.svc-arch-more{font-size:.85rem;font-weight:600;color:var(--gold-dk)}
@media(max-width:900px){.svc-arch-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-arch-grid{grid-template-columns:1fr}}

/* ---- service areas: state cards ---- */
.states-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:8px 0 8px}
.state-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;transition:transform .18s,box-shadow .18s}
.state-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.1)}
.state-card-shot{position:relative;height:160px;background:var(--ink);background-size:cover;background-position:center}
.state-card-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.15),rgba(8,8,10,.55))}
.state-card-tag{position:absolute;left:16px;bottom:14px;z-index:2;font-family:var(--f-disp);font-size:1.15rem;font-weight:700;color:#fff}
.state-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px}
.state-card-body p{font-size:.9rem;color:var(--mute);margin:0}
.state-card-towns{font-size:.8rem;color:var(--mute-lt)}
.state-card-more{font-size:.85rem;font-weight:600;color:var(--gold-dk);margin-top:2px}
@media(max-width:900px){.states-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.states-grid{grid-template-columns:1fr}}

/* ---- HTML sitemap ---- */
.sitemap-block{margin-bottom:44px}
.sitemap-block>h2{font-size:1.5rem;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:22px}
.sitemap-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.sitemap-cols--3{grid-template-columns:repeat(3,1fr)}
.sitemap-cols h3{font-size:1.05rem;margin-bottom:12px;color:var(--gold-dk)}
.sitemap-cols h3 a{color:var(--gold-dk)}
.sitemap-cols ul{list-style:none;display:grid;gap:8px}
.sitemap-cols li a{font-size:.92rem;color:var(--mute)}
.sitemap-cols li a:hover{color:var(--text)}
.sitemap-inline{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px}
.sitemap-inline li a{font-size:.95rem;color:var(--mute)}
.sitemap-inline li a:hover{color:var(--text)}
@media(max-width:820px){.sitemap-cols--3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sitemap-cols,.sitemap-cols--3{grid-template-columns:1fr}}

/* ---- single blog post ---- */
.post-single .post-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.post-single .post-main .entry{font-size:1.05rem;line-height:1.75}
.post-single .post-main .entry p{margin-bottom:18px}
.post-single .post-main .entry h2{font-size:1.5rem;margin:32px 0 12px}
.post-single .post-main .entry h3{font-size:1.2rem;margin:26px 0 10px}
.post-single .post-main .entry img{max-width:100%;height:auto;border-radius:4px;margin:8px 0}
.post-single .post-main .entry ul,.post-single .post-main .entry ol{margin:0 0 18px 22px;display:grid;gap:8px}
.post-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:36px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.post-aside{position:sticky;top:130px}
.post-related{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.post-related h2{font-size:1.4rem;margin-bottom:22px}
@media(max-width:900px){.post-single .post-layout{grid-template-columns:1fr;gap:32px}.post-aside{position:static}}

/* uploaded coverage map replaces the SVG */
.nemap-img{display:block;width:100%;max-width:640px;height:auto}
@media(max-width:860px){.loc-archive .areas-top .nemap-img{max-width:100%}}



/* ---- coverage v3: heading + state photo cards ---- */
.cov3{padding:80px 0}
.cov3-head{max-width:640px;margin-bottom:36px}
.cov3-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cov3-card{position:relative;display:block;height:260px;border-radius:8px;overflow:hidden;background:var(--ink)}
.cov3-shot{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s}
.cov3-card:hover .cov3-shot{transform:scale(1.05)}
.cov3-tile{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%)}
.cov3-abbr{font-family:var(--f-disp);font-size:3.4rem;font-weight:800;color:rgba(201,162,39,.35);letter-spacing:.05em}
.cov3-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,0) 30%,rgba(8,8,10,.4) 55%,rgba(8,8,10,.9) 100%)}
.cov3-label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px 22px 20px;display:flex;flex-direction:column;gap:5px;color:#fff}
.cov3-label b{font-family:var(--f-disp);font-size:1.4rem;font-weight:700;line-height:1.1}
.cov3-label i{font-style:normal;font-size:.88rem;color:rgba(255,255,255,.82);line-height:1.4}
.cov3-more{font-size:.82rem;font-weight:600;color:var(--gold-lt);margin-top:4px;opacity:0;transform:translateY(4px);transition:.2s}
.cov3-card:hover .cov3-more{opacity:1;transform:translateY(0)}
.cov3-cta{margin-top:34px}
@media(max-width:860px){.cov3-cards{grid-template-columns:1fr 1fr}.cov3-card{height:230px}}
@media(max-width:560px){.cov3-cards{grid-template-columns:1fr}.cov3-card{height:220px}}

/* honest hero booking button + microcopy (replaces the fake fare display) */
.board-go{width:100%;text-align:center;margin-top:4px}
.board-microcopy{font-size:.76rem;color:var(--mute);line-height:1.45;margin:10px 2px 0;text-align:center}

/* ================= BOOKING (AET-style, ink/gold) ================= */
/* hero booking card */
.book-card{background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 30px 70px rgba(0,0,0,.30)}
.book-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}
.book-head h3{font-family:var(--f-disp);font-size:1.25rem;margin:0}
.toggle{display:inline-flex;background:var(--bone);border-radius:50px;padding:4px}
.toggle button{background:none;border:none;color:var(--mute);font-family:inherit;font-weight:700;font-size:.82rem;padding:8px 18px;border-radius:50px;cursor:pointer;transition:.2s}
.toggle button.active{background:var(--gold-dk);color:#fff}
.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.field{position:relative;grid-column:span 2}
.field.sm{grid-column:span 1}
.field label{display:block;font-size:.72rem;color:var(--ink);margin-bottom:5px;font-weight:600}
.field input,.field select{width:100%;background:var(--bone);border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--ink);font-family:inherit;font-size:.92rem;font-weight:500;transition:.18s;box-sizing:border-box}
.field input::placeholder{color:var(--mute);font-weight:400}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold-dk);background:#fff;box-shadow:0 0 0 4px rgba(201,162,39,.16)}
.field.err input,.field.err select{border-color:#d63638;box-shadow:0 0 0 3px rgba(214,54,56,.14)}
.fld-msg{display:block;color:#d63638;font-size:.76rem;margin-top:4px}
.swap{position:absolute;right:-7px;top:30px;z-index:3;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--gold-dk);display:grid;place-items:center;cursor:pointer;transition:.3s;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.swap:hover{transform:rotate(180deg)}
.swap svg{width:14px;height:14px;fill:currentColor}
.book-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;flex-wrap:wrap}
.book-foot .note{font-size:.8rem;color:var(--mute);display:flex;align-items:center;gap:8px;font-weight:500}
.book-foot .note svg{width:15px;height:15px;fill:var(--gold-dk);flex:0 0 auto}
.bc-quote{white-space:nowrap}

/* counters */
.counter{display:flex;align-items:center;justify-content:space-between;background:var(--bone);border:1px solid var(--line);border-radius:50px;padding:5px 8px}
.counter button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--gold-dk);font-size:16px;cursor:pointer;line-height:1}
.counter button:hover{background:var(--gold-dk);color:#fff;border-color:var(--gold-dk)}
.counter .val{font-weight:700;font-size:.95rem;color:var(--ink)}

/* autocomplete dropdown */
.nel-ac{position:absolute;z-index:40;left:0;right:0;top:100%;margin-top:3px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px rgba(0,0,0,.14);max-height:240px;overflow:auto}
.nel-ac-item{padding:10px 13px;cursor:pointer;font-size:.9rem;color:var(--ink);line-height:1.4}
.nel-ac-item:hover{background:var(--bone);color:var(--ink)}

/* wizard */
.bk-section{padding:40px 0 90px}
.bk-wiz{max-width:1140px;margin:0 auto}
.bk-section--top{padding-top:48px}
.bk-pagehead{max-width:1140px;margin:0 auto 30px}
.bk-pagehead h1{font-size:2.2rem;margin:4px 0 8px}
.bk-pagehead .lede{color:var(--mute);max-width:60ch;margin:0}
.steps{display:flex;gap:8px;margin-bottom:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 4px}
.step-i{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:.84rem;color:var(--mute)}
.step-i .sc{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--bone);color:var(--mute);font-size:.78rem;flex-shrink:0}
.step-i.active{color:var(--ink)}
.step-i.active .sc,.step-i.done .sc{background:var(--gold-dk);color:#fff}
.step-i.done{color:var(--ink)}
.wiz-dist{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--mute);margin-bottom:18px}
.wiz-dist svg{fill:var(--gold-dk)}
.bk-step{display:flex;flex-direction:column;gap:18px}
.bk-step[hidden]{display:none}
.bk-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.bk-section .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin:0}
.bk-section .ct{font-family:var(--f-disp);font-size:1.2rem;margin:0 0 4px}
.bk-sub{color:var(--mute);font-size:.86rem;margin:2px 0}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px}

/* vehicle select list */
.veh-panel{align-self:start}
.vsel-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.vsel{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;transition:.18s;background:#fff}
.vsel:hover{border-color:var(--gold-dk)}
.vsel.on{border-color:var(--gold-dk);box-shadow:inset 0 0 0 1px var(--gold-dk)}
.vsel-off{opacity:.5;cursor:not-allowed}
.vsel-img{flex:0 0 auto;width:72px;height:50px;border-radius:7px;background:var(--ink) center/cover no-repeat}
.vsel-img--none{background:var(--bone)}
.vsel-info{flex:1}
.vsel-name{font-weight:600;font-size:.95rem}
.vsel-meta{font-size:.78rem;color:var(--mute)}
.vsel-right{text-align:right}
.vsel-price{font-weight:700;color:var(--gold-dk);font-size:1.05rem}
.vsel-na{font-size:.72rem;color:#d63638}
.veh-warn{display:none;margin-top:12px;font-size:.82rem;color:#b32d2e}

/* summary + price */
.sum-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}
.sum-h{font-family:var(--f-disp);font-size:1.05rem;margin:0 0 12px}
.sum-h.border{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.sum-route{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.sr-line{display:flex;gap:12px;align-items:flex-start}
.sr-dot{width:11px;height:11px;border-radius:50%;margin-top:4px;flex:0 0 auto}
.sr-dot.start{background:var(--gold)}
.sr-dot.end{background:var(--ink)}
.sr-lbl{display:block;font-size:.72rem;color:var(--mute)}
.sr-val{font-weight:600;font-size:.92rem}
.sum-meta{display:grid;gap:8px}
.sum-meta>div{display:flex;justify-content:space-between;font-size:.9rem}
.sp-veh{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:12px}
.sp-veh-img{width:70px;height:50px;border-radius:7px;background:var(--ink) center/cover no-repeat;flex:0 0 auto}
.sp-veh-name{font-weight:700;font-size:1rem}
.sp-rows{display:grid;gap:8px}
.sp-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--mute)}
.sp-total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:2px solid var(--line)}
.sp-total span:first-child{font-weight:700}
.sp-total span:last-child{font-family:var(--f-disp);font-size:1.6rem;font-weight:800;color:var(--gold-dk)}
.sp-est{font-size:.76rem;color:var(--mute);margin:10px 0 0}
.nel-card{padding:13px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:6px}
.pay-offline{font-size:.82rem;color:var(--mute);margin-top:12px}
.sp-incl{margin-top:16px;display:grid;gap:8px}
.sp-incl div{font-size:.82rem;color:var(--mute);position:relative;padding-left:20px}
.sp-incl div::before{content:"\2713";position:absolute;left:0;color:var(--gold-dk);font-weight:700}

/* booking done */
.bk-done{text-align:center;padding:34px 0}
.bd-check{width:80px;height:80px;border-radius:50%;background:rgba(201,162,39,.14);display:grid;place-items:center;margin:0 auto 20px}
.bd-check svg{width:40px;height:40px;fill:none;stroke:var(--gold-dk);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.bd-ref{margin:16px 0;font-size:.9rem;color:var(--mute)}
.bd-ref strong{display:block;font-family:var(--f-disp);font-size:1.3rem;color:var(--ink);margin-top:4px}
.bd-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}

@media(max-width:820px){.bk-grid,.sum-grid{grid-template-columns:1fr}}
@media(max-width:640px){.fields{grid-template-columns:1fr 1fr}.field,.field.sm{grid-column:span 1}.steps{gap:6px}.step-i{font-size:.72rem;flex-direction:column;gap:5px;text-align:center}}

/* ---- booking: secure payment block (step 3) ---- */
.pay-block{margin-top:20px;border:1px solid var(--gold-dk);border-radius:10px;overflow:hidden;background:#fff}
.pay-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(180deg,rgba(201,162,39,.10),rgba(201,162,39,.04));border-bottom:1px solid var(--line)}
.pay-lock{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gold-dk);color:#fff}
.pay-head b{display:block;font-family:var(--f-disp);font-size:1rem;line-height:1.2}
.pay-head i{font-style:normal;font-size:.8rem;color:var(--mute)}
.pay-amt{margin-left:auto;font-family:var(--f-disp);font-size:1.4rem;font-weight:800;color:var(--gold-dk);white-space:nowrap}
.pay-block .nel-card{margin:0;border:0;border-radius:0;padding:18px 16px;min-height:56px}

/* ---- booking type selector + airport options ---- */
.bktype{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.bktype-btn{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-family:var(--f-disp);font-weight:700;font-size:.95rem;color:var(--mute);transition:.18s}
.bktype-btn svg{fill:currentColor}
.bktype-btn:hover{border-color:var(--gold-dk);color:var(--ink)}
.bktype-btn.active{border-color:var(--gold-dk);background:rgba(201,162,39,.08);color:var(--ink);box-shadow:inset 0 0 0 1px var(--gold-dk)}
.air-opts{margin:14px 0 4px;display:grid;gap:10px}
.air-row{display:flex;align-items:center;gap:14px}
.air-lbl{font-size:.8rem;font-weight:600;color:var(--mute);min-width:80px}
.seg{display:inline-flex;background:var(--bone);border-radius:50px;padding:3px}
.seg button{background:none;border:0;font-family:inherit;font-weight:600;font-size:.82rem;color:var(--mute);padding:7px 16px;border-radius:50px;cursor:pointer}
.seg button.active{background:var(--gold-dk);color:#fff}
.sp-fees{display:grid;gap:8px;margin:8px 0}
.sp-fees .sp-row{color:var(--mute)}

/* ---- hourly: call to book ---- */
.hourly-strip{display:flex;align-items:center;gap:10px;width:100%;margin:-4px 0 18px;padding:12px 16px;border:1px dashed var(--line);border-radius:10px;background:var(--bone);cursor:pointer;font-family:inherit;font-size:.88rem;color:var(--mute);transition:.18s}
.hourly-strip svg{fill:var(--gold-dk);flex:0 0 auto}
.hourly-strip span{flex:1;text-align:left;font-weight:600;color:var(--ink)}
.hourly-strip em{font-style:normal;color:var(--gold-dk);font-weight:700}
.hourly-strip:hover{border-color:var(--gold-dk);background:rgba(201,162,39,.06)}
.bk-hourly{padding:20px 0}
.hourly-card{max-width:560px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:38px 34px}
.hourly-ico{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:rgba(201,162,39,.12);display:grid;place-items:center}
.hourly-ico svg{width:32px;height:32px;fill:var(--gold-dk)}
.hourly-card h2{font-family:var(--f-disp);font-size:1.6rem;margin:0 0 12px}
.hourly-card p{color:var(--mute);line-height:1.6;margin:0 0 20px}
.hourly-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hourly-note{font-size:.8rem;color:var(--mute-lt);margin:18px 0 0}
@media(max-width:520px){.hourly-actions .btn{width:100%}}

/* ---- booking form UI polish (v3.14) ---- */
.bk-wiz{max-width:1080px}
.bk-section .card{border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.04);padding:26px 28px}
/* clearer step indicator */
.steps{border:0!important;background:transparent;padding:0;margin-bottom:30px;gap:0;position:relative}
.step-i{position:relative;flex-direction:column;gap:8px;font-size:.82rem;padding:0 8px}
.step-i .sc{width:30px;height:30px;font-size:.85rem;font-weight:700;border:2px solid var(--bone-2);background:#fff;color:var(--mute);transition:.2s}
.step-i.active .sc{border-color:var(--gold-dk);background:var(--gold-dk);color:#fff;box-shadow:0 0 0 4px rgba(201,162,39,.15)}
.step-i.done .sc{border-color:var(--gold-dk);background:var(--gold-dk);color:#fff}
/* connector line between steps */
.step-i::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2px;background:var(--bone-2);z-index:0}
.step-i:first-child::before{display:none}
.step-i.active::before,.step-i.done::before{background:var(--gold-dk)}
.step-i .sc{position:relative;z-index:1}
/* segmented + toggle refinement */
.toggle,.seg{box-shadow:inset 0 0 0 1px var(--line)}
.bktype-btn{padding:16px 14px;border-radius:12px}
.bktype-btn.active{box-shadow:inset 0 0 0 2px var(--gold-dk)}
/* vehicle cards a touch more polished */
.vsel{border-radius:12px;padding:12px 14px;transition:.15s}
.vsel.on{box-shadow:inset 0 0 0 2px var(--gold-dk)}
.vsel-img{border-radius:9px}
/* summary cards */
.sum-detail,.sum-price{border-radius:14px}
.sp-total span:last-child{font-size:1.7rem}
/* field labels + spacing */
.field label{font-size:.75rem;letter-spacing:.01em;text-transform:none;color:var(--mute);font-weight:600}
.fields{gap:14px}
.wiz-nav{margin-top:20px}
.wiz-nav .btn{border-radius:8px}
@media(max-width:640px){.bk-section .card{padding:20px 18px}}
.veh .veh-desc{color:var(--mute);font-size:.85rem;margin:0 0 10px}

/* ---- home CTA band: lighter overlay + more space above buttons (v3.15.2) ---- */
.band.dark .scrim-f{background:linear-gradient(180deg,rgba(8,8,10,.44),rgba(8,8,10,.58)),rgba(8,8,10,.4)}
.cta-actions{margin-top:28px}

/* ---- mobile horizontal-overflow guards (v3.17.1) ---- */
@media(max-width:760px){
  /* Never let a section or media push past the viewport. */
  section, .wrap, .path, .book-card, .bk-wiz, .sum-grid, .bk-grid { max-width:100%; }
  img, .plate, .shot { max-width:100%; }
  /* Edge-to-edge scrollers use negative margins; clip them to viewport so they
     scroll internally instead of widening the page. */
  .fleet-grid, .rev-grid { box-sizing:border-box; }
  /* Booking summary/grids stack cleanly. */
  .sum-grid, .bk-grid, .path-tiles { grid-template-columns:1fr; }
}
.vsel-price-tba{font-size:.78rem;color:var(--mute);font-weight:600}

/* ---- fleet card: seats/bags + Book on one row (v3.19.1) ---- */
.veh{display:flex;flex-direction:column}
.veh .shot{flex:0 0 auto}
.veh .meta{display:flex;flex-direction:column;flex:1}
.veh-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:13px;margin-top:auto}
.veh-foot dl{display:flex;gap:24px;border-top:0;padding-top:0;margin:0}
.veh-book{flex:0 0 auto;padding:9px 22px;white-space:nowrap}

/* ================= WHY CHOOSE US + REVIEWS pages (v3.21) ================= */
/* Why Choose Us — feature cards */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 40px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 26px;transition:.2s}
.why-card:hover{border-color:var(--gold-dk);box-shadow:0 16px 40px rgba(0,0,0,.08);transform:translateY(-3px)}
.why-ico{width:52px;height:52px;border-radius:12px;background:rgba(201,162,39,.12);display:grid;place-items:center;margin-bottom:16px}
.why-ico svg{width:26px;height:26px;fill:var(--gold-dk)}
.why-card h3{font-family:var(--f-disp);font-size:1.15rem;margin:0 0 8px}
.why-card p{color:var(--mute);font-size:.92rem;line-height:1.6;margin:0}
.why-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:8px 0 8px}

/* Reviews page — testimonial cards */
.revpage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 44px}
.rev-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px;margin:0;display:flex;flex-direction:column;gap:12px;transition:.2s}
.rev-card:hover{border-color:var(--gold-dk);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.rev-card .stars{color:var(--gold);font-size:1rem;letter-spacing:2px}
.rev-card p{font-size:.98rem;line-height:1.65;color:var(--ink);margin:0;font-style:italic}
.rev-card cite{margin-top:auto;font-style:normal;font-weight:700;font-size:.9rem;color:var(--ink);display:flex;flex-direction:column}
.rev-card .rev-meta{font-weight:400;font-size:.8rem;color:var(--mute);margin-top:2px}
.revpage-cta{text-align:center;background:var(--bone);border-radius:16px;padding:44px 30px;margin-top:10px}
.revpage-cta h2{font-family:var(--f-disp);font-size:1.8rem;margin:0 0 8px}
.revpage-cta p{color:var(--mute);max-width:52ch;margin:0 auto 22px}
.revpage-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:860px){.why-grid,.revpage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.why-grid,.revpage-grid{grid-template-columns:1fr}}



/* ---- loyalty USP band (v3.23) ---- */
.loyalty{padding:56px 0}
.loyalty-card{display:flex;align-items:center;gap:26px;background:linear-gradient(120deg,var(--ink) 0%,#1a1a20 100%);border-radius:16px;padding:36px 40px;position:relative;overflow:hidden}
.loyalty-card::after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;background:rgba(201,162,39,.10)}
.loyalty-ico{flex:0 0 auto;width:64px;height:64px;border-radius:16px;background:rgba(201,162,39,.16);display:grid;place-items:center;position:relative;z-index:2}
.loyalty-ico svg{width:32px;height:32px;fill:var(--gold)}
.loyalty-text{position:relative;z-index:2}
.loyalty-text .eyebrow{color:var(--gold)}
.loyalty-text h2{color:#fff;font-size:1.7rem;margin:6px 0 8px}
.loyalty-text p{color:#D9D7CE;font-size:1rem;line-height:1.6;margin:0;max-width:64ch}
@media(max-width:640px){.loyalty-card{flex-direction:column;text-align:center;padding:30px 24px}.loyalty-text p{margin:0 auto}}

/* ================= HERO with translucent USP strip over image (v3.24) ================= */
.hero{min-height:auto;display:flex;flex-direction:column;justify-content:center;padding:70px 0 0!important;position:relative}
.hero .hero-grid{flex:1;align-items:center;padding-bottom:36px}
/* strip now lives INSIDE the hero, over the photo */
.hstrip--over{background:transparent;position:relative;z-index:5;padding-bottom:30px}
.hstrip--over .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hstrip--over .hstrip-item{
	background:rgba(10,10,14,.34);
	-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
	border:1px solid rgba(255,255,255,.16);
	border-radius:12px;
	padding:16px 18px;margin-right:0;
	transition:.2s;
}
.hstrip--over .hstrip-item--link{cursor:pointer}
.hstrip--over .hstrip-item--link:hover{background:rgba(201,162,39,.22);border-color:var(--gold-dk);transform:translateY(-3px)}
.hstrip--over .hstrip-arw{margin-left:auto;color:var(--gold-lt);font-size:1.1rem;transition:transform .2s}
.hstrip--over .hstrip-item--link:hover .hstrip-arw{transform:translateX(4px)}
.hstrip--over .hstrip-txt b{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hstrip--over .hstrip-txt i{color:#EAE8E0;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hstrip--over .hstrip-ico{background:rgba(201,162,39,.28)}
@media(max-width:900px){.hstrip--over .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hstrip--over .wrap{grid-template-columns:1fr}.hero{padding-top:48px!important}}


/* ================= ALIGNMENT FIXES (v3.25.1) ================= */
/* Hero: an older rule set align-items:center, which made the USP strip shrink
   and centre instead of filling the container. Stretch it so the cards share
   the exact left/right edges of the hero text and form. */
.hero{align-items:stretch!important}
.hero .hero-grid{width:100%;box-sizing:border-box}
.hstrip--over{width:100%;align-self:stretch}
.hstrip--over .wrap{width:100%;box-sizing:border-box}

/* Location section: full width head, button on the same line as the TITLE,
   description full width underneath. */
.cov3-head{max-width:none;margin-bottom:36px}
.cov3-titlerow{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:12px}
.cov3-titlerow h2{margin:0;flex:1 1 auto}
.cov3-head-cta{flex:0 0 auto}
.cov3-head .lede{margin-top:14px}
@media(max-width:640px){.cov3-head-cta{width:100%;text-align:center}}

/* Section descriptions: stop squeezing them to half the width. */
.wrap > .lede,.cov3-head .lede{max-width:none}

/* ---- Booking wizard v3.25.5: tab bar, airport dropdown, quick quote ---- */
.bk-section .card.bk-card{padding:0;overflow:hidden}
.bk-card-body{padding:24px 28px 26px}
.bktabs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--bone);border-bottom:1px solid var(--line)}
.bktabs .bktype-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 12px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--mute);text-align:left;font-family:var(--f-disp)}
.bktabs .bktype-btn + .bktype-btn{border-left:1px solid var(--line)}
.bktabs .bktype-btn span{display:flex;flex-direction:column;line-height:1.2}
.bktabs .bktype-btn b{font-size:.98rem;font-weight:700}
.bktabs .bktype-btn i{font-style:normal;font-family:var(--f-body);font-size:.74rem;font-weight:500;color:var(--mute);margin-top:2px}
.bktabs .bktype-btn:hover{color:var(--ink);background:rgba(255,255,255,.55)}
.bktabs .bktype-btn.active{background:#fff;color:var(--ink);box-shadow:none}
.bktabs .bktype-btn.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--gold-dk)}
.bktabs .bktype-btn.active svg{color:var(--gold-dk)}
.bktabs .bktype-btn:focus-visible{outline:2px solid var(--gold-dk);outline-offset:-2px}
.bk-hint{grid-column:1/-1;margin:-4px 0 2px;font-size:.78rem;color:var(--mute)}
.fld-hint{display:block;font-size:.72rem;color:var(--mute);margin-top:4px}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16'%3E%3Cpath fill='%238A6A0C' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.field[hidden],.bk-hint[hidden],.field select[hidden],.field input[hidden]{display:none}
.field .seg{display:flex}
.field .seg button{flex:1}
.wiz-nav--quote{justify-content:flex-end}
.quick-quote{margin-right:auto;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.quick-quote[hidden]{display:none}
.qq-from{font-size:.82rem;color:var(--mute);font-weight:600}
.qq-price{font-family:var(--f-disp);font-size:1.6rem;font-weight:800;color:var(--ink);line-height:1}
.qq-meta{font-size:.8rem;color:var(--mute);width:100%}
.bk-trust{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 18px;font-size:.8rem;color:var(--mute)}
.bk-trust span{display:inline-flex;align-items:center;gap:6px}
.bk-trust svg{color:var(--gold-dk)}
.step-i[hidden],.toggle[hidden],.bk-wiz [hidden]{display:none}
@media(max-width:640px){
  .bk-card-body{padding:20px 16px}
  .bktabs .bktype-btn{flex-direction:column;gap:6px;padding:12px 6px;text-align:center}
  .bktabs .bktype-btn span{align-items:center}
  .bktabs .bktype-btn i{display:none}
  .bk-wiz .field:not(.sm){grid-column:1/-1}
  .bk-wiz #flightTypeField,.bk-wiz #flightNoField{grid-column:1/-1}
  .wiz-nav--quote{position:sticky;bottom:0;z-index:5;background:#fff;margin:0 -16px;padding:12px 16px;border-top:1px solid var(--line);box-shadow:0 -6px 16px rgba(0,0,0,.06)}
  .wiz-nav--quote .btn{flex:0 0 auto}
  .qq-price{font-size:1.3rem}
  .bk-trust{justify-content:center}
}

/* Homepage coverage: 3 featured states + view all (v3.25.6) */
.cov3-all{margin:28px 0 0;text-align:center}

/* Booking wizard v3.25.7: step 2 trip bar, hourly call panel */
.trip-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.trip-bar-text{font-size:.9rem;font-weight:600;color:var(--ink);line-height:1.45}
.trip-bar .btn{padding:7px 14px;font-size:.82rem;border-radius:8px}
.bk-hourly{padding:6px 0 4px;max-width:620px}
.bk-hourly .bk-sub{font-size:.95rem;line-height:1.6;margin:8px 0 18px}
.bk-hourly-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
@media(max-width:640px){.trip-bar .btn{width:100%}.bk-hourly-actions .btn{width:100%;justify-content:center}}

/* Homepage booking card: compact ride-type switch (v3.25.8) */
.bc-type{display:flex;gap:18px;margin:-4px 0 14px;border-bottom:1px solid var(--line)}
.bc-type button{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:6px 2px 9px;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--mute);cursor:pointer;transition:color .15s,border-color .15s}
.bc-type button:hover{color:var(--ink)}
.bc-type button.active{color:var(--ink);border-bottom-color:var(--gold-dk)}
.bc-type button.active svg{color:var(--gold-dk)}
.bc-type button:focus-visible{outline:2px solid var(--gold-dk);outline-offset:2px}
.book-card [hidden]{display:none}

/* Back to top (v3.25.10): stacked above the WhatsApp button */
.totop{position:fixed;right:31px;bottom:92px;z-index:80;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:transform .18s,box-shadow .18s,background .18s}
.totop svg{width:22px;height:22px;fill:currentColor}
.totop:hover{background:var(--gold-dk);border-color:var(--gold-dk);color:#fff;transform:translateY(-2px)}
.totop:focus-visible{outline:2px solid var(--gold-dk);outline-offset:3px}
.totop[hidden]{display:none}
.totop--solo{bottom:26px}
@media (prefers-reduced-motion:reduce){.totop:hover{transform:none}}
@media(max-width:620px){.totop{right:20px;bottom:76px;width:40px;height:40px}.totop--solo{bottom:16px}}

/* Service Areas page: space between the "why book us" cards and the FAQ (v3.25.11) */
.areas-faq-block{margin-top:72px}
@media(max-width:640px){.areas-faq-block{margin-top:48px}}

/* Booking: payment / booking errors under the Confirm button (v3.25.12) */
.nelb-error{margin:10px 0 0;color:#d63638;font-size:.88rem;font-weight:600;text-align:right}
.nelb-error:empty{display:none}
@media(max-width:640px){.nelb-error{text-align:left}}

/* Nearby areas: towns without their own page show as plain chips (v3.25.14) */
.loc-chip--text{color:var(--mute);cursor:default}
.loc-chip--text:hover{border-color:var(--line);color:var(--mute)}

/* Services page: "Can't find the service you need?" card, last in each group (v3.25.18) */
.svc-arch-card--help{background:var(--bone);border-color:var(--gold-dk)}
.svc-arch-card--help .svc-arch-shot{display:flex;align-items:center;justify-content:center;color:var(--gold)}
.svc-arch-card--help .svc-arch-more{font-size:.95rem}

/* Location, service and fleet banners with the booking card (v3.25.23):
   homepage layout — page text left, booking card right — but shorter. */
.has-bookcard{padding-bottom:64px}
.has-bookcard .hero-grid--page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:48px;align-items:center}
.has-bookcard .book-card .fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.has-bookcard .book-card .field.sm{grid-column:span 2}
.has-bookcard .hero-copy{min-width:0}
.has-bookcard .hero-copy h1{max-width:none}
.has-bookcard .book-card{width:100%;max-width:560px;justify-self:end;box-sizing:border-box}
.has-bookcard .loc-facts{max-width:none}
@media(max-width:980px){
  .has-bookcard .hero-grid--page{grid-template-columns:1fr;gap:32px}
  .has-bookcard .book-card{justify-self:stretch;max-width:none}
}
@media(max-width:620px){
  .has-bookcard{padding-bottom:40px}
  .has-bookcard .book-card{padding:20px 18px}
  .has-bookcard .book-card .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .has-bookcard .book-card .field{grid-column:1 / -1}
  .has-bookcard .book-card .field.sm{grid-column:span 1}
}
