:root{
    --navy:#061426;
    --navy-2:#0b1d35;
    --gold:#f8bd08;
    --gold-2:#ffd54a;
    --ink:#0f172a;
    --muted:#677085;
    --line:#e5e9f2;
    --soft:#f5f7fb;
    --white:#ffffff;
    --shadow:0 24px 70px rgba(4, 16, 31, .22);
    --radius:22px;
    --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{color:inherit;text-decoration:none} img{max-width:100%}
button,input,select,textarea{font:inherit}
.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.site-header{height:82px;padding:0 clamp(16px,4vw,54px);display:flex;align-items:center;gap:26px;background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 8px 30px rgba(8,20,38,.08)}
.brand img{height:56px;width:auto;display:block}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.main-nav a{font-weight:800;font-size:15px;color:#101828;position:relative}.main-nav a:hover,.main-nav a:first-child{color:#000}.main-nav a:first-child:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:3px;background:var(--gold);border-radius:5px}.header-phone{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:9px 0 9px 22px;border-left:1px solid var(--line)}.header-phone span{font-size:12px;font-weight:800;color:#475467;text-transform:uppercase}.header-phone strong{font-size:21px;color:var(--navy);line-height:1.1}.menu-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:12px;width:44px;height:44px;font-size:22px}
.hero{position:relative;min-height:720px;background-image:linear-gradient(90deg,rgba(3,13,26,.88),rgba(3,13,26,.66) 42%,rgba(3,13,26,.18)),url('/images/cbc-private-hire-hero.png');background-position:center;background-size:cover;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,197,38,.18),transparent 30%),linear-gradient(0deg,rgba(0,0,0,.18),transparent 32%)}.hero-inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:58px;align-items:center;min-height:720px;padding:42px 20px}.hero-copy{order:1;color:#fff;max-width:560px}.booking-card-home{order:2}.eyebrow{display:inline-block;color:var(--gold-2);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.eyebrow.dark{color:#b68100}.hero-copy h2{font-size:clamp(44px,6vw,76px);line-height:.98;margin:0 0 18px;font-weight:900;letter-spacing:-.05em}.hero-copy p{font-size:18px;max-width:520px;color:rgba(255,255,255,.9);margin:0 0 24px}.hero-checks{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}.hero-checks li{display:flex;align-items:center;gap:10px;font-weight:800}.hero-checks li:before{content:"✓";width:23px;height:23px;display:inline-grid;place-items:center;background:var(--gold);color:var(--navy);border-radius:50%;font-weight:900}.hero-phone{display:inline-flex;padding:13px 18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;font-weight:900;backdrop-filter:blur(10px)}
.booking-card{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.62);border-radius:24px;box-shadow:var(--shadow);padding:26px}.booking-title-row{display:flex;align-items:center;gap:16px;margin-bottom:16px}.booking-title-row img{width:56px;height:56px}.booking-title-row span{font-size:14px;color:#667085;font-weight:800}.booking-title-row h1{font-size:31px;line-height:1.05;margin:0;color:var(--ink);letter-spacing:-.03em}.date-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px}.date-mode-btn{height:46px;border:1px solid var(--line);background:#fff;border-radius:10px;font-weight:900;cursor:pointer}.date-mode-btn.active{background:linear-gradient(180deg,var(--gold-2),var(--gold));border-color:var(--gold);color:#101828}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compact-form{gap:10px}.field{position:relative;display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:900;color:#344054}.field label span{font-weight:700;color:#98a2b3}.field input,.field select,.field textarea{width:100%;border:1px solid #d9dee8;border-radius:11px;background:#fff;color:#101828;min-height:48px;padding:11px 13px;outline:none;transition:border-color .18s,box-shadow .18s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(248,189,8,.18)}.field textarea{height:66px;resize:vertical}.field span[data-valmsg-for]{font-size:12px;color:#c01818}.location-field input{padding-left:38px}.location-field:before{position:absolute;left:13px;top:33px;color:#101828;opacity:.78}.location-field.pickup:before{content:"📍"}.location-field.dropoff:before{content:"⌖"}.booking-submit,.btn-primary{border:0;border-radius:12px;background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#061426;font-weight:900;min-height:52px;padding:0 18px;box-shadow:0 10px 24px rgba(248,189,8,.28);cursor:pointer}.booking-submit{width:100%;margin-top:13px}.booking-card small{display:block;text-align:center;margin-top:10px;color:#667085;font-weight:700;font-size:12px}.btn-primary.small{display:inline-flex;align-items:center;justify-content:center;height:42px;min-height:42px}.btn-secondary{border:1px solid var(--line);border-radius:12px;background:#fff;color:#101828;font-weight:900;min-height:44px;padding:0 16px;cursor:pointer}.alert{padding:12px 14px;border-radius:12px;font-weight:800;margin:10px 0}.alert.success{background:#e9f9f0;color:#137443;border:1px solid #b7ebcd}.alert.error{background:#fff0f0;color:#b42318;border:1px solid #ffd0d0}
.trust-row{max-width:var(--container);margin:0 auto;padding:25px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff}.trust-row div{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:8px 14px;border-right:1px solid var(--line)}.trust-row div:last-child{border-right:0}.trust-row span{grid-row:1/3;width:48px;height:48px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:22px}.trust-row strong{font-size:15px}.trust-row small{color:#667085}.section{max-width:var(--container);margin:0 auto;padding:74px 20px}.section-light{max-width:none;background:#fbfcff}.section-light>.section-heading,.section-light>.service-grid-v3{max-width:var(--container);margin-left:auto;margin-right:auto}.section-heading{text-align:center;max-width:760px;margin:0 auto 36px}.section-heading span{font-weight:900;color:#b68100;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.section-heading h2{font-size:36px;letter-spacing:-.03em;margin:8px 0}.section-heading p{color:#667085;font-size:17px}.service-grid-v3{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.service-grid-v3 article{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(16,24,40,.08);position:relative}.service-image{height:142px;background-size:cover;background-position:center}.service-image.airport{background:linear-gradient(135deg,rgba(3,13,26,.16),rgba(248,189,8,.15)),url('/images/cbc-private-hire-hero.png');background-position:70% 44%}.service-image.corporate{background:linear-gradient(135deg,#111827,#566174)}.service-image.long{background:linear-gradient(135deg,#dff2df,#4c8b5e)}.service-image.family{background:linear-gradient(135deg,#f4ede2,#a48a74)}.service-grid-v3 article>span{width:54px;height:54px;background:var(--gold);border-radius:50%;display:grid;place-items:center;font-size:24px;margin:-28px 0 0 22px;position:relative;z-index:2}.service-grid-v3 h3{font-size:21px;margin:14px 22px 8px}.service-grid-v3 p{margin:0 22px 24px;color:#667085}.two-col-info{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.two-col-info h2{font-size:42px;line-height:1.05;letter-spacing:-.04em;margin:8px 0 15px}.two-col-info p{font-size:17px;color:#667085}.feature-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.feature-list li{padding:16px 18px 16px 50px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(16,24,40,.06);position:relative;font-weight:800}.feature-list li:before{content:"✓";position:absolute;left:17px;top:14px;width:24px;height:24px;background:var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--navy);font-weight:900}.cta-band{max-width:none;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:38px max(20px,calc((100vw - var(--container))/2 + 20px))}.cta-band span{color:var(--gold);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.cta-band h2{margin:4px 0 0;font-size:30px}.cta-band a{background:var(--gold);color:var(--navy);border-radius:999px;padding:14px 22px;font-weight:900;white-space:nowrap}.page-hero{background:linear-gradient(135deg,#071529,#13243d);color:#fff;padding:78px 20px;text-align:center}.clean-page-hero span{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.clean-page-hero h1{font-size:clamp(38px,6vw,62px);line-height:1.05;letter-spacing:-.04em;margin:10px auto 14px;max-width:850px}.clean-page-hero p{font-size:18px;color:rgba(255,255,255,.82);max-width:730px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:30px}.contact-card,.contact-form,.settings-form{background:#fff;border:1px solid var(--line);box-shadow:0 16px 44px rgba(16,24,40,.08);border-radius:22px;padding:28px}.contact-form,.settings-form{display:grid;gap:12px}.contact-form input,.contact-form textarea,.settings-form input,.settings-form select,.settings-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;min-height:48px}.contact-form textarea,.settings-form textarea{min-height:120px}.settings-form label{font-weight:900;color:#344054;display:grid;gap:7px}.legal-copy{max-width:820px;color:#475467;font-size:17px}
.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 82px);background:#f5f7fb}.admin-sidebar{background:var(--navy);color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:8px}.admin-sidebar img{width:190px;background:#fff;border-radius:14px;padding:8px;margin-bottom:20px}.admin-sidebar a{padding:13px 14px;border-radius:12px;color:rgba(255,255,255,.78);font-weight:800}.admin-sidebar a.active,.admin-sidebar a:hover{background:rgba(248,189,8,.14);color:#fff}.admin-main{padding:32px;min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.admin-header span{color:#b68100;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.08em}.admin-header h1{font-size:38px;margin:2px 0;letter-spacing:-.03em}.admin-header p{color:#667085;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats-grid a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(16,24,40,.06)}.stats-grid strong{display:block;font-size:34px;letter-spacing:-.04em}.stats-grid span{font-weight:800;color:#667085}.admin-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr auto;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:18px}.admin-filters label{font-size:12px;font-weight:900;color:#667085;text-transform:uppercase;letter-spacing:.04em;display:grid;gap:7px}.admin-filters select,.admin-filters input{height:44px;border:1px solid var(--line);border-radius:11px;padding:0 10px;background:#fff}.bookings-list{display:grid;gap:16px}.empty-state{background:#fff;border:1px dashed #cbd5e1;border-radius:18px;padding:34px;text-align:center;color:#667085;font-weight:900}.booking-admin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 12px 34px rgba(16,24,40,.07)}.booking-admin-summary{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.booking-admin-summary h2{margin:4px 0;font-size:22px}.booking-admin-summary p{margin:0;color:#667085}.booking-id{font-size:12px;color:#667085;font-weight:900}.status{display:inline-flex;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;text-transform:uppercase}.status-new{background:#fff3cd;color:#8a6100}.status-quoted{background:#e0f2fe;color:#075985}.status-confirmed{background:#dcfce7;color:#166534}.status-cancelled{background:#fee2e2;color:#991b1b}.status-finished{background:#e0e7ff;color:#3730a3}.booking-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.booking-admin-grid div{background:#f8fafc;border:1px solid #edf0f5;border-radius:13px;padding:12px}.booking-admin-grid .wide{grid-column:1/-1}.booking-admin-grid strong{display:block;font-size:12px;color:#667085;text-transform:uppercase}.booking-admin-grid span{font-weight:800}.update-booking-form{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;align-items:end;background:#fbfcff;border:1px solid var(--line);border-radius:16px;padding:14px}.update-booking-form label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#667085;text-transform:uppercase;letter-spacing:.04em}.update-booking-form input,.update-booking-form select,.update-booking-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;min-height:43px}.update-booking-form textarea{height:43px;resize:vertical}.update-booking-form .wide{grid-column:auto}.checkbox-line{display:flex!important;grid-template-columns:auto!important;align-items:center!important;gap:8px!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;color:#344054!important}.checkbox-line input{width:auto!important;min-height:auto!important}.quick-actions{display:flex;gap:8px;margin-top:10px}.quick-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:900;cursor:pointer}.site-footer{background:#061426;color:#fff;display:grid;grid-template-columns:220px 1fr auto;gap:28px;align-items:center;padding:32px max(20px,calc((100vw - var(--container))/2 + 20px))}.site-footer img{width:190px;background:#fff;border-radius:14px;padding:7px}.site-footer p{margin:4px 0;color:rgba(255,255,255,.72)}.site-footer div:last-child{display:grid;gap:6px;text-align:right;color:var(--gold)}
.theme-classic-taxi{--navy:#0d0d0d;--gold:#ffcc00}.theme-airport-transfer{--navy:#062c63;--gold:#45c3ff;--gold-2:#8ee2ff}.theme-dark-luxury{--navy:#060606;--gold:#d6aa4a;--gold-2:#f4d17b}
@media (max-width:1050px){.site-header{height:auto;min-height:74px}.main-nav{display:none}.menu-toggle{display:block;margin-left:auto}.nav-open .main-nav{position:absolute;display:grid;top:74px;left:0;right:0;background:#fff;padding:18px 24px;box-shadow:0 18px 30px rgba(16,24,40,.12)}.header-phone{display:none}.hero-inner{grid-template-columns:1fr;gap:26px;min-height:auto;padding:22px 16px 42px}.booking-card-home{order:1;max-width:580px;margin:0 auto;width:100%}.hero-copy{order:2;text-align:left;max-width:780px;margin:0 auto}.hero-copy h2{font-size:40px}.hero-copy p{font-size:16px}.trust-row{grid-template-columns:repeat(2,1fr)}.service-grid-v3{grid-template-columns:repeat(2,1fr)}.two-col-info,.contact-grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;display:flex;flex-direction:row;overflow:auto;align-items:center}.admin-sidebar img{width:150px;margin:0 12px 0 0}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-filters{grid-template-columns:1fr 1fr}.booking-admin-grid{grid-template-columns:1fr 1fr}.update-booking-form{grid-template-columns:1fr 1fr}.update-booking-form .wide{grid-column:1/-1}.site-footer{grid-template-columns:1fr;text-align:left}.site-footer div:last-child{text-align:left}}
@media (max-width:640px){.site-header{padding:10px 14px}.brand img{height:46px}.hero{min-height:auto;background-position:44% center}.hero-inner{padding:12px 12px 30px}.booking-card{padding:15px;border-radius:18px}.booking-title-row{gap:10px;margin-bottom:10px}.booking-title-row img{width:42px;height:42px}.booking-title-row h1{font-size:22px}.booking-title-row span{font-size:12px}.date-mode{margin:8px 0 10px}.date-mode-btn{height:39px;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:11px}.field input,.field select,.field textarea{min-height:42px;border-radius:10px;padding:9px 10px;font-size:14px}.location-field input{padding-left:32px}.location-field:before{top:29px;left:10px}.field textarea{height:58px}.booking-submit{min-height:46px;margin-top:9px}.booking-card small{font-size:11px}.hero-copy{background:rgba(6,20,38,.76);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px}.eyebrow{font-size:11px}.hero-copy h2{font-size:31px;margin-bottom:10px}.hero-copy p{font-size:14px}.hero-checks{gap:7px}.hero-checks li{font-size:13px}.hero-phone{width:100%;justify-content:center}.trust-row{grid-template-columns:1fr;padding:16px 12px}.trust-row div{border-right:0;border-bottom:1px solid var(--line)}.section{padding:48px 14px}.section-heading h2{font-size:28px}.service-grid-v3{grid-template-columns:1fr}.two-col-info h2{font-size:30px}.cta-band{display:grid;text-align:left;padding:30px 16px}.cta-band h2{font-size:24px}.cta-band a{text-align:center}.admin-main{padding:16px}.admin-header{display:grid}.stats-grid{grid-template-columns:1fr 1fr}.admin-filters{grid-template-columns:1fr}.booking-admin-summary{display:grid}.booking-admin-grid{grid-template-columns:1fr}.update-booking-form{grid-template-columns:1fr}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr)}.quick-actions button{padding:9px 6px;font-size:13px}.clean-page-hero h1{font-size:34px}.contact-form,.contact-card,.settings-form{padding:18px}}

.live-booking-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#061426;color:#fff;border:1px solid rgba(248,189,8,.45);border-radius:18px;padding:16px 18px;margin-bottom:18px;box-shadow:0 16px 38px rgba(6,20,38,.18)}
.live-booking-alert[hidden]{display:none!important}.live-booking-alert strong{display:block;font-size:18px}.live-booking-alert span{display:block;color:rgba(255,255,255,.76);font-weight:700}.live-booking-alert button{background:var(--gold);color:var(--navy);border:0;border-radius:999px;padding:11px 16px;font-weight:900;cursor:pointer;white-space:nowrap}.settings-section-title{margin-top:8px;padding:13px 14px;background:#f8fafc;border:1px solid var(--line);border-radius:13px;color:#b68100;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
@media (max-width:640px){.live-booking-alert{display:grid}.live-booking-alert button{width:100%}}


.contact-intro-panel {
    max-width: 980px;
    margin: -34px auto 0;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.contact-intro-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(16, 24, 40, .12);
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

    .contact-intro-card a,
    .contact-intro-card div {
        background: #f8fafc;
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 16px;
        color: var(--navy);
        text-decoration: none;
    }

    .contact-intro-card small {
        display: block;
        color: #667085;
        font-weight: 800;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .06em;
        margin-bottom: 5px;
    }

    .contact-intro-card strong {
        display: block;
        font-size: 16px;
        line-height: 1.3;
    }

.contact-map-section {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 20px 74px;
}

.contact-map-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 16px 44px rgba(16, 24, 40, .08);
    overflow: hidden;
    display: grid;
    grid-template-columns: .9fr 1.4fr;
    min-height: 420px;
}

.contact-map-copy {
    padding: 34px;
    background: linear-gradient(135deg, #071529, #13243d);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

    .contact-map-copy span {
        color: var(--gold);
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .08em;
        font-size: 12px;
    }

    .contact-map-copy h2 {
        font-size: 32px;
        line-height: 1.08;
        letter-spacing: -.03em;
        margin: 10px 0 12px;
    }

    .contact-map-copy p {
        color: rgba(255, 255, 255, .82);
        margin: 0 0 20px;
    }

    .contact-map-copy .btn-primary {
        width: fit-content;
        text-decoration: none;
    }

.contact-map-frame {
    width: 100%;
    min-height: 420px;
    border: 0;
    display: block;
}

@media (max-width: 900px) {
    .contact-intro-card,
    .contact-map-card {
        grid-template-columns: 1fr;
    }

    .contact-map-copy {
        padding: 24px;
    }

    .contact-map-frame {
        min-height: 330px;
    }
}

@media (max-width: 640px) {
    .contact-intro-panel {
        margin-top: -20px;
        padding: 0 14px;
    }

    .contact-intro-card {
        padding: 12px;
        gap: 10px;
    }

    .contact-map-section {
        padding: 0 14px 48px;
    }

    .contact-map-copy h2 {
        font-size: 25px;
    }
}
