/*
Theme Name: Chauffeurs Car Service
Theme URI: https://chauffeurcarservice.com.au
Author: Chauffeurs Car Service
Description: A premium chauffeur service theme for Melbourne, Australia, with booking, fleet filtering and editable content.
Version: 4.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: chauffeur-car-service
*/

:root {
  --ink: #0b1013;
  --ink-2: #11191e;
  --paper: #f5f3ee;
  --white: #fff;
  --gold: #e64b12;
  --gold-light: #f07a4d;
  --muted: #aab0b2;
  --line: rgba(255,255,255,.13);
  --shadow: 0 26px 80px rgba(0,0,0,.18);
  --sans: "Segoe UI", Arial, sans-serif;
  --serif: "Cormorant Garamond", Georgia, serif;
  --container: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #192025; background: var(--paper); font: 15px/1.72 var(--sans); overflow-x: hidden; }
body.modal-open, body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 999; top: 8px; left: 8px; width: auto; height: auto; clip: auto; padding: 10px 15px; color: #111; background: #fff; }
.container { width: var(--container); margin-inline: auto; }
.eyebrow { margin: 0 0 12px; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.section-title { margin: 0; color: var(--ink); font: 600 clamp(38px, 5vw, 66px)/.98 var(--serif); letter-spacing: -.025em; }
.section-title.light { color: #fff; }
.section-copy { max-width: 640px; margin: 20px auto 0; color: #626b70; }
.section-copy.light { color: #aeb7bb; }
.section-head { text-align: center; margin-bottom: 48px; }
.gold-btn, .outline-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; border: 1px solid var(--gold); background: var(--gold); color: #111; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: .3s ease; }
.gold-btn:hover { background: var(--gold-light); border-color: var(--gold-light); transform: translateY(-2px); }
.outline-btn { background: transparent; color: #fff; border-color: rgba(255,255,255,.48); }
.outline-btn:hover { color: #111; background: #fff; }

/* Header */
.site-header { z-index: 100; color: #fff; transition: background .35s, box-shadow .35s; }
.topline { height: 34px; display: flex; align-items: center; border-bottom: 1px solid var(--line); color: #bbc0c2; font-size: 10px; letter-spacing: .1em; background: #060a0d; }
.topline .container { display: flex; justify-content: space-between; align-items: center; }
.topline-right { display: flex; gap: 22px; }
.topline a:hover { color: var(--gold-light); }
.navline { height: 82px; display: grid; grid-template-columns: 220px 1fr auto; align-items: center; gap: 25px; }
.brand { display: inline-flex; align-items: center; gap: 12px; width: max-content; }
.brand-mark { width: 34px; height: 34px; border: 1px solid var(--gold); position: relative; transform: rotate(45deg); }
.brand-mark::after { content: "A"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--gold-light); font: 600 19px var(--serif); transform: rotate(-45deg); }
.brand-copy strong { display: block; font: 600 21px/.9 var(--serif); letter-spacing: .12em; }
.brand-copy small { color: var(--gold-light); font-size: 7px; letter-spacing: .29em; text-transform: uppercase; }
.primary-nav ul { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.4vw, 37px); padding: 0; margin: 0; list-style: none; }
.primary-nav li { position: relative; }
.primary-nav a { padding: 29px 0; font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; transition: color .2s; }
.primary-nav > ul > li > a::after { content: ""; position: absolute; height: 1px; width: 0; left: 0; bottom: 20px; background: var(--gold); transition: width .25s; }
.primary-nav > ul > li:hover > a { color: var(--gold-light); }
.primary-nav > ul > li:hover > a::after { width: 100%; }
.primary-nav .sub-menu { opacity: 0; visibility: hidden; transform: translateY(10px); position: absolute; top: 59px; left: -24px; display: block; width: 230px; padding: 14px 0; background: #10171a; border-top: 2px solid var(--gold); box-shadow: var(--shadow); transition: .25s; }
.primary-nav li:hover .sub-menu { opacity: 1; visibility: visible; transform: none; }
.primary-nav .sub-menu a { display: block; padding: 10px 22px; color: #d4d7d8; font-size: 10px; }
.primary-nav .sub-menu a:hover { color: var(--gold-light); padding-left: 27px; }
.nav-actions { display: flex; align-items: center; gap: 16px; }
.nav-phone { font-size: 12px; font-weight: 700; white-space: nowrap; }
.nav-book { min-height: 42px; padding-inline: 20px; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; padding: 12px; }
.menu-toggle span { display: block; height: 1px; background: #fff; margin: 6px 0; transition: .25s; }

.stars { color: var(--gold-light); letter-spacing: 2px; font-size: 12px; }

.site-footer { color: #c0c5c7; background: #080d10; }
.footer-main { display: grid; grid-template-columns: 1.25fr .75fr .75fr 1fr; gap: 55px; padding: 80px 0 62px; }
.footer-col h3 { margin: 0 0 22px; color: #fff; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin: 9px 0; }
.footer-col a, .footer-col p { color: #899195; font-size: 11px; }
.footer-col a:hover { color: var(--gold-light); }
.floating-actions { position: fixed; z-index: 80; right: 22px; bottom: 24px; display: grid; gap: 9px; }
.floating-action { width: 48px; height: 48px; display: grid; place-items: center; color: #0b1114; background: var(--gold); border-radius: 50%; box-shadow: 0 12px 25px rgba(0,0,0,.22); font-size: 18px; transition: .25s; }
.floating-action:hover { transform: translateY(-4px); background: var(--gold-light); }

/* Modal, inner pages and reveal */
.booking-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; pointer-events:none; background: rgba(1,5,8,.86); transition: opacity .16s ease, visibility .16s ease; contain:layout paint; }
.booking-modal.open { opacity: 1; visibility: visible; pointer-events:auto; }
.booking-panel { width: min(820px,100%); max-height:92vh; max-height:92dvh; overflow:auto; overscroll-behavior:contain; padding:48px; color:#fff; background:#10171b; border-top:3px solid var(--gold); box-shadow:var(--shadow); transform:translateY(8px); transition:transform .16s ease; }
.booking-modal.open .booking-panel { transform: none; }
.modal-head { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 27px; }
.modal-head h2 { margin: 0; font: 600 45px/1 var(--serif); }
.modal-close { width: 38px; height: 38px; border: 1px solid var(--line); color: #fff; background: transparent; font-size: 22px; }
.booking-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field.full { grid-column: 1/-1; }
.field label { display: block; margin-bottom: 7px; color: #aeb5b7; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; min-height: 51px; padding: 12px 14px; border: 1px solid #303a3f; outline: none; color: #fff; background: #0b1114; }
.field textarea { min-height: 92px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); }
.form-status { min-height: 22px; margin: 12px 0; color: var(--gold-light); font-size: 11px; }
.inner-hero { min-height: 480px; display: flex; align-items: end; padding: 170px 0 80px; color: #fff; background: linear-gradient(rgba(5,10,13,.68),rgba(5,10,13,.9)),url('assets/images/aureline-hero.jpg') center/cover; }
.inner-hero h1 { margin: 0; font: 600 clamp(52px,7vw,84px)/.95 var(--serif); }
.page-content { padding: 90px 0; min-height: 400px; }
.page-content h2 { font: 600 40px var(--serif); }
.faq-list { max-width: 850px; margin: 45px auto 0; }
.faq-item { border-top: 1px solid #d6d1c5; }
.faq-question { width: 100%; padding: 22px 0; display: flex; justify-content: space-between; border: 0; background: transparent; text-align: left; font: 600 23px var(--serif); }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: .35s; }
.faq-answer > div { overflow: hidden; color: #687175; }
.faq-item.open .faq-answer { grid-template-rows: 1fr; padding-bottom: 22px; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .45s ease, transform .45s ease; }
.reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .primary-nav { position: fixed; inset: 0; padding: 135px 35px 40px; opacity: 0; visibility: hidden; background: #080e11; transition: .3s; }
  .menu-open .primary-nav { opacity: 1; visibility: visible; }
  .primary-nav ul { display: block; }
  .primary-nav a { display: block; padding: 14px 0; font: 600 27px var(--serif); letter-spacing: 0; text-transform: none; border-bottom: 1px solid var(--line); }
  .primary-nav .sub-menu { display: none; }
  .services-trigger { width: 100%; justify-content: space-between; padding: 14px 0; font: 600 27px var(--serif); letter-spacing: 0; text-transform: none; border-bottom: 1px solid var(--line); }
  .services-panel { position: static; width: 100%; margin: 4px 0 10px; padding: 6px; opacity: 1; visibility: visible; transform: none; max-height: 0; overflow: hidden; box-shadow: none; transition: max-height .3s ease, padding .3s ease; }
  .menu-item-services.open .services-panel { max-height: 400px; padding: 10px; }
  .services-copy strong { font-size: 15px; }
  .menu-toggle { display: block; }
  .menu-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .navline { grid-template-columns: 1fr auto; }
  .nav-phone { display: none; }
  .footer-main { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-main .footer-col:last-child { grid-column: 1/-1; }
}

@media (max-width: 760px) {
  :root { --container: min(100% - 36px, 600px); }
  .topline { display: none; }
  .navline { height: 72px; }
  .brand-copy strong { font-size: 17px; }
  .brand-mark { width: 30px; height: 30px; }
  .nav-book { display: none; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 42px 28px; padding-top: 60px; }
  .footer-main .footer-col:last-child { grid-column: 1/-1; }
  .booking-panel { padding: 30px 20px; }
  .booking-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .modal-head h2 { font-size: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Reference-aligned complete site — v2 */
:root { --brand-gold:#e64b12; --brand-dark:#0d1418; --brand-cream:#faf6e9; --sans:"Segoe UI",Arial,sans-serif; }
body { background:#fff; color:#111820; font-family:"Segoe UI",Arial,sans-serif; }
.section-title { font-family:var(--sans); font-size:clamp(34px,4vw,54px); line-height:1.12; letter-spacing:-.02em; }
.site-header { position:sticky; top:0; background:#0c1317; }
.site-header.scrolled { background:#0c1317; }
.navline { height:82px; grid-template-columns:minmax(225px,1fr) auto auto; width:min(1380px,calc(100% - 40px)); }
.brand-text { color:#fff; font:700 18px/1 var(--sans); text-transform:uppercase; letter-spacing:0; white-space:nowrap; }
.primary-nav ul { gap:34px; }
.primary-nav a { padding:30px 0; font-size:11px; letter-spacing:.02em; }
.primary-nav > ul > li::after { content:""; position:absolute; left:50%; bottom:17px; width:0; height:3px; border-radius:2px; background:var(--brand-gold); transform:translateX(-50%); transition:width .24s ease; }
.primary-nav > ul > li:hover::after,.primary-nav > ul > li:focus-within::after,.primary-nav > ul > li.current-menu-item::after { width:100%; }
.primary-nav > ul > li > a::after { display:none; }
.primary-nav .sub-menu { top:64px; }

/* Services premium popup menu */
.menu-item-services { position:relative; }
.services-trigger { display:inline-flex; align-items:center; gap:7px; padding:30px 0; border:0; background:transparent; color:#fff; font:700 11px/1 var(--sans); letter-spacing:.02em; text-transform:uppercase; }
.services-chevron { transition:transform .25s ease; color:var(--brand-gold); }
.menu-item-services.open .services-chevron { transform:rotate(180deg); }
.menu-item-services:hover .services-trigger,.menu-item-services.open .services-trigger { color:var(--brand-gold); }
.services-panel { position:absolute; z-index:60; top:64px; left:50%; transform:translate(-50%,10px); width:min(720px,calc(100vw - 48px)); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:12px; opacity:0; visibility:hidden; background:#10171a; border-top:3px solid var(--brand-gold); border-radius:10px; box-shadow:0 30px 70px rgba(0,0,0,.45); transition:opacity .25s ease, transform .25s ease, visibility .25s; }
.menu-item-services.open .services-panel { opacity:1; visibility:visible; transform:translate(-50%,0); }
.services-panel-item { display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:8px; color:#fff; transition:background .2s ease, padding-left .2s ease; }
.services-panel-item + .services-panel-item { margin-top:0; }
.services-panel-item:hover { background:rgba(230,75,18,.1); padding-left:20px; }
.services-panel-item:focus-visible,.services-panel-item[aria-current="page"] { outline:0; background:rgba(230,75,18,.13); }
.services-icon { flex:none; width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(230,75,18,.4); border-radius:8px; color:var(--brand-gold); font-size:16px; }
.services-copy { display:flex; flex-direction:column; gap:3px; }
.services-copy strong { font:700 13px var(--sans); }
.services-copy small { color:#9aa1a5; font-size:11px; }
.services-arrow { margin-left:auto; color:var(--brand-gold); opacity:0; transform:translateX(-4px); transition:.2s ease; }
.services-panel-item:hover .services-arrow { opacity:1; transform:none; }
.primary-nav > ul > li.current-menu-item > .services-trigger { color:var(--brand-gold); }
.nav-phone { font-size:15px; }
.gold-btn,.nav-book { background:var(--brand-gold); border-color:var(--brand-gold); border-radius:2px; color:#fff; letter-spacing:0; text-transform:none; font-size:14px; font-weight:700; }
.nav-book { min-height:46px; padding-inline:21px; }
.white-btn { min-height:54px; padding:0 28px; border:0; border-radius:2px; background:#fff; color:#111; font:600 15px var(--sans); }

.reference-hero { min-height:720px; display:grid; place-items:center; position:relative; color:#fff; text-align:center; background:url('assets/images/aureline-hero.jpg') center/cover no-repeat; }
.reference-hero::before { content:""; position:absolute; inset:0; background:rgba(3,13,22,.62); }
.reference-hero-content { position:relative; z-index:1; max-width:950px; padding-block:90px; }
.hero-welcome { margin:0 0 18px; font-size:20px; }
.reference-hero h1 { max-width:900px; margin:0 auto 24px; color:#f5b900; font:700 clamp(38px,5vw,64px)/1.18 var(--sans); }
.reference-hero-content>p:not(.hero-welcome) { max-width:720px; margin:0 auto 25px; font-size:17px; }
.trust-card { width:min(520px,90vw); min-height:138px; margin:0 auto 24px; padding:18px 28px; display:flex; align-items:center; justify-content:center; gap:25px; border:2px solid rgba(255,255,255,.88); border-radius:18px; background:rgba(7,16,20,.36); backdrop-filter:blur(4px); }
.trust-g { font:700 84px/1 Arial; color:#4b86e8; text-shadow:-12px 0 #e64b12; }
.trust-divider { width:1px; height:82px; background:#fff; }
.trust-card strong { display:block; margin-bottom:7px; color:#31a657; font-size:19px; }
.trust-card b { margin-right:10px; font-size:18px; }.trust-card small{display:block;margin-top:7px}.stars{color:#f7b52c;letter-spacing:1px}

.dark-section { padding:80px 0; background:#0c1317; color:#fff; }
.reference-title { max-width:1040px; margin:0 auto 45px; text-align:center; }
.reference-title h2 { margin:0; color:var(--brand-gold); font:700 clamp(28px,3.1vw,38px)/1.15 var(--sans); }
.reference-title>span { display:block; width:45px; height:2px; margin:16px auto 20px; background:#fff; }
.reference-title p { margin:18px auto 0; color:#d8dcde; font-size:14px; line-height:1.75; }
.reference-title.dark-text h2 { color:#111820; }.reference-title.dark-text p{color:#626a6f}
.reference-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; max-width:1120px; margin:auto; }
.reference-service-card { overflow:hidden; border:7px solid #fff; border-radius:10px; background:#fff; color:#111; text-align:center; box-shadow:0 12px 34px rgba(0,0,0,.2); }
.reference-service-card img { width:100%; height:210px; object-fit:cover; border-radius:4px; }
.reference-service-card:nth-child(2) img { object-position:65% center; }
.reference-service-card>div { padding:10px 15px 20px; }
.reference-service-card h3 { margin:0 0 10px; font:700 20px var(--sans); }
.reference-service-card p { margin:0 0 13px; color:#363c40; font-size:13px; line-height:1.65; }
.reference-service-card a { color:#9c7922; font-size:12px; font-weight:700; }

.reference-fleet,.reference-reviews,.faq-page,.contact-page,.fleet-page,.services-page { padding:85px 0; }
.center-action { margin:36px 0 0; text-align:center; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.why-grid article { min-height:190px; padding:28px 20px; border:1px solid rgba(255,255,255,.15); text-align:center; }
.why-grid b { color:var(--brand-gold); font-size:38px; }.why-grid h3{margin:14px 0 8px;color:var(--brand-gold);font:600 15px var(--sans)}.why-grid p{margin:0;color:#e1e4e5;font-size:12px}
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1100px; margin:auto; }
.review-grid article { padding:20px; border-radius:8px; background:#f6f6f6; box-shadow:0 8px 30px rgba(0,0,0,.04); }
.review-head { display:flex; gap:12px; align-items:center; }.review-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#81959d;color:#fff}.review-head strong{font-size:12px}.review-head small{display:block;color:#7e8589;font-weight:400}.review-grid p{font-size:12px;line-height:1.55}.rating-summary{text-align:center;margin-top:22px;font-size:11px}

.inner-hero { min-height:310px; align-items:center; padding:70px 0; text-align:center; background:linear-gradient(rgba(5,10,13,.53),rgba(5,10,13,.53)),url('assets/images/chauffeur-welcome.jpg') center/cover; }
.inner-hero h1 { width:100%; font:600 clamp(40px,5vw,62px)/1.1 var(--sans); }
.about-intro,.values-section,.service-detail-intro,.service-steps { padding:80px 0; }
.about-grid,.service-detail-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:70px; align-items:center; }
.about-grid p,.service-detail-grid p{font-size:17px;color:#555e64}.about-grid img,.service-detail-grid img{width:100%;border-radius:4px;box-shadow:0 22px 60px rgba(0,0,0,.12)}
.why-exist { padding:80px 0; background:var(--brand-cream); text-align:center; }.why-exist h2{margin:0 0 20px;font:700 38px var(--sans)}.why-exist p{max-width:950px;margin:auto;font-size:17px}
.light-cards article { border-color:#ddd;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.05)}.light-cards p{color:#626a6f}
.reference-cta { padding:54px 0; background:#f7f7f7; }.reference-cta .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.reference-cta h2{margin:0;font:700 clamp(28px,4vw,42px) var(--sans);text-transform:uppercase}.reference-cta h2 span{color:var(--brand-gold)}.reference-cta p{margin:14px 0 0}

.faq-list { max-width:1120px; margin:auto; box-shadow:0 25px 55px rgba(0,0,0,.09); }.faq-item{padding:0 28px;background:#fff}.faq-question{font-family:var(--sans);font-size:15px;font-weight:700}.faq-answer p{padding:0 0 20px;margin:0;color:#62696d}.faq-item.open .faq-question{color:var(--brand-gold)}
.contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:30px; }.contact-cards article{padding:42px 20px;background:#f7f7f7;text-align:center}.contact-cards b{color:var(--brand-gold);font-size:34px}.contact-cards h2{margin:12px 0;font:700 25px var(--sans)}.contact-cards p{font-size:15px}
.contact-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:22px; }.service-map{min-height:580px;display:flex;align-items:end;padding:35px;background:linear-gradient(135deg,rgba(6,15,20,.25),rgba(6,15,20,.78)),url('assets/images/fleet-lineup.jpg') center/cover;color:#fff}.service-map h2{font:600 34px var(--sans)}.service-map a{color:var(--gold-light);font-weight:700}
.contact-map-embed{min-height:580px;border:1px solid #e7e7e7;background:#f2f2f2;overflow:hidden}.contact-map-embed iframe{display:block;width:100%;height:100%;min-height:580px}
@media(max-width:760px){.contact-map-embed{min-height:340px}.contact-map-embed iframe{min-height:340px}}
.contact-form { padding:42px;border:1px solid var(--brand-gold);box-shadow:0 8px 24px rgba(0,0,0,.08)}.contact-form h2{margin:0 0 35px;text-align:center;font:700 32px var(--sans);text-transform:uppercase}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea{width:100%;margin-top:10px;padding:12px;border:1px solid #bbb}.contact-form textarea{min-height:150px}.contact-form .full{grid-column:1/-1}.contact-status{min-height:28px;color:#8b6b1c}
.service-directory { display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-directory article{padding:40px;border:1px solid #ddd;background:#fafafa}.service-directory b{font-size:38px;color:var(--brand-gold)}.service-directory h2{font:700 28px var(--sans)}
.service-benefits{padding:80px 0}.service-steps{background:#f7f7f7}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.three-steps article{text-align:center;padding:30px}.three-steps b{width:55px;height:55px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#0d1418;color:var(--brand-gold);font-size:20px}.three-steps h3{font:700 22px var(--sans)}

.reference-footer { grid-template-columns:repeat(4,1fr); }.footer-button-link{padding:0;border:0;background:transparent;color:#899195;font-size:11px}.footer-bottom-bar{padding:18px;text-align:center;background:#b78e22;color:#fff}.footer-main .footer-col:last-child{grid-column:auto}

@media(max-width:1050px){.navline{grid-template-columns:1fr auto}.reference-card-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.service-detail-grid{gap:35px}.reference-footer{grid-template-columns:repeat(2,1fr)}.footer-main .footer-col:last-child{grid-column:auto}}
@media(max-width:760px){.brand-text{font-size:16px}.reference-hero{min-height:650px}.hero-welcome{font-size:15px}.reference-hero-content>p:not(.hero-welcome){font-size:14px}.trust-card{padding:15px;gap:14px}.trust-g{font-size:58px}.trust-divider{height:65px}.reference-card-grid,.review-grid,.why-grid,.contact-cards,.contact-grid,.service-directory,.three-steps,.about-grid,.service-detail-grid{grid-template-columns:1fr}.reference-card-grid{gap:20px}.why-grid{grid-template-columns:1fr 1fr}.reference-cta .container{display:block;text-align:center}.reference-cta .gold-btn{margin-top:24px}.contact-form{padding:28px 18px}.contact-form-grid{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.service-map{min-height:380px}.reference-footer{grid-template-columns:1fr 1fr}.about-grid img{order:-1}.inner-hero{min-height:250px}}

/* ============================================================
   Dedicated Service Pages: Airport Chauffeur / Corporate / Private Chauffeur
   ============================================================ */

/* Shared bottom-aligned banner hero used by the Corporate Transportation page */
.service-hero-banner { min-height:310px; display:flex; align-items:center; padding:55px 0; color:#fff; text-align:center; background-size:cover; background-position:center 48%; position:relative; }
.service-hero-banner::before { content:""; position:absolute; inset:0; background:rgba(5,10,13,.52); }
.service-hero-banner .container { position:relative; z-index:1; }
.service-hero-banner h1 { margin:0 auto; max-width:1050px; font:700 clamp(30px,5vw,52px)/1.18 var(--sans); }

/* Corporate page: intro grid (text + bullet list / image + button) */
.corporate-intro { padding:80px 0 20px; }
.corporate-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.corporate-intro-copy p { margin:0 0 26px; color:#40474c; font-size:16px; line-height:1.8; }
.corporate-list-heading { margin:0 0 16px; font:700 26px var(--sans); color:#111820; }
.corporate-list { margin:0 0 30px; padding-left:20px; color:#40474c; font-size:15px; line-height:2; }
.corporate-intro-media { text-align:center; }
.corporate-intro-media img { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:70% center; border-radius:3px; box-shadow:0 22px 55px rgba(0,0,0,.15); margin-bottom:26px; }

/* Corporate page: "Why Businesses Choose Us" + long-form body copy */
.corporate-why { padding:20px 0 10px; }
.corporate-body { padding:30px 0 75px; }
.corporate-body h2 { margin:0 0 22px; font:700 clamp(26px,3.4vw,36px) var(--sans); color:#111820; }
.corporate-body .wysiwyg-content p { margin:0 0 20px; color:#40474c; font-size:16px; line-height:1.85; }
.corporate-body .wysiwyg-content p:last-child { margin-bottom:0; }

/* Corporate page: dual-button CTA band */
.corporate-cta { padding:56px 0; background:#f7f7f7; }
.corporate-cta .container { display:flex; justify-content:space-between; align-items:center; gap:34px; flex-wrap:wrap; }
.corporate-cta h2 { margin:0; font:700 clamp(26px,3.6vw,42px) var(--sans); text-transform:uppercase; }
.corporate-cta h2 span { color:var(--brand-gold); }
.corporate-cta p { margin:14px 0 0; color:#525a5f; max-width:460px; }
.corporate-cta-buttons { display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
.corporate-cta-buttons .gold-btn { white-space:nowrap; }

/* Private Chauffeur Service page: hero with embedded review preview cards */
.hero-reviews-row { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1080px; margin:0 auto 20px; text-align:left; }
.hero-review-mini { position:relative; max-height:118px; overflow:hidden; padding:18px 20px; border-radius:10px; background:rgba(255,255,255,.95); box-shadow:0 16px 34px rgba(0,0,0,.28); color:#20262a; font-size:12.5px; line-height:1.65; }
.hero-review-mini::after { content:""; position:absolute; inset:auto 0 0; height:36px; background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.97)); }
.hero-rating-line { margin:0 0 14px; color:#f1f1f1; font-size:13px; letter-spacing:.02em; }
.hero-rating-line strong { color:var(--brand-gold); }
.hero-verified-badge { display:inline-flex; align-items:center; gap:6px; margin:0 0 24px; padding:7px 16px; border-radius:20px; background:#1f9d55; color:#fff; font-size:11px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; }

/* Shared closing paragraph section used across all three service pages */
.service-closing { padding:70px 0 85px; text-align:center; }
.service-closing h2 { margin:0 0 20px; font:700 clamp(26px,3.4vw,36px) var(--sans); }
.service-closing p { max-width:980px; margin:0 auto; color:#525a5f; font-size:16px; line-height:1.85; }

@media (max-width:1050px) {
  .corporate-intro-grid { grid-template-columns:1fr; gap:35px; }
  .hero-reviews-row { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .service-hero-banner { min-height:340px; padding:35px 0; }
  .corporate-cta .container { display:block; text-align:center; }
  .corporate-cta-buttons { align-items:center; margin-top:24px; }
  .hero-review-mini { max-height:none; }
  .hero-review-mini::after { display:none; }
}

/* Final responsive navigation pass: keep the service mega menu usable on
   tablets and phones after the desktop popup rules above. */
@media (max-width:1050px) {
  .primary-nav { overflow-y:auto; }
  .services-panel { position:static; width:100%; display:grid; grid-template-columns:1fr; gap:4px; margin:4px 0 10px; padding:0 6px; opacity:1; visibility:visible; transform:none; max-height:0; overflow:hidden; border-top:0; border-radius:0; box-shadow:none; transition:max-height .35s ease,padding .35s ease; }
  .menu-item-services.open .services-panel { max-height:430px; padding:10px 6px; transform:none; }
  .services-panel-item { padding:12px 10px; border:1px solid rgba(255,255,255,.08); }
  .services-panel-item:hover { padding-left:14px; }
  .primary-nav > ul > li::after { display:none; }
  .primary-nav > ul > li.current-menu-item > a,.primary-nav > ul > li.current-menu-item > .services-trigger { color:var(--brand-gold); }
}
@media (max-width:560px) {
  .nav-book { display:none; }
  .primary-nav { padding:110px 24px 30px; }
  .primary-nav a,.services-trigger { font-size:22px; }
  .services-copy strong { font-size:13px; }
  .services-copy small { font-size:10px; }
}

/* Reference-aligned About Us page */
.about-hero { min-height:310px; display:flex; align-items:center; position:relative; background-position:center 48%; background-size:cover; color:#fff; text-align:center; }
.about-hero::before { content:""; position:absolute; inset:0; background:rgba(4,11,15,.5); }
.about-hero .container { position:relative; z-index:1; }
.about-hero h1 { margin:0; font:600 clamp(40px,5vw,61px)/1.1 var(--sans); letter-spacing:-.02em; }
.about-intro { padding:50px 0 58px; background:#fff; }
.about-grid { grid-template-columns:.92fr 1.18fr; gap:36px; min-height:350px; }
.about-intro-copy { max-width:520px; }
.about-intro-copy p { margin:0 0 25px; color:#35404b; font-size:16px; line-height:1.65; }
.about-intro-copy p:last-child { margin-bottom:0; }
.about-intro-media img { width:100%; height:320px; object-fit:contain; border-radius:0; box-shadow:none; }
.why-exist { padding:63px 0 70px; background:#faf5e7; }
.why-exist h2 { margin-bottom:20px; color:#080b0d; font-size:36px; }
.why-exist p { max-width:1160px; color:#35404b; font-size:16px; line-height:1.7; }
.page-template-page-about-us .reference-cta { padding:40px 0 36px; }
.page-template-page-about-us .reference-cta h2 { font-size:clamp(28px,3.2vw,40px); }
.page-template-page-about-us .reference-cta p { color:#20262a; }
.page-template-page-about-us .reference-cta .gold-btn { min-width:340px; min-height:62px; }

/* Compact Contact information cards */
.contact-cards { max-width:900px; margin:0 auto 25px; gap:14px; }
.contact-cards article { min-height:142px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px 15px; }
.contact-cards b { font-size:26px; line-height:1; }
.contact-cards h2 { margin:8px 0 5px; font-size:19px; }
.contact-cards p { margin:0; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }

@media (max-width:760px) {
  .about-hero { min-height:250px; }
  .about-intro { padding:42px 0; }
  .about-grid { grid-template-columns:1fr; gap:28px; }
  .about-intro-copy { max-width:none; }
  .about-intro-media { order:initial; }
  .about-intro-media img { height:auto; max-height:300px; }
  .why-exist { padding:48px 0 52px; }
  .page-template-page-about-us .reference-cta .gold-btn { min-width:0; width:100%; }
  .contact-cards { grid-template-columns:1fr; max-width:420px; gap:10px; }
  .contact-cards article { min-height:118px; padding:16px 12px; }
}

/* ============================================================
   Fleet Page (dynamic Vehicle CPT + Vehicle Category taxonomy)
   ============================================================ */

/* Grayscale hero banner */
.fleet-hero { min-height: 420px; background-size: cover; background-position: center; background-color: #1a1e21; filter: grayscale(1) contrast(1.05); position: relative; }
.fleet-hero::after { content:""; position:absolute; inset:auto 0 0; height:120px; background:linear-gradient(transparent,rgba(5,10,13,.5)); }

/* Heading + eyebrow badge */
.fleet-heading-section { padding: 70px 0 85px; background: #eef1f4; text-align: center; }
.fleet-eyebrow-badge { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; padding: 9px 20px; border-radius: 999px; background: #111820; color: #fff; font: 700 12px var(--sans); letter-spacing: .03em; }
.fleet-heading { margin: 0 0 16px; font: 700 clamp(30px,4vw,44px)/1.15 var(--sans); color: #111820; }
.fleet-subheading { max-width: 640px; margin: 0 auto 42px; color: #5c6469; font-size: 16px; line-height: 1.7; }

/* Filter pill bar */
.fleet-filter-bar { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 auto 48px; padding: 8px; border-radius: 999px; background: #fff; box-shadow: 0 10px 30px rgba(17,24,32,.08); }
.fleet-filter-pill { border: 0; background: transparent; padding: 11px 22px; border-radius: 999px; color: #4a5257; font: 700 12.5px var(--sans); letter-spacing: .01em; transition: background .25s ease, color .25s ease, transform .2s ease; }
.fleet-filter-pill:hover { background: rgba(17,24,32,.06); }
.fleet-filter-pill.active { background: #111820; color: #fff; }
.fleet-filter-pill.active:hover { background: #111820; }

/* Vehicle grid + card */
.vehicle-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; text-align: left; }
.vehicle-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; background: #fff; border: 1px solid #ececec; border-radius: 14px; box-shadow: 0 18px 45px rgba(17,24,32,.07); transition: transform .4s ease, box-shadow .4s ease; }
.vehicle-card.fleet-hidden { display: none; }
.vehicle-card:hover { transform: translateY(-8px); box-shadow: 0 30px 60px rgba(17,24,32,.14); }
.vehicle-card-image { position: relative; height: 230px; overflow: hidden; background: #f1f1ef; }
.vehicle-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.3,1); }
.vehicle-crop-1 img { object-position: 2% 62%; transform: scale(1.15); }
.vehicle-crop-2 img { object-position: 32% 62%; transform: scale(1.15); }
.vehicle-crop-3 img { object-position: 63% 62%; transform: scale(1.15); }
.vehicle-crop-4 img { object-position: 96% 62%; transform: scale(1.15); }
.vehicle-card:hover .vehicle-card-image img { transform: scale(1.24); }
.vehicle-availability-badge { position: absolute; top: 14px; right: 14px; padding: 6px 12px; border-radius: 20px; color: #fff; font: 700 9.5px var(--sans); letter-spacing: .06em; text-transform: uppercase; }
.vehicle-availability-limited { background: #e64b12; }
.vehicle-availability-unavailable { background: #b23b3b; }
.vehicle-card-body { display: flex; flex-direction: column; flex: 1; padding: 26px 24px 24px; }
.vehicle-category-tag { display: inline-block; margin-bottom: 10px; color: var(--brand-gold); font: 700 10px var(--sans); letter-spacing: .09em; text-transform: uppercase; }
.vehicle-name { margin: 0 0 10px; font: 700 22px var(--sans); color: #111820; }
.vehicle-desc { margin: 0 0 20px; color: #5b6266; font-size: 13.5px; line-height: 1.65; }
.vehicle-features { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid #eee; list-style: none; }
.vehicle-features li { display: flex; align-items: center; gap: 6px; color: #454b4f; font-size: 12.5px; }
.vehicle-features li::before { content: "•"; color: var(--brand-gold); font-size: 18px; line-height: 0; }
.vehicle-features li strong { color: #111820; }
.vehicle-card-actions { display: flex; gap: 10px; margin-top: auto; }
.vehicle-btn-book, .vehicle-btn-quote { flex: 1; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; font: 700 11.5px var(--sans); letter-spacing: .04em; text-transform: uppercase; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.vehicle-btn-book { border: 0; background: #111820; color: #fff; }
.vehicle-btn-book:hover { background: var(--brand-gold); color: #111820; }
.vehicle-btn-book[disabled] { opacity: .5; cursor: not-allowed; }
.vehicle-btn-quote { border: 1px solid #111820; color: #111820; background: transparent; }
.vehicle-btn-quote:hover { background: #111820; color: #fff; }
.vehicle-grid-teaser { margin-bottom: 10px; }
.fleet-empty-state { text-align: center; padding: 50px 0 10px; color: #666; font-size: 15px; }
.fleet-empty-state a { color: var(--brand-gold); font-weight: 700; }

/* Stats band */
.fleet-stats-band .reference-title p { max-width: 620px; margin: 18px auto 0; }
.fleet-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; max-width: 1000px; margin: 44px auto 34px; }
.fleet-stat-card { padding: 34px 18px; text-align: center; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; }
.fleet-stat-icon { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 16px; border-radius: 50%; background: rgba(255,255,255,.08); font-size: 20px; }
.fleet-stat-number { display: block; margin-bottom: 6px; font: 700 30px var(--sans); color: #fff; }
.fleet-stat-label { display: block; color: #9aa1a5; font-size: 11.5px; letter-spacing: .05em; text-transform: uppercase; }

/* Reviews carousel */
.fleet-reviews-section { padding: 90px 0 100px; background: #fff; }
.fleet-reviews-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; }
.fleet-reviews-titles h2 { margin: 0 0 16px; font: 700 clamp(28px,3.4vw,38px)/1.22 var(--sans); color: #111820; }
.fleet-reviews-rating { display: flex; align-items: center; gap: 10px; margin: 0; color: #444; font-size: 14px; }
.fleet-reviews-rating strong { font-size: 19px; color: #111820; }
.fleet-review-star { color: #f7b52c; font-size: 18px; }
.fleet-quote-mark { flex: none; font: 700 96px/.5 Georgia,serif; color: var(--brand-gold); opacity: .32; }
.fleet-quote-heading { margin: 30px 0 36px; font: 700 20px var(--sans); color: #111820; }
.fleet-reviews-carousel { position: relative; overflow: hidden; }
.fleet-reviews-track { display: flex; gap: 24px; transition: transform .45s ease; }
.fleet-review-card { flex: 0 0 calc((100% - 48px) / 3); background: #f7f7f5; border: 1px solid #ececec; border-radius: 12px; padding: 28px 26px; }
.fleet-review-card .stars { margin-bottom: 14px; color: #f7b52c; font-size: 14px; letter-spacing: 2px; }
.fleet-review-card p { margin: 0 0 18px; color: #4b5257; font-size: 13.5px; line-height: 1.7; }
.fleet-review-card strong { color: #111820; font-size: 13px; }

@media (max-width: 1050px) {
  .vehicle-grid { grid-template-columns: repeat(2,1fr); }
  .fleet-stats-grid { grid-template-columns: repeat(2,1fr); }
  .fleet-review-card { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 760px) {
  .fleet-hero { min-height: 260px; }
  .fleet-heading-section { padding: 50px 0 60px; }
  .vehicle-grid { grid-template-columns: 1fr; }
  .fleet-stats-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .fleet-stat-card { padding: 24px 14px; }
  .fleet-reviews-head { flex-direction: column; gap: 12px; }
  .fleet-quote-mark { font-size: 70px; }
  .fleet-review-card { flex-basis: 100%; }
  .fleet-filter-bar { width: 100%; overflow-x: auto; justify-content: flex-start; -webkit-overflow-scrolling: touch; }
}

/* ============================================================
   Homepage Fleet teaser (matches reference homepage exactly)
   ============================================================ */
.home-fleet { padding: 85px 0; background: #fff; }
.home-fleet-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; margin: 0 0 42px; }
.home-fleet-tab { padding: 10px 20px; border: 1px solid transparent; border-radius: 999px; background:transparent; color: #4a5257; font: 700 13px var(--sans); transition: border-color .25s ease, color .25s ease, background .25s ease; }
.home-fleet-tab.active { border-color: var(--brand-gold); color: #4a5257; }
.home-fleet-tab:hover { border-color: var(--brand-gold); color: #111820; }
.home-fleet-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.home-fleet-card { text-align: center; }
.home-fleet-card-image { height: 200px; margin-bottom: 18px; overflow: hidden; border: 1px solid #eee; border-radius: 8px; background: #f7f5ef; }
.home-fleet-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.home-fleet-card:hover .home-fleet-card-image img { transform: scale(1.08); }
.home-fleet-card h3 { margin: 0 0 16px; font: 700 16px var(--sans); letter-spacing: .02em; color: #111820; text-transform: uppercase; }
.home-fleet-book-btn { width: 100%; min-height: 50px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border: 0; border-radius: 3px; background: var(--brand-gold); color: #fff; font: 700 13px var(--sans); transition: background .25s ease, transform .2s ease; }
.home-fleet-book-btn:hover { background: #c7a53f; transform: translateY(-2px); }
.home-fleet-grid { transition:opacity .16s ease,transform .16s ease; }
.home-fleet-grid.is-switching { opacity:.18; transform:translateY(5px); }
.home-fleet-grid[data-visible-count="2"] { max-width:800px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-inline:auto; }
.home-fleet-card[hidden] { display:none !important; }
.home-fleet-card.is-entering { animation:homeFleetCardIn .48s cubic-bezier(.2,.7,.3,1) both; animation-delay:var(--fleet-delay,0ms); }
@keyframes homeFleetCardIn { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
.home-fleet-card-image.home-fleet-sprite img { left:calc(var(--sprite-index) * -100%); width:calc(var(--sprite-count) * 100%); max-width:none; height:auto; object-fit:initial; transform:translateY(-50%); }
.home-fleet-card:hover .home-fleet-card-image.home-fleet-sprite img { transform:translateY(-50%) scale(1.015); }
.home-fleet-view-all { margin:36px 0 0; text-align:center; }
.home-fleet-view-all a { display:inline-flex; align-items:center; gap:12px; min-height:46px; padding:0 24px; border:1px solid #111820; border-radius:999px; color:#111820; font:700 12px var(--sans); transition:.25s ease; }
.home-fleet-view-all a:hover { background:#111820; color:#fff; transform:translateY(-2px); }

@media (max-width: 1050px) {
  .home-fleet-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .home-fleet-grid { grid-template-columns: 1fr; }
  .home-fleet-grid[data-visible-count="2"] { grid-template-columns:1fr; }
  .home-fleet-tabs { gap: 8px 14px; }
}
.trustindex-badge { display: inline-flex; align-items: center; gap: 6px; margin: 14px auto 0; padding: 6px 16px; border-radius: 20px; background: #1f9d55; color: #fff; font-size: 11px; font-weight: 700; position: relative; left: 50%; transform: translateX(-50%); width: max-content; }

/* Final reference-matched Home + Fleet pass */
.reference-hero { min-height: 760px; background-position:center; }
.reference-hero::before { background:linear-gradient(90deg,rgba(2,13,23,.74),rgba(2,13,23,.47)); }
.reference-hero-content { padding-block:105px 90px; }
.reference-hero h1 { max-width:860px; color:#f4b900; font-size:clamp(34px,4.3vw,57px); }
.hero-welcome { font-weight:500; }
.trust-card { width:min(550px,92vw); padding:16px 26px; }
.trust-google { font:700 80px/1 Arial,sans-serif; background:conic-gradient(from -40deg,#4285f4 0 26%,#34a853 26% 44%,#fbbc05 44% 67%,#ea4335 67% 83%,#4285f4 83%); color:transparent; background-clip:text; -webkit-background-clip:text; }
.trust-copy { min-width:190px; text-align:center; }
.trust-copy strong,.trust-copy small { display:block; }
.trust-copy b { margin-right:12px; }
.home-services { padding-block:70px 78px; }
.reference-title { margin-bottom:38px; }
.reference-title h2 { font-size:clamp(27px,2.8vw,36px); }
.reference-title p { max-width:1040px; line-height:1.65; }
.reference-card-grid { gap:32px; }
.reference-service-card { border-width:6px; }
.reference-service-card img { height:205px; }
.reference-service-card:first-child img { object-position:73% center; }
.reference-service-card.service-card-corporate img { object-position:95% center; }
.reference-service-card.service-card-chauffeur img { object-position:67% center; }
.reference-service-card h3 { font-size:18px; }
.home-fleet { padding:72px 0 80px; }
.home-fleet .reference-title { margin-bottom:22px; }
.home-fleet-tabs { gap:6px 18px; margin-bottom:30px; }
.home-fleet-tab { padding:8px 15px; font-size:11px; }
.home-fleet-card-image,.vehicle-card-image { position:relative; background:#fff; }
.home-fleet-card-image img,.vehicle-card-image img { position:absolute; top:53%; width:300%; max-width:none; height:auto; object-fit:initial; transform:translateY(-50%); transition:transform .45s ease; }
.vehicle-crop-1 img { left:0; object-position:initial; }
.vehicle-crop-2 img { left:-100%; object-position:initial; }
.vehicle-crop-3 img { left:-200%; object-position:initial; }
.home-fleet-card:hover .home-fleet-card-image img,.vehicle-card:hover .vehicle-card-image img { transform:translateY(-50%) scale(1.02); }
.home-fleet-card-image { height:190px; margin-bottom:12px; }
.home-fleet-card h3 { margin-bottom:13px; font-size:15px; }
.home-fleet-book-btn { min-height:45px; background:#e64b12; }
.why-us { padding-block:70px 78px; }
.why-grid article { min-height:190px; }
.why-grid b { display:block; height:43px; font-family:Arial,sans-serif; }
.reference-reviews { padding:70px 0 75px; }
.review-grid article { position:relative; min-height:190px; }
.review-head i { margin-left:auto; color:#4285f4; font-style:normal; font-weight:800; }
.review-grid .read-more { color:#8b9296; }

/* Fleet-specific header and announcement bar */
.page-template-page-fleet .site-header { background:#fff; color:#0d1114; }
.page-template-page-fleet .brand-text,.page-template-page-fleet .services-trigger { color:#0d1114; }
.page-template-page-fleet .menu-toggle span { background:#0d1114; }
.page-template-page-fleet .nav-book { background:#111; border-color:#111; border-radius:999px; color:#fff; }
.page-template-page-fleet .primary-nav > ul > li.current-menu-item > a { padding:30px 0; border-radius:0; background:transparent; color:#0d1114; }
.fleet-hero { min-height:480px; background-position:center 58%; filter:grayscale(1) contrast(1.12); }
.fleet-hero { overflow:hidden; background:#e8e4de; filter:none; }
.fleet-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; filter:grayscale(1) contrast(1.12); }
.fleet-heading-section { padding:55px 0 90px; background:#f1f3f6; }
.fleet-eyebrow-badge { margin-bottom:17px; padding:7px 17px; font-size:10px; }
.fleet-heading { font-size:clamp(30px,3.5vw,43px); }
.fleet-subheading { max-width:750px; margin-bottom:45px; color:#9aa2ad; }
.fleet-filter-bar { margin-bottom:32px; padding:6px; }
.fleet-filter-pill { padding:9px 24px; }
.vehicle-grid { gap:24px; }
.vehicle-card { border-radius:12px; box-shadow:0 10px 28px rgba(17,24,32,.1); }
.vehicle-card:hover { transform:translateY(-5px); }
.vehicle-card-image { height:245px; }
.vehicle-card-image.vehicle-sprite img { left:calc(var(--sprite-index) * -100%); width:calc(var(--sprite-count) * 100%); max-width:none; height:auto; object-fit:initial; transform:translateY(-50%); }
.vehicle-card:hover .vehicle-card-image.vehicle-sprite img { transform:translateY(-50%) scale(1.015); }
.vehicle-card-body { padding:22px 24px 24px; }
.vehicle-name { font-size:20px; }
.vehicle-desc { min-height:47px; color:#9aa2ad; }
.vehicle-features { padding-top:0; border:0; color:#707985; }
.vehicle-features li { font-size:11px; color:#737b85; }
.vehicle-features li::before { content:'•'; color:#111; }
.vehicle-card .vehicle-btn-book { width:100%; flex:none; min-height:45px; margin-top:auto; border-radius:5px; text-transform:none; }
.fleet-stats-band { padding:82px 0 86px; background:linear-gradient(120deg,#07090d,#1b1d21); }
.fleet-stats-band .reference-title h2 { color:#fff; }
.fleet-stats-band .reference-title p { color:#999fa8; }
.fleet-stats-grid { max-width:1160px; gap:18px; }
.fleet-stat-card { min-height:190px; padding:30px 18px; background:rgba(255,255,255,.045); }
.fleet-stat-number { font-size:27px; }
.fleet-stat-label { text-transform:none; letter-spacing:0; }
.fleet-stats-band .white-btn { min-height:43px; border-radius:999px; font-size:11px; }
.fleet-reviews-section { padding:78px 0 90px; }
.fleet-reviews-titles { text-align:center; }
.fleet-reviews-titles h2 { font-size:clamp(30px,3.4vw,42px); }
.fleet-reviews-rating { justify-content:center; }
.google-letter { color:#4285f4; font-size:25px; font-weight:800; }
.trust-star { color:#12a56b; font-size:25px; }
.fleet-reviews-layout { display:grid; grid-template-columns:125px 1fr; align-items:stretch; gap:30px; margin-top:50px; }
.fleet-quote-intro b { display:block; font:900 50px/.55 Georgia,serif; }
.fleet-quote-intro h3 { margin:20px 0 0; font:700 20px/1.42 var(--sans); }
.fleet-review-card { min-height:235px; padding:25px 22px; background:#fff; }
.fleet-review-card .stars { color:#111; font-size:12px; }
.fleet-review-card p { color:#9aa2ad; }

@media (max-width:1050px) {
  .page-template-page-fleet .primary-nav { color:#fff; }
  .page-template-page-fleet .services-trigger { color:#fff; }
  .reference-hero { min-height:690px; }
  .reference-card-grid { grid-template-columns:repeat(3,1fr); gap:18px; }
  .reference-service-card h3 { font-size:15px; }
  .vehicle-grid { grid-template-columns:repeat(3,1fr); }
  .vehicle-card-image { height:190px; }
}
@media (max-width:820px) {
  .reference-card-grid,.vehicle-grid { grid-template-columns:1fr; }
  .reference-service-card { max-width:520px; margin:auto; }
  .fleet-reviews-layout { grid-template-columns:1fr; }
  .fleet-quote-intro { display:flex; align-items:center; gap:15px; }
  .fleet-quote-intro h3 { margin:0; }
}
@media (max-width:760px) {
  .reference-hero { min-height:650px; }
  .reference-hero-content { padding-block:70px; }
  .reference-hero h1 { font-size:31px; }
  .trust-card { min-height:110px; }
  .trust-google { font-size:58px; }
  .home-fleet-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .fleet-hero { min-height:260px; }
  .fleet-filter-bar { flex-wrap:nowrap; }
  .vehicle-grid { grid-template-columns:1fr; }
  .vehicle-card-image { height:225px; }
  .fleet-stats-grid { grid-template-columns:1fr 1fr; }
  .fleet-stat-card { min-height:160px; }
  .fleet-review-card { flex-basis:100%; }
}

/* About Us v2 — Melbourne editorial layout */
.ccs-about-hero { min-height:410px; display:flex; align-items:center; position:relative; isolation:isolate; overflow:hidden; background-position:center 48%; background-size:cover; color:#fff; text-align:center; }
.ccs-about-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(5,12,16,.82),rgba(5,12,16,.38),rgba(5,12,16,.68)); }
.ccs-about-hero::after { content:""; position:absolute; inset:auto 0 0; height:5px; background:var(--brand-gold); }
.ccs-about-hero__content { padding:88px 0; }
.ccs-about-hero__content>span { display:inline-block; margin-bottom:18px; color:#f07a4d; font:700 11px var(--sans); letter-spacing:.22em; text-transform:uppercase; }
.ccs-about-hero h1 { max-width:900px; margin:0 auto; font:700 clamp(42px,5.5vw,70px)/1.06 var(--sans); letter-spacing:-.035em; }
.ccs-about-hero p { margin:20px 0 0; color:#edf0f1; font-size:17px; letter-spacing:.05em; }

.ccs-about-story { padding:88px 0 96px; background:#fff; }
.ccs-about-story__grid { display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:72px; }
.ccs-kicker { display:block; margin-bottom:13px; color:#a77d17; font:700 11px var(--sans); letter-spacing:.2em; text-transform:uppercase; }
.ccs-about-story h2 { margin:0 0 26px; color:#0b1115; font:700 clamp(32px,3.5vw,48px)/1.14 var(--sans); letter-spacing:-.03em; }
.ccs-about-story__copy>p { max-width:540px; margin:0 0 18px; color:#505960; font-size:16px; line-height:1.75; }
.ccs-about-points { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:32px; }
.ccs-about-points span { min-height:76px; display:flex; flex-direction:column; justify-content:center; padding:12px 10px; border:1px solid #e7e2d7; background:#fcfbf8; color:#6b7276; text-align:center; font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.ccs-about-points b { display:block; margin-bottom:3px; color:#11181c; font-size:17px; letter-spacing:0; text-transform:none; }
.ccs-about-story__media { min-height:420px; position:relative; padding:18px 18px 0 0; }
.ccs-about-story__media::before { content:""; position:absolute; top:0; right:0; width:72%; height:82%; border:2px solid var(--brand-gold); }
.ccs-about-story__media img { position:relative; z-index:1; width:100%; height:390px; object-fit:cover; border:0; background:#f8f5ee; box-shadow:0 26px 65px rgba(11,17,21,.13); }
.ccs-about-badge { position:absolute; z-index:2; right:0; bottom:0; min-width:205px; padding:20px 24px; background:#0d1418; color:#fff; box-shadow:0 14px 35px rgba(0,0,0,.18); }
.ccs-about-badge strong,.ccs-about-badge small { display:block; }
.ccs-about-badge strong { color:#e64b12; font-size:17px; }
.ccs-about-badge small { margin-top:3px; color:#abb1b4; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

.ccs-about-values { padding:86px 0 94px; background:#0d1418; color:#fff; }
.ccs-about-values__head { max-width:760px; margin:0 auto 46px; text-align:center; }
.ccs-about-values__head h2 { margin:0; font:700 clamp(32px,3.7vw,48px)/1.12 var(--sans); letter-spacing:-.03em; }
.ccs-about-values__head p { margin:18px auto 0; color:#b9c0c3; font-size:15px; line-height:1.75; }
.ccs-about-values .ccs-kicker { color:#e64b12; }
.ccs-about-values__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ccs-about-values__grid article { min-height:230px; padding:32px 28px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.025); transition:border-color .25s ease,transform .25s ease; }
.ccs-about-values__grid article:hover { transform:translateY(-4px); border-color:rgba(230,75,18,.65); }
.ccs-about-values__grid b { color:#e64b12; font-size:13px; letter-spacing:.15em; }
.ccs-about-values__grid h3 { margin:25px 0 12px; color:#fff; font:700 20px var(--sans); }
.ccs-about-values__grid p { margin:0; color:#b5bdc0; font-size:14px; line-height:1.75; }

.ccs-about-purpose { padding:82px 0 88px; position:relative; overflow:hidden; background:#f8f1df; text-align:center; }
.ccs-about-purpose::before { content:'CCS'; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:rgba(183,142,34,.055); font:800 210px/1 var(--sans); letter-spacing:.08em; }
.ccs-about-purpose .container { position:relative; }
.ccs-about-purpose h2 { margin:0 0 18px; color:#0c1114; font:700 clamp(32px,3.5vw,44px)/1.15 var(--sans); }
.ccs-about-purpose p { max-width:820px; margin:0 auto; color:#475159; font-size:16px; line-height:1.75; }

.ccs-about-cta { padding:50px 0; background:#f7f7f7; }
.ccs-about-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.ccs-about-cta h2 { margin:0; color:#0c1114; font:700 clamp(32px,3.7vw,48px)/1.1 var(--sans); text-transform:uppercase; }
.ccs-about-cta p { margin:12px 0 0; color:#555e63; }
.ccs-about-cta .gold-btn { flex:none; min-width:270px; min-height:60px; }

/* Premium Why Choose Us interactions — GPU-friendly transforms and opacity. */
.why-grid article { position:relative; isolation:isolate; overflow:hidden; transform:translateZ(0); backface-visibility:hidden; transition:transform .38s cubic-bezier(.22,.72,.24,1),border-color .38s ease,box-shadow .38s ease; }
.why-grid article::before { content:""; position:absolute; z-index:-2; inset:-35%; background:radial-gradient(circle at 50% 15%,rgba(235,205,111,.22),rgba(230,75,18,.06) 32%,transparent 66%); opacity:0; transform:scale(.8); transition:opacity .4s ease,transform .5s cubic-bezier(.22,.72,.24,1); pointer-events:none; }
.why-grid article::after { content:""; position:absolute; z-index:-1; inset:1px; border:1px solid rgba(232,205,125,.5); box-shadow:inset 0 0 20px rgba(230,75,18,.06); opacity:0; transition:opacity .38s ease; pointer-events:none; }
.why-grid article > * { position:relative; z-index:1; }
@media (hover:hover) and (pointer:fine) {
  .why-grid article { will-change:transform; }
  .why-grid article:hover { transform:translate3d(0,-8px,0) scale(1.018); border-color:rgba(224,196,112,.62); box-shadow:0 18px 42px rgba(0,0,0,.3),0 0 24px rgba(230,75,18,.08); }
  .why-grid article:hover::before { opacity:1; transform:scale(1); }
  .why-grid article:hover::after { opacity:1; }
}

/* Shared infinite testimonial carousel used by Home, service and Fleet pages. */
.premium-carousel-viewport { position:relative; overflow:hidden; touch-action:pan-y; cursor:grab; }
.premium-carousel-viewport.is-dragging { cursor:grabbing; }
.reference-reviews .premium-carousel-viewport { max-width:1100px; margin:0 auto; padding:8px 2px 12px; }
.premium-carousel-track,.review-grid.premium-carousel-track { display:flex; width:100%; max-width:none; grid-template-columns:none; gap:24px; margin:0; will-change:transform; user-select:none; }
.premium-carousel-track > * { flex-grow:0; flex-shrink:0; transition:opacity .28s ease,box-shadow .3s ease; }
.premium-carousel-track.is-moving > * { opacity:.82; }
.premium-carousel-track .carousel-clone { pointer-events:none; }
.testimonial-controls,.fleet-reviews-controls { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:24px; }
.premium-carousel-arrow,.fleet-review-arrow { width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid rgba(183,142,34,.55); border-radius:50%; background:#fff; color:#111820; box-shadow:0 8px 22px rgba(17,24,32,.08); font-size:17px; line-height:1; transition:transform .24s cubic-bezier(.22,.72,.24,1),background-color .24s ease,color .24s ease,border-color .24s ease,box-shadow .24s ease; }
.premium-carousel-arrow:hover,.fleet-review-arrow:hover { transform:scale(1.08); border-color:var(--brand-gold); background:var(--brand-gold); color:#111820; box-shadow:0 10px 26px rgba(183,142,34,.26),0 0 18px rgba(230,75,18,.2); }
.premium-carousel-arrow:focus-visible,.fleet-review-arrow:focus-visible { outline:2px solid var(--brand-gold); outline-offset:3px; }
.premium-carousel-arrow:active,.fleet-review-arrow:active { transform:scale(.96); }
.premium-carousel-arrow:disabled,.fleet-review-arrow:disabled { opacity:.38; cursor:not-allowed; transform:none; box-shadow:none; }

@media (max-width:760px) {
  .premium-carousel-track,.review-grid.premium-carousel-track { gap:16px; }
  .premium-carousel-arrow,.fleet-review-arrow { width:42px; height:42px; }
}

/* ============================================================
   Chauffeurs Car Service v4 — Premium Black + Crimson Identity
   Visual-only layer: no layout, spacing, content or behavior changes.
   ============================================================ */
:root {
  --ink:#070707;
  --ink-2:#111111;
  --paper:#070707;
  --white:#fff;
  --gold:#e64b12;
  --gold-light:#e64b12;
  --muted:#c8c8c8;
  --line:rgba(230,75,18,.24);
  --shadow:0 26px 70px rgba(0,0,0,.58),0 0 24px rgba(230,75,18,.08);
  --brand-gold:#e64b12;
  --brand-dark:#070707;
  --brand-cream:#111111;
  color-scheme:dark;
}

html { scrollbar-color:#e64b12 #070707; }
body {
  color:#c8c8c8;
  background-color:#070707;
  background-image:radial-gradient(circle at 88% 9%,rgba(230,75,18,.13),transparent 24%),radial-gradient(circle at 4% 48%,rgba(168,50,12,.1),transparent 27%),linear-gradient(145deg,#070707,#0c0c0c 52%,#070707);
  background-attachment:fixed;
}
body::-webkit-scrollbar { width:10px; }
body::-webkit-scrollbar-track { background:#070707; }
body::-webkit-scrollbar-thumb { border:2px solid #070707; border-radius:10px; background:linear-gradient(#e64b12,#a8320c); }
::selection { color:#fff; background:#e64b12; }

h1,h2,h3,h4,h5,h6,.section-title,.section-title.light,.reference-title h2,.reference-title.dark-text h2,.fleet-heading,.fleet-reviews-titles h2,.corporate-body h2,.corporate-list-heading,.service-closing h2,.ccs-about-story h2,.ccs-about-purpose h2,.ccs-about-cta h2,.ccs-about-values__head h2 { color:#fff; }
p,.section-copy,.section-copy.light,.reference-title p,.reference-title.dark-text p,.fleet-subheading,.vehicle-desc,.fleet-review-card p,.review-grid p,.service-closing p,.corporate-intro-copy p,.corporate-body .wysiwyg-content p,.ccs-about-story__copy>p,.ccs-about-purpose p,.ccs-about-cta p,.ccs-about-values__head p,.ccs-about-values__grid p { color:#c8c8c8; }
.eyebrow,.ccs-kicker,.reference-title .eyebrow,.vehicle-category-tag,.stars,.trust-star { color:#e64b12; }

/* Layered section surfaces */
.home-fleet,.reference-reviews,.faq-page,.contact-page,.services-page,.fleet-heading-section,.fleet-reviews-section,.about-intro,.values-section,.service-detail-intro,.service-steps,.corporate-intro,.corporate-why,.corporate-body,.service-closing,.ccs-about-story,.ccs-about-purpose,.ccs-about-cta {
  color:#c8c8c8;
  background-color:#0a0a0a;
  background-image:radial-gradient(circle at 90% 12%,rgba(230,75,18,.1),transparent 25%),linear-gradient(135deg,#070707,#111 54%,#090909);
}
.dark-section,.why-us,.service-benefits,.fleet-stats-band,.ccs-about-values {
  color:#fff;
  background-color:#070707;
  background-image:radial-gradient(circle at 50% -10%,rgba(230,75,18,.15),transparent 34%),linear-gradient(150deg,#050505,#111 58%,#070707);
}
.home-services { background-color:#070707; background-image:radial-gradient(circle at 12% 20%,rgba(230,75,18,.13),transparent 28%),linear-gradient(145deg,#070707,#111); }
.reference-cta,.corporate-cta { color:#fff; background:linear-gradient(115deg,#090909,#151515 50%,#120006); border-block:1px solid rgba(230,75,18,.22); }

/* Transparent black navigation + crimson active indicator */
.site-header,.site-header.scrolled,.page-template-page-fleet .site-header {
  color:#fff;
  background:rgba(7,7,7,.94);
  border-bottom:1px solid rgba(230,75,18,.18);
  box-shadow:0 8px 28px rgba(0,0,0,.34);
  backdrop-filter:blur(16px) saturate(130%);
}
.brand-text,.page-template-page-fleet .brand-text,.nav-phone,.primary-nav a,.services-trigger,.page-template-page-fleet .services-trigger { color:#fff; }
.primary-nav > ul > li:hover > a,.primary-nav > ul > li.current-menu-item > a,.menu-item-services:hover .services-trigger,.menu-item-services.open .services-trigger,.primary-nav > ul > li.current-menu-item > .services-trigger { color:#e64b12; }
.primary-nav > ul > li::after { background:linear-gradient(90deg,#a8320c,#e64b12,#a8320c); box-shadow:0 0 12px rgba(230,75,18,.62); }
.services-chevron,.services-arrow { color:#e64b12; }
.services-panel { background:linear-gradient(145deg,rgba(7,7,7,.98),rgba(20,20,20,.98)); border-color:#e64b12; box-shadow:0 28px 70px rgba(0,0,0,.72),0 0 26px rgba(230,75,18,.14); }
.services-panel-item { color:#fff; border-color:rgba(230,75,18,.1); }
.services-panel-item:hover,.services-panel-item:focus-visible,.services-panel-item[aria-current="page"] { background:linear-gradient(100deg,rgba(230,75,18,.24),rgba(230,75,18,.07)); }
.services-icon { color:#e64b12; border-color:rgba(230,75,18,.55); background:rgba(230,75,18,.08); }
.services-copy small { color:#a9a9a9; }
.menu-toggle span,.page-template-page-fleet .menu-toggle span { background:#fff; }

/* Glossy primary and red-bordered secondary controls */
.gold-btn,.nav-book,.home-fleet-book-btn,.vehicle-btn-book,.fleet-filter-pill.active,.fleet-filter-pill.active:hover,.floating-action {
  color:#fff;
  border-color:#e64b12;
  background:linear-gradient(145deg,#e64b12 0%,#e64b12 52%,#a8320c 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px rgba(230,75,18,.26);
}
.gold-btn:hover,.nav-book:hover,.home-fleet-book-btn:hover,.vehicle-btn-book:hover,.floating-action:hover {
  color:#fff;
  border-color:#e64b12;
  background:#070707;
  box-shadow:0 0 0 1px rgba(230,75,18,.72),0 12px 30px rgba(230,75,18,.27),0 0 18px rgba(230,75,18,.16);
}
.white-btn,.outline-btn,.vehicle-btn-quote,.home-fleet-view-all a {
  color:#fff;
  border-color:#e64b12;
  background:#070707;
  box-shadow:0 8px 22px rgba(0,0,0,.32);
}
.white-btn:hover,.outline-btn:hover,.vehicle-btn-quote:hover,.home-fleet-view-all a:hover {
  color:#fff;
  border-color:#e64b12;
  background:#e64b12;
  box-shadow:0 0 20px rgba(230,75,18,.25);
}

/* Matte-black glass cards */
.reference-service-card,.home-fleet-card,.vehicle-card,.review-grid article,.fleet-review-card,.contact-cards article,.service-directory article,.three-steps article,.why-grid article,.fleet-stat-card,.ccs-about-values__grid article {
  color:#fff;
  border-color:rgba(230,75,18,.58);
  background-color:#111;
  background-image:linear-gradient(145deg,rgba(255,255,255,.035),rgba(168,50,12,.08) 70%,rgba(230,75,18,.035));
  box-shadow:0 18px 45px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.025);
}
.reference-service-card:hover,.home-fleet-card:hover,.vehicle-card:hover,.review-grid article:hover,.fleet-review-card:hover,.contact-cards article:hover,.service-directory article:hover,.three-steps article:hover,.fleet-stat-card:hover {
  border-color:#e64b12;
  box-shadow:0 24px 55px rgba(0,0,0,.62),0 0 24px rgba(230,75,18,.17);
}
.reference-service-card h3,.home-fleet-card h3,.vehicle-name,.review-head strong,.fleet-review-card strong,.contact-cards h2,.service-directory h2,.three-steps h3,.why-grid h3,.ccs-about-values__grid h3 { color:#fff; }
.reference-service-card p,.why-grid p,.contact-cards p,.service-directory p,.three-steps p { color:#c8c8c8; }
.reference-service-card a,.why-grid b,.why-grid h3,.contact-cards b,.service-directory b,.three-steps b,.fleet-stat-icon,.ccs-about-values__grid b { color:#e64b12; }
.reference-service-card { border-color:#a8320c; }
.home-fleet-card-image,.vehicle-card-image { border-color:rgba(230,75,18,.42); background:#0b0b0b; }
.vehicle-card-body { background:linear-gradient(180deg,#111,#0a0a0a); }
.vehicle-features { border-color:rgba(200,200,200,.14); }
.vehicle-features li,.vehicle-features li strong { color:#c8c8c8; }
.vehicle-features li::before { color:#e64b12; }

/* Fleet filters, presentation and statistics */
.fleet-filter-bar { background:#0b0b0b; border:1px solid rgba(230,75,18,.45); box-shadow:0 14px 34px rgba(0,0,0,.52); }
.fleet-filter-pill { color:#c8c8c8; }
.fleet-filter-pill:hover { color:#fff; background:rgba(230,75,18,.22); }
.fleet-eyebrow-badge { color:#fff; background:linear-gradient(145deg,#e64b12,#a8320c); box-shadow:0 8px 20px rgba(230,75,18,.28); }
.fleet-hero::after { background:linear-gradient(transparent,rgba(7,7,7,.78) 72%,rgba(168,50,12,.36)); }
.fleet-stat-card { border-color:rgba(230,75,18,.35); }
.fleet-stat-icon { background:rgba(230,75,18,.18); }
.fleet-stat-number { color:#fff; }
.fleet-stat-label { color:#a9a9a9; }

/* Testimonials and premium carousel controls */
.review-head>span { color:#fff; background:linear-gradient(145deg,#e64b12,#a8320c); box-shadow:0 0 16px rgba(230,75,18,.22); }
.review-head small,.rating-summary,.review-grid .read-more,.fleet-reviews-rating,.fleet-reviews-rating small { color:#a9a9a9; }
.trustindex-badge,.hero-verified-badge { color:#fff; background:linear-gradient(145deg,#e64b12,#a8320c); box-shadow:0 8px 20px rgba(230,75,18,.25); }
.premium-carousel-arrow,.fleet-review-arrow { color:#fff; border-color:#e64b12; background:#0a0a0a; box-shadow:0 8px 22px rgba(0,0,0,.48),0 0 12px rgba(230,75,18,.08); }
.premium-carousel-arrow:hover,.fleet-review-arrow:hover { color:#fff; border-color:#e64b12; background:linear-gradient(145deg,#e64b12,#a8320c); box-shadow:0 10px 28px rgba(230,75,18,.32),0 0 20px rgba(230,75,18,.22); }
.premium-carousel-arrow:focus-visible,.fleet-review-arrow:focus-visible { outline-color:#e64b12; }
.google-letter { color:#e64b12; }

/* FAQ, contact, forms and booking popup */
.faq-list { border:1px solid rgba(230,75,18,.35); background:#0b0b0b; box-shadow:0 24px 55px rgba(0,0,0,.55); }
.faq-item { color:#fff; border-color:rgba(200,200,200,.12); background:linear-gradient(120deg,#0b0b0b,#111); }
.faq-question { color:#fff; }
.faq-item.open .faq-question,.faq-question:hover { color:#e64b12; }
.faq-answer p { color:#c8c8c8; }
.contact-form,.booking-panel { color:#fff; border-color:#e64b12; background:linear-gradient(145deg,#080808,#151515); box-shadow:0 28px 70px rgba(0,0,0,.68),0 0 30px rgba(230,75,18,.11); }
.contact-form input,.contact-form textarea,.booking-panel input,.booking-panel select,.booking-panel textarea {
  color:#fff;
  border-color:rgba(230,75,18,.52);
  background:#080808;
  box-shadow:inset 0 1px 8px rgba(0,0,0,.45);
}
.contact-form input:focus,.contact-form textarea:focus,.booking-panel input:focus,.booking-panel select:focus,.booking-panel textarea:focus { outline:1px solid #e64b12; border-color:#e64b12; box-shadow:0 0 16px rgba(230,75,18,.16); }
.contact-form label,.booking-panel label { color:#c8c8c8; }
.modal-close { color:#fff; border-color:#e64b12; background:#0a0a0a; }
.modal-close:hover { color:#fff; background:#e64b12; box-shadow:0 0 16px rgba(230,75,18,.24); }
.booking-modal { background:rgba(0,0,0,.9); }
.contact-map-embed { border-color:rgba(230,75,18,.42); background:#0a0a0a; filter:grayscale(.75) contrast(1.08); }

/* About, service pages and visual dividers */
.ccs-about-hero::before { background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(168,50,12,.25),rgba(0,0,0,.78)); }
.ccs-about-hero::after { background:linear-gradient(90deg,#a8320c,#e64b12,#a8320c); box-shadow:0 0 18px rgba(230,75,18,.35); }
.ccs-about-hero__content>span,.ccs-about-badge strong { color:#e64b12; }
.ccs-about-story__media::before { border-color:#e64b12; }
.ccs-about-story__media img { box-shadow:0 26px 65px rgba(0,0,0,.62),0 0 22px rgba(230,75,18,.1); }
.ccs-about-badge { color:#fff; background:#070707; border:1px solid #a8320c; }
.ccs-about-points span { color:#c8c8c8; border-color:rgba(230,75,18,.45); background:#101010; }
.ccs-about-points b { color:#fff; }
.ccs-about-purpose::before { color:rgba(230,75,18,.08); }
.service-hero-banner::before { background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(168,50,12,.24),rgba(0,0,0,.7)); }
.corporate-list { color:#c8c8c8; }
.corporate-intro-media img,.service-detail-grid img { border:1px solid rgba(230,75,18,.42); box-shadow:0 22px 55px rgba(0,0,0,.58),0 0 20px rgba(230,75,18,.1); }
.three-steps b { color:#fff; background:linear-gradient(145deg,#e64b12,#a8320c); }

/* Footer */
.site-footer { color:#c8c8c8; background-color:#050505; background-image:radial-gradient(circle at 80% 15%,rgba(230,75,18,.13),transparent 28%),linear-gradient(145deg,#050505,#111); border-top:1px solid rgba(230,75,18,.38); }
.footer-col h3 { color:#fff; }
.footer-col a,.footer-col p,.footer-button-link { color:#a9a9a9; }
.footer-col a:hover,.footer-button-link:hover { color:#e64b12; }
.footer-bottom-bar { color:#fff; background:linear-gradient(90deg,#390009,#a8320c,#e64b12,#a8320c,#390009); border-top:1px solid rgba(230,75,18,.35); }

@media (max-width:1050px) {
  .primary-nav { background:rgba(7,7,7,.985); }
  .primary-nav a,.services-trigger { color:#fff; border-color:rgba(230,75,18,.25); }
  .services-panel { background:#0b0b0b; }
}

/* High-specificity cleanup for legacy gold/light component rules. */
.reference-hero::before { background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(168,50,12,.2),rgba(0,0,0,.66)); }
.reference-hero h1 { color:#fff; text-shadow:0 4px 30px rgba(0,0,0,.72),0 0 20px rgba(230,75,18,.14); }
.trust-card { border-color:rgba(230,75,18,.72); background:linear-gradient(145deg,rgba(7,7,7,.76),rgba(168,50,12,.18)); box-shadow:0 18px 45px rgba(0,0,0,.42),0 0 18px rgba(230,75,18,.12); }
.trust-card strong,.trust-card b,.trust-card small { color:#fff; }
.trust-g,.trust-google { color:#e64b12; background:none; -webkit-text-fill-color:#e64b12; text-shadow:0 0 18px rgba(230,75,18,.22); }
.review-head i,.fleet-review-card .stars,.review-grid .stars { color:#e64b12; }
.home-fleet-tab { color:#c8c8c8; }
.home-fleet-tab.active { color:#fff; border-color:#e64b12; background:rgba(230,75,18,.18); box-shadow:0 0 14px rgba(230,75,18,.1); }
.home-fleet-tab:hover { color:#fff; border-color:#e64b12; background:rgba(230,75,18,.12); }
.page-template-page-fleet .nav-book { color:#fff; border-color:#e64b12; background:linear-gradient(145deg,#e64b12,#e64b12 55%,#a8320c); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 24px rgba(230,75,18,.26); }
.page-template-page-fleet .nav-book:hover { color:#fff; border-color:#e64b12; background:#070707; box-shadow:0 0 18px rgba(230,75,18,.2); }
.page-template-page-fleet .primary-nav > ul > li.current-menu-item > a { color:#e64b12; background:transparent; }
.fleet-hero { background:#070707; }
.fleet-reviews-rating strong { color:#fff; }
.reference-service-card,.home-fleet-card,.vehicle-card,.review-grid article,.fleet-review-card,.contact-cards article,.service-directory article,.three-steps article,.why-grid article,.fleet-stat-card,.ccs-about-values__grid article { outline:1px solid rgba(230,75,18,.38); outline-offset:-1px; }
.why-grid article::before { background:radial-gradient(circle at 50% 15%,rgba(230,75,18,.2),rgba(230,75,18,.07) 34%,transparent 67%); }
.why-grid article::after { border-color:rgba(230,75,18,.54); box-shadow:inset 0 0 20px rgba(230,75,18,.08); }
@media (hover:hover) and (pointer:fine) {
  .why-grid article:hover { border-color:rgba(230,75,18,.68); box-shadow:0 18px 42px rgba(0,0,0,.5),0 0 24px rgba(230,75,18,.17); }
}

/* Navigation indicator correction: attach the line to the text control,
   never to the short parent li box that placed it above the label. */
.primary-nav > ul > li::after { display:none; }
.primary-nav > ul > li > a,.primary-nav > ul > li > .services-trigger { position:relative; }
.primary-nav > ul > li > a::after,.primary-nav > ul > li > .services-trigger::after {
  content:"";
  display:block;
  position:absolute;
  left:50%;
  bottom:18px;
  width:0;
  height:2px;
  border-radius:2px;
  background:#e64b12;
  box-shadow:0 0 10px rgba(230,75,18,.42);
  transform:translateX(-50%);
  transition:width 300ms ease;
}
.primary-nav > ul > li:hover > a::after,
.primary-nav > ul > li:focus-within > a::after,
.primary-nav > ul > li.current-menu-item > a::after,
.primary-nav > ul > li:hover > .services-trigger::after,
.primary-nav > ul > li:focus-within > .services-trigger::after,
.primary-nav > ul > li.current-menu-item > .services-trigger::after { width:100%; }

@media (max-width:1050px) {
  .primary-nav > ul > li > a::after,.primary-nav > ul > li > .services-trigger::after { display:none; }
}

@media (max-width:900px) {
  .ccs-about-story__grid { grid-template-columns:1fr; gap:52px; }
  .ccs-about-story__copy { max-width:690px; }
  .ccs-about-story__media { min-height:390px; }
  .ccs-about-story__media img { height:360px; }
  .ccs-about-values__grid { grid-template-columns:1fr; }
  .ccs-about-values__grid article { min-height:0; }
}
@media (max-width:760px) {
  .ccs-about-hero { min-height:360px; }
  .ccs-about-hero__content { padding:68px 0; }
  .ccs-about-hero h1 { font-size:39px; }
  .ccs-about-hero p { font-size:14px; }
  .ccs-about-story { padding:58px 0 66px; }
  .ccs-about-story h2 br { display:none; }
  .ccs-about-points { grid-template-columns:1fr; }
  .ccs-about-points span { min-height:62px; }
  .ccs-about-story__media { min-height:310px; padding:12px 12px 0 0; }
  .ccs-about-story__media img { height:285px; }
  .ccs-about-badge { min-width:180px; padding:15px 18px; }
  .ccs-about-purpose { padding:62px 0 68px; }
  .ccs-about-values { padding:62px 0 68px; }
  .ccs-about-values__head { margin-bottom:30px; }
  .ccs-about-values__grid article { padding:25px 22px; }
  .ccs-about-purpose::before { font-size:115px; }
  .ccs-about-cta__inner { display:block; text-align:center; }
  .ccs-about-cta .gold-btn { width:100%; min-width:0; margin-top:28px; }
}

/* ==========================================================
   v4.3 — Chauffeurs Car Service brand and layout alignment
   ========================================================== */
:root {
  --brand-primary:#e64b12;
  --brand-primary-dark:#a8320c;
  --brand-primary-soft:#f07a4d;
  --brand-ink:#070707;
  --brand-charcoal:#111111;
  --brand-silver:#c8c8c8;
  --font-sans:"Poppins","Segoe UI",Arial,sans-serif;
  --section-space:clamp(64px,7vw,88px);
}

html { scrollbar-color:var(--brand-primary) var(--brand-ink); }
body,
button,
input,
select,
textarea { font-family:var(--font-sans); }

h1,h2,h3,h4,h5,h6 {
  font-family:var(--font-sans);
  letter-spacing:-.025em;
  text-wrap:balance;
}
h1 { font-weight:700; line-height:1.1; }
h2 { font-weight:700; line-height:1.18; }
h3 { font-weight:600; line-height:1.3; }

.reference-hero h1,
.inner-hero h1,
.service-hero-banner h1,
.ccs-about-hero h1 { font-size:clamp(36px,5vw,60px); }
.fleet-heading { font-size:clamp(32px,4vw,46px); }
.reference-title h2,
.ccs-about-story h2,
.ccs-about-purpose h2,
.ccs-about-values h2,
.fleet-reviews-titles h2 { font-size:clamp(28px,3.2vw,42px); }
.reference-service-card h3,
.home-fleet-card h3,
.vehicle-card h3,
.why-grid h3 { font-size:clamp(17px,1.5vw,21px); }

.site-header {
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(7,7,7,.94);
  border-bottom:1px solid rgba(230,75,18,.2);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
}
.brand { line-height:1.1; }
.primary-nav > ul { column-gap:clamp(22px,2.4vw,34px); }

.gold-btn,
.nav-book,
.vehicle-btn-book,
.home-fleet-book-btn,
.contact-form button[type="submit"],
.booking-panel button[type="submit"] {
  border-color:var(--brand-primary);
  background:linear-gradient(135deg,var(--brand-primary-soft) 0,var(--brand-primary) 48%,var(--brand-primary-dark) 100%);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 12px 28px rgba(230,75,18,.24);
}
.gold-btn:hover,
.nav-book:hover,
.vehicle-btn-book:hover,
.home-fleet-book-btn:hover,
.contact-form button[type="submit"]:hover,
.booking-panel button[type="submit"]:hover {
  border-color:var(--brand-primary);
  background:var(--brand-ink);
  color:#fff;
  box-shadow:0 0 0 1px rgba(230,75,18,.38),0 0 22px rgba(230,75,18,.24);
}

.home-fleet-tab.active,
.fleet-filter-pill.active {
  border-color:var(--brand-primary);
  background:var(--brand-primary);
  color:#fff;
  box-shadow:0 8px 24px rgba(230,75,18,.24);
}

.reference-service-card,
.home-fleet-card,
.vehicle-card,
.fleet-stat-card,
.fleet-review-card,
.review-grid article,
.why-grid article,
.contact-cards article,
.service-directory article,
.three-steps article,
.ccs-about-values__grid article {
  background-color:var(--brand-charcoal);
  border-color:rgba(230,75,18,.36);
}

.reference-hero::before {
  background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(168,50,12,.18),rgba(0,0,0,.68));
}

.footer-main { align-items:start; }
.footer-col h3 { color:#fff; }
.footer-col a:hover,
.footer-button-link:hover { color:var(--brand-primary); }
.footer-socials { display:flex; gap:10px; margin-top:20px; }
.footer-socials a {
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border:1px solid rgba(230,75,18,.5);
  border-radius:50%;
  color:#fff;
  background:#111;
  transition:transform .35s cubic-bezier(.22,1,.36,1),background-color .35s ease,box-shadow .35s ease;
}
.footer-socials a:hover {
  color:#fff;
  background:var(--brand-primary);
  transform:translateY(-3px);
  box-shadow:0 0 18px rgba(230,75,18,.3);
}
.footer-socials svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.footer-bottom-bar { background:var(--brand-primary); color:#fff; }

::selection { background:var(--brand-primary); color:#fff; }

@media (max-width:760px) {
  :root { --section-space:56px; }
  .reference-hero h1,
  .inner-hero h1,
  .service-hero-banner h1,
  .ccs-about-hero h1 { font-size:clamp(34px,10vw,42px); }
}

@media (prefers-reduced-motion:reduce) {
  .footer-socials a { transition:none; }
}
