/* =========================================================
   Fab Cars — page styles
   
   ========================================================= */

:root {
    
    --fc-brand-orange: #ef7f1a;     /* "FAB" */
    --fc-brand-grey: #727272;       /* "CARS" + tagline */
    --fc-brand-charcoal: #585858;   /* road icon */
    --fc-brand-silver: #e3e3e3;     /* ring */

    --fc-orange: #ef7f1a;
    --fc-orange-dark: #d96d0e;      /* hover */
    --fc-orange-light: #f5a35a;
    --fc-orange-text: #ef7f1a;
    --fc-gold: #ef7f1a;             /* accent on dark sections (was gold) */
    --fc-gold-dark: #ffffff;        /* text on accent buttons */
    --fc-sand: #b9b9b9;             /* body text on dark */
    --fc-light: #e3e3e3;            /* headings on dark */
    --fc-card-dark: #1c1c1c;
    --fc-panel-dark: #262626;
    --fc-ink: #1a1a1a;
    --fc-grey: #727272;
    --fc-border: #e3e3e3;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: var(--fc-ink);
    /* background: #000; */
    -webkit-font-smoothing: antialiased;
}

/* Slide-in animations start off to the side; clip so they never cause sideways scrolling.
   (clip, unlike hidden, doesn't break position: sticky in your header) */
.fc-hero, .fc-strip, .fc-services, .fc-why, .fc-fleet,
.fc-faq, .fc-contact, .fc-reviews, .fc-footer { overflow-x: clip; }

img { max-width: 100%; display: block; }
img.fc-img-missing { visibility: hidden; }
a { text-decoration: none; transition: color .2s ease, background-color .2s ease, opacity .2s ease; }
h1, h2, h3, p { margin: 0; }
ul { list-style: none; margin: 0; padding: 0; }

/* ---------- Row gutters in px (used with Bootstrap .row) ---------- */
.fc-gutter-16 { --bs-gutter-x: 16px; --bs-gutter-y: 16px; }
.fc-gutter-20 { --bs-gutter-x: 20px; --bs-gutter-y: 20px; }
.fc-gutter-24 { --bs-gutter-x: 24px; --bs-gutter-y: 24px; }
.fc-gutter-30 { --bs-gutter-x: 30px; --bs-gutter-y: 30px; }
.fc-gutter-40 { --bs-gutter-x: 40px; --bs-gutter-y: 40px; }
.fc-gutter-64 { --bs-gutter-x: 64px; --bs-gutter-y: 48px; }
/* a row's side margin is half the gutter; keep it inside the 20-24px page padding */
@media (max-width: 1339px) {
    .fc-gutter-64 { --bs-gutter-x: 40px; }
}

/* ---------- Page wrappers ---------- */
.fc-wrap-wide {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 80px;
    position: relative;
}
.fc-wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ---------- Shared headings ---------- */
.fc-eyebrow-gold {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--fc-gold);
}
.fc-eyebrow-grey {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--fc-grey);
    margin-bottom: 12px;
}
.fc-eyebrow-light { color: rgba(255, 255, 255, 0.4); }

.fc-serif-title {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 50px;
    line-height: 60px;
    letter-spacing: -0.75px;
    color: var(--fc-light);
}
.fc-sans-title {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 36px;
    line-height: 40px;
    color: var(--fc-ink);
}
.fc-head-center { text-align: center; }

/* ---------- Shared buttons ---------- */
.fc-btn-orange {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 181px;
    height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 12px;
    background: var(--fc-orange);
    color: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.35px;
    cursor: pointer;
}
.fc-btn-orange:hover { background: #d96d0e; }
.fc-btn-block { width: 100%; }

.fc-btn-gold {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    padding: 0 20px;
    border-radius: 10px;
    background: var(--fc-gold);
    color: var(--fc-gold-dark);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 1.8px;
    white-space: nowrap;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.fc-btn-gold:hover { background: #d96d0e; color: var(--fc-gold-dark); }

.fc-btn-pill {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 24px;
    border-radius: 999px;
    background: var(--fc-orange);
    color: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
}
.fc-btn-pill:hover { background: #d96d0e; color: #fff; }

/* ---------- Shared form fields ---------- */
.fc-input {
    display: block;
    width: 100%;
    height: 47px;
    padding: 12px 16px;
    border-radius: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 20px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}
.fc-textarea { height: 128px; resize: vertical; }
.fc-select {
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 12px 12px;
    padding-right: 40px;
    cursor: pointer;
}

.fc-form-dark .fc-input {
    background-color: rgba(129, 129, 129, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
}
.fc-form-dark .fc-input::placeholder { color: #fff; opacity: 1; }
.fc-form-dark .fc-input:focus { border-color: var(--fc-orange); }
.fc-form-dark .fc-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}
.fc-form-dark .fc-select option { color: #111; }

.fc-form-light .fc-input {
    background-color: #fff;
    border: 1px solid var(--fc-border);
    color: var(--fc-ink);
}
.fc-form-light .fc-input::placeholder { color: var(--fc-grey); opacity: 1; }
.fc-form-light .fc-input:focus { border-color: var(--fc-orange); }
.fc-form-light .fc-select {
    color: var(--fc-grey);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23727272' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}
.fc-form-light .fc-select:valid { color: var(--fc-ink); }

/* =========================================================
   HERO
   ========================================================= */
.fc-hero {
    position: relative;
    min-height: 800px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #111;
}
.fc-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.fc-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}
.fc-hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to right, #000 0px, rgba(0, 0, 0, 0) 1022px),
        linear-gradient(to top, #000 0px, rgba(0, 0, 0, 0) 630px);
    pointer-events: none;
}
.fc-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 60px 73px 40px 148px;
}
.fc-hero-inner.servicemain{
    padding-top: 120px;
}
.fc-hero-content { max-width: 604px; }

.fc-hero-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.fc-google-badge {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.fc-google-badge img { width: 24px; height: 24px; }
.fc-hero-stars { display: flex; gap: 7px; color: #fbbc05; font-size: 22px; line-height: 24px; }

.fc-hero-title {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    font-size: 48px;
    line-height: 60px;
    color: #fff;
    margin-bottom: 20px;
}
.fc-hero-title span { display: block; color: var(--fc-orange-text); line-height: 48px; }

.fc-hero-text {
    max-width: 534px;
    font-size: 16px;
    line-height: 24px;
    color: #d4d4d4;
    margin-bottom: 32px;
}

.fc-hero-contact {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    border: 1px solid #585858;
    border-radius: 12px;
    margin-bottom: 24px;
}
.fc-hero-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 8px;
}
.fc-hero-contact-item:hover { background: rgba(255, 255, 255, 0.06); }
.fc-hero-contact-item i { font-size: 22px; width: 24px; text-align: center; color: var(--fc-orange); }
.fc-hero-contact-item strong {
    display: block;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
}
.fc-hero-contact-item small {
    display: block;
    font-size: 12px;
    line-height: 16px;
    color: #a5a5a5;
}
.fc-hero-sep { color: rgba(255, 255, 255, 0.2); font-size: 14px; line-height: 20px; }

.fc-hero-checks {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    font-size: 16px;
    line-height: 20px;
    color: #fff;
}
.fc-hero-checks li span { color: #05df72; margin-right: 4px; }

.fc-hero-form-wrap {
    max-width: 584px;
    margin-left: auto;
    background: rgba(0, 0, 0, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    padding: 32px;
}
.fc-form-head { font-family: 'Outfit', sans-serif; font-weight: 700; padding-bottom: 24px; }
.fc-form-head span { display: block; font-size: 12px; line-height: 28px; color: #ef7f1a; }
.fc-form-head h3 { font-size: 20px; line-height: 28px; color: #fff; font-weight: 700; }

/* =========================================================
   FEATURE STRIP
   ========================================================= */
.fc-strip {
    background: #0a0a0a;
    padding: 10px 48px;
}
.fc-strip-box {
    margin: 0 auto;
    min-height: 115px;
    display: flex;
    align-items: center;
    background: #1c1c1c;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 10px;
    padding: 24px 49px;
}
.fc-strip-box > .row { flex: 1 1 auto; }
.fc-strip-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    line-height: 20px;
    color: #fff;
    white-space: nowrap;
}
.fc-strip-item i { font-size: 32px; width: 40px; text-align: center; color: var(--fc-orange); }

/* single line with dividers on large screens */
@media (min-width: 1400px) {
    .fc-strip-col { position: relative; }
    .fc-strip-col + .fc-strip-col::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 1px;
        height: 40px;
        margin-top: -20px;
        background: rgba(255, 255, 255, 0.3);
    }
}

/* =========================================================
   FEATURE STRIP — 6 items
   1400px+   : all 6 in one row, divider between each
   768–1399  : 3 per row (2 rows), dividers inside each row
   below 768 : 2 per row (3 rows), divider between the pair
   ========================================================= */
.fc-strip {
    background: #0a0a0a;
    padding: 10px 48px;
}
.fc-strip-box {
    max-width: 1503px;
    margin: 0 auto;
    min-height: 115px;
    display: flex;
    align-items: center;
    background: #1c1c1c;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 10px;
    padding: 26px 40px;
}
.fc-strip .fc-strip-row {
    flex: 1 1 auto;
    --bs-gutter-x: 40px;
    --bs-gutter-y: 24px;
}
.fc-strip .fc-strip-col { position: relative; }

.fc-strip .fc-strip-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 17px;
    line-height: 22px;
    color: #fff;
    white-space: normal;
}
.fc-strip .fc-strip-item i {
    flex: 0 0 34px;
    width: 34px;
    font-size: 28px;
    line-height: 1;
    text-align: center;
    color: var(--fc-orange, #ef7f1a);
    transition: transform 400ms cubic-bezier(.34, 1.56, .64, 1), color 300ms ease;
}
.fc-strip .fc-strip-item:hover i { transform: translateY(-4px) scale(1.12); color: #f5a35a; }

/* divider line (in the gap to the left of an item) */
.fc-strip .fc-strip-row > .fc-strip-col::before {
    content: "";
    display: none;
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 40px;
    margin-top: -20px;
    background: rgba(255, 255, 255, 0.25);
}

/* 1400px+ : one row of 6 */
@media (min-width: 1400px) {
    .fc-strip .fc-strip-row > .fc-strip-col + .fc-strip-col::before { display: block; }
}
@media (min-width: 1400px) and (max-width: 1599px) {
    .fc-strip-box { padding: 24px 28px; }
    .fc-strip .fc-strip-row { --bs-gutter-x: 28px; }
    .fc-strip .fc-strip-item { font-size: 15px; line-height: 20px; gap: 10px; }
    .fc-strip .fc-strip-item i { flex-basis: 28px; width: 28px; font-size: 24px; }
}

/* 768–1399px : 3 per row */
@media (min-width: 768px) and (max-width: 1399px) {
    .fc-strip .fc-strip-row > .fc-strip-col:not(:nth-child(3n+1))::before { display: block; }
    .fc-strip .fc-strip-item { justify-content: flex-start; }
}
@media (max-width: 1399px) {
    .fc-strip { padding: 10px 16px; }
    .fc-strip-box { padding: 24px 28px; }
    .fc-strip .fc-strip-row { --bs-gutter-x: 32px; }
    .fc-strip .fc-strip-item { font-size: 16px; line-height: 21px; }
    .fc-strip .fc-strip-item i { flex-basis: 30px; width: 30px; font-size: 24px; }
}

/* below 768px : 2 per row */
@media (max-width: 767px) {
    .fc-strip .fc-strip-row > .fc-strip-col:nth-child(2n)::before { display: block; }
    .fc-strip-box { padding: 22px 20px; }
    .fc-strip .fc-strip-row { --bs-gutter-x: 24px; --bs-gutter-y: 20px; }
    .fc-strip .fc-strip-item { justify-content: flex-start; font-size: 14px; line-height: 19px; gap: 10px; }
    .fc-strip .fc-strip-item i { flex-basis: 26px; width: 26px; font-size: 21px; }
}
@media (max-width: 400px) {
    .fc-strip { padding: 10px 12px; }
    .fc-strip-box { padding: 20px 14px; }
    .fc-strip .fc-strip-row { --bs-gutter-x: 20px; }
    .fc-strip .fc-strip-item { font-size: 13px; line-height: 18px; gap: 8px; }
    .fc-strip .fc-strip-item i { flex-basis: 22px; width: 22px; font-size: 18px; }
}

/* =========================================================
   SERVICES
   ========================================================= */
.fc-services {
    background: #000;
    padding: 80px 0;
}
.fc-section-title {
    max-width: 960px;
    margin: 0 auto 80px;
    text-align: center;
}
.fc-section-title .fc-eyebrow-gold { margin-bottom: 10px; }
.fc-gold-line {
    display: block;
    width: 80px;
    height: 3px;
    background: rgba(239, 127, 26, 0.4);
    margin: 15px auto;
}
.fc-section-title p {
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 19px;
    line-height: 33px;
    letter-spacing: 0.19px;
    color: var(--fc-sand);
}

.fc-service-card {
    height: 100%;
    background: var(--fc-card-dark);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 13px 19px -4px rgba(0, 0, 0, 0.1), 0 5px 8px -5px rgba(0, 0, 0, 0.1);
}
.fc-service-body { padding-bottom: 20px; }
.fc-service-img {
    position: relative;
    height: 240px;
    border-radius: 10px;
    overflow: hidden;
    background: #2a2a2a;
    margin-bottom: 9px;
}
.fc-service-img img { width: 100%; height: 100%; object-fit: cover; }
.fc-glass-tag {
    position: absolute;
    z-index: 1;
    top: 15px;
    right: 15px;
    padding: 5px 13px;
    border-radius: 8px;
    background: rgba(17, 17, 17, 0.8);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 2px;
    color: var(--fc-gold);
    white-space: nowrap;
}
.fc-service-card h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 11px;
    margin-bottom: 9px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 0.25px;
    color: var(--fc-light);
}
.fc-service-card h3 i { font-size: 20px; color: var(--fc-gold); width: 22px; text-align: center; }
.fc-service-card p {
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.33px;
    color: var(--fc-sand);
}
.fc-service-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 11px;
    border-top: 1px solid rgba(114, 114, 114, 0.2);
}
.fc-price-tag {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.69px;
    text-transform: uppercase;
    color: var(--fc-gold);
}
.fc-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 1.8px;
    color: var(--fc-light);
    white-space: nowrap;
    transition: color 250ms ease;
}
.fc-link-arrow i { font-size: 11px; }

/* =========================================================
   WHY US
   ========================================================= */
.fc-why {
    background: #fff;
    padding: 96px 0;
}
.fc-why-list { margin-top: 64px; }
.fc-why-card {
    height: 100%;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}
.fc-why-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ef7f1a;
    font-size: 19px;
    margin-bottom: 16px;
}
.fc-why-card h3 {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    color: var(--fc-ink);
    margin-bottom: 16px;
}
.fc-why-card p {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 23px;
    color: var(--fc-grey);
}

/* =========================================================
   FLEET
   ========================================================= */
.fc-fleet {
    position: relative;
    background: #111111;
    padding: 120px 0;
    overflow: hidden;
}
.fc-fleet-glow {
    position: absolute;
    left: 400px;
    bottom: 0;
    width: 750px;
    height: 375px;
    background: radial-gradient(ellipse at center, rgba(239, 127, 26, 0.08) 0px, rgba(239, 127, 26, 0) 375px);
    pointer-events: none;
}
.fc-fleet-head { margin-bottom: 80px; }
.fc-fleet-title { max-width: 512px; }
.fc-fleet-title .fc-eyebrow-gold { margin-bottom: 10px; }
.fc-fleet-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 837px;
    padding: 8px;
    background: var(--fc-panel-dark);
    border-radius: 10px;
}
@media (min-width: 1400px) {
    .fc-fleet-tabs { margin-left: auto; }
}
.fc-tab {
    border: 0;
    border-radius: 5px;
    padding: 10px 20px;
    background: transparent;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 1.8px;
    color: var(--fc-sand);
    cursor: pointer;
    white-space: nowrap;
}
.fc-tab:hover { color: var(--fc-gold); }
.fc-tab.active { background: var(--fc-gold); color: var(--fc-gold-dark); font-weight: 600; }

.fc-fleet-item.is-hidden { display: none; }
.fc-car-card {
    height: 100%;
    background: var(--fc-card-dark);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 31px -6px rgba(0, 0, 0, 0.1), 0 10px 13px -8px rgba(0, 0, 0, 0.1);
}
.fc-car-body { flex: 1 1 auto; padding-bottom: 20px; }
.fc-car-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 5px;
}
.fc-car-badge {
    padding: 5px 15px;
    border-radius: 15px;
    background: rgba(239, 127, 26, 0.1);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.69px;
    text-transform: uppercase;
    color: var(--fc-gold);
    white-space: nowrap;
}
.fc-car-year {
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 2px;
    color: var(--fc-sand);
    white-space: nowrap;
}
.fc-car-img {
    height: 260px;
    margin-top: 10px;
    border-radius: 10px;
    overflow: hidden;
    background: #2a2a2a;
}
.fc-car-img img { width: 100%; height: 100%; object-fit: cover; }
.fc-car-card h3 {
    padding-top: 20px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 0.25px;
    color: var(--fc-light);
    margin-bottom: 5px;
}
.fc-car-card p {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.33px;
    color: var(--fc-sand);
    margin-bottom: 20px;
}
.fc-car-specs {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 18px;
    border-radius: 10px;
    background: rgba(17, 17, 17, 0.8);
}
.fc-car-specs span {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 2px;
    color: var(--fc-light);
}
.fc-car-specs i { color: var(--fc-gold); font-size: 14px; flex: 0 0 auto; }
.fc-car-amenities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 7px;
    padding-top: 15px;
}
.fc-car-amenities span {
    padding: 5px 10px;
    border-radius: 8px;
    background: var(--fc-panel-dark);
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 33px;
    letter-spacing: 0.19px;
    color: var(--fc-sand);
    white-space: nowrap;
}
.fc-car-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 11px;
    border-top: 1px solid rgba(114, 114, 114, 0.3);
}
.fc-car-price small {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 2px;
    color: var(--fc-sand);
}
.fc-car-price strong {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 0.25px;
    color: var(--fc-gold);
}
.fc-car-price em {
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-size: 16px;
    line-height: 28px;
    color: var(--fc-sand);
}

/* =========================================================
   FAQ
   ========================================================= */
.fc-faq {
    background: #0a0a0a;
    padding: 96px 0;
}
.fc-faq-text {
    margin: 24px 0 32px;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: rgba(255, 255, 255, 0.45);
}
.fc-accordion { display: flex; flex-direction: column; gap: 8px; }
.fc-acc-item {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
}
.fc-acc-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    border: 0;
    background: transparent;
    text-align: left;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    cursor: pointer;
}
.fc-acc-icon {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #fff;
}
.fc-acc-btn:not(.collapsed) .fc-acc-icon {
    background: #fff;
    border-color: #fff;
    color: #0a0a0a;
    transform: rotate(45deg);
}
.fc-acc-body {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 16px 24px 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 23px;
    color: rgba(255, 255, 255, 0.45);
}

/* =========================================================
   CONTACT
   ========================================================= */
.fc-contact {
    background: #fff;
    padding: 96px 0;
}
.fc-contact-text {
    margin-top: 24px;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: var(--fc-grey);
}
.fc-contact-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 40px;
}
.fc-contact-list li { display: flex; align-items: flex-start; gap: 16px; }
.fc-contact-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #f2f2f2;
    border: 1px solid var(--fc-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--fc-ink);
}
.fc-contact-list small {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--fc-grey);
    margin-bottom: 2px;
}
.fc-contact-list a, .fc-contact-list b {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    color: var(--fc-ink);
}
.fc-contact-list a:hover { color: var(--fc-orange); }

.fc-contact-form {
    background: #fff;
    border: 1px solid var(--fc-border);
    border-radius: 24px;
    padding: 32px;
}
.fc-contact-form h3 {
    padding-bottom: 24px;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    color: var(--fc-ink);
}

/* =========================================================
   REVIEWS
   ========================================================= */
.fc-reviews {
    background: #f3f3f3;
    padding: 80px 24px;
}
.fc-reviews-wrap { max-width: 1440px; margin: 0 auto; }
.fc-eyebrow-line {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: #727272;
}
.fc-eyebrow-line::before {
    content: "";
    width: 36px;
    height: 2px;
    background: #ef7f1a;
}
.fc-reviews-title {
    padding-top: 20px;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 52px;
    line-height: 60px;
    color: #1a1a1a;
}

.fc-slider {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 56px;
}
.fc-slider-viewport {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    padding: 8px 0 14px;      /* room for the hover lift + shadow */
}
.fc-slider-track { --bs-gutter-y: 0px; }
.fc-review-card {
    height: 100%;
    background: #fff;
    border-radius: 16px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.fc-review-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 20px;
}
.fc-review-stars { display: flex; gap: 4px; color: #ef7f1a; font-size: 17px; line-height: 20px; }
.fc-quote {
    font-family: 'Playfair Display', serif;
    font-size: 48px;
    line-height: 29px;
    padding-top: 4px;
    color: #d0d0d0;
}
.fc-review-card p {
    flex: 1 1 auto;
    padding-bottom: 28px;
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 15px;
    line-height: 26px;
    color: #2a2a2a;
}
.fc-review-author { display: flex; align-items: center; gap: 14px; }
.fc-avatar {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #1a1a1a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
}
.fc-review-author b {
    display: block;
    font-weight: 700;
    font-size: 14px;
    line-height: 21px;
    color: #1a1a1a;
}
.fc-review-author small {
    display: block;
    padding-top: 2px;
    font-size: 13px;
    line-height: 20px;
    color: #888;
}
.fc-slider-btn {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    border: 1px solid #d6d6d6;
    background: #e9e9e9;
    color: #1a1a1a;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* =========================================================
   FOOTER
   ========================================================= */
.fc-footer {
    background: #0e0e0e;
    padding: 48px 64px 24px;
}
.fc-footer-wrap { max-width: 1152px; margin: 0 auto; }
.fc-footer-top { padding-bottom: 40px; }
.fc-footer-col h3 {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    margin-bottom: 20px;
}
.fc-footer-logo {
    display: block;
    width: 258px;
    max-width: 100%;
    height: 95px;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 24px;
}
.fc-footer-logo img { width: 100%; height: 100%; object-fit: contain; }
.fc-app p {
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    margin-bottom: 12px;
}
.fc-app-badges { display: flex; gap: 8px; margin-bottom: 24px; }
.fc-app-badges img { height: 28px; width: auto; }
.fc-map-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid #fff;
    border-radius: 4px;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
}
.fc-map-btn:hover { background: #fff; color: #0e0e0e; }

.fc-footer-links li + li { margin-top: 12px; }
.fc-footer-links a { font-size: 14px; line-height: 20px; color: #a5a5a5; }
.fc-footer-links a:hover { color: var(--fc-orange); }

.fc-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 20px;
    color: #d4d4d4;
}
.fc-footer-contact li + li { margin-top: 16px; }
.fc-footer-contact i { color: #ef7f1a; font-size: 14px; width: 16px; padding-top: 3px; text-align: center; }
.fc-footer-contact a { color: #d4d4d4; }
.fc-footer-contact a:hover { color: #ef7f1a; }

.fc-social { display: flex; gap: 16px; padding-top: 24px; }
.fc-social a { color: #fff; font-size: 20px; line-height: 22px; }
.fc-social a:hover { color: #ef7f1a; }

.fc-footer-bottom {
    padding-top: 24px;
    border-top: 1px solid #3a3a3a;
    font-size: 14px;
    line-height: 20px;
    color: #d4d4d4;
}
.fc-footer-bottom p span { color: #ef7f1a; }
.fc-footer-legal { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; white-space: nowrap; }
.fc-footer-legal a { color: #d4d4d4; }
.fc-footer-legal a:hover { color: #ef7f1a; }
.fc-footer-legal span { color: #585858; }
.fc-disclaimer {
    max-width: 768px;
    padding-top: 16px;
    font-size: 12px;
    line-height: 20px;
    color: #727272;
}

/* =========================================================
   FULL-CARD LINKS
   The whole card is the <a>; the CTA inside is a <span>.
   ========================================================= */
a.fc-service-card,
a.fc-car-card,
a.fc-service-card:hover,
a.fc-car-card:hover {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
a.fc-service-card:focus-visible,
a.fc-car-card:focus-visible {
    outline: 2px solid var(--fc-gold);
    outline-offset: 4px;
}

/* =========================================================
   ANIMATIONS
   Scroll reveal only switches on when JS adds .fc-anim to <html>,
   so content stays visible if JS ever fails.
   ========================================================= */

/* ---------- Scroll reveal ---------- */
.fc-anim [data-anim] {
    opacity: 0;
    transition:
        opacity 800ms cubic-bezier(.22, .61, .36, 1),
        transform 800ms cubic-bezier(.22, .61, .36, 1);
    transition-delay: var(--fc-delay, 0ms);
    will-change: opacity, transform;
}
.fc-anim [data-anim="up"]    { transform: translateY(50px); }
.fc-anim [data-anim="left"]  { transform: translateX(-60px); }
.fc-anim [data-anim="right"] { transform: translateX(60px); }
.fc-anim [data-anim="zoom"]  { transform: scale(.9); }
.fc-anim [data-anim].is-visible { opacity: 1; transform: none; }

/* cards keep a quick hover transition once revealed */
.fc-anim .fc-service-card[data-anim].is-visible,
.fc-anim .fc-car-card[data-anim].is-visible,
.fc-anim .fc-why-card[data-anim].is-visible {
    transition:
        opacity 800ms cubic-bezier(.22, .61, .36, 1) var(--fc-delay, 0ms),
        transform 400ms ease,
        box-shadow 400ms ease;
}

.fc-anim .fc-gold-line { width: 0px; transition: width 900ms ease 300ms; }
.fc-anim .fc-section-title.is-visible .fc-gold-line { width: 80px; }
.fc-anim .fc-eyebrow-line::before { width: 0px; transition: width 800ms ease 300ms; }
.fc-anim .is-visible .fc-eyebrow-line::before { width: 36px; }

/* ---------- Keyframes ---------- */
@keyframes fcKenBurns {
    from { transform: scale(1.12); }
    to   { transform: scale(1); }
}
@keyframes fcRiseIn {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: none; }
}
@keyframes fcSlideInRight {
    from { opacity: 0; transform: translateX(80px); }
    to   { opacity: 1; transform: none; }
}
@keyframes fcStarPop {
    0%   { opacity: 0; transform: scale(0) rotate(-90deg); }
    70%  { opacity: 1; transform: scale(1.3) rotate(10deg); }
    100% { opacity: 1; transform: scale(1) rotate(0deg); }
}
@keyframes fcShine {
    from { background-position: -200px 0; }
    to   { background-position: 400px 0; }
}
@keyframes fcGlowDrift {
    0%, 100% { transform: translateX(0px) scale(1); opacity: .8; }
    50%      { transform: translateX(120px) scale(1.15); opacity: 1; }
}
@keyframes fcCardIn {
    from { opacity: 0; transform: translateY(24px) scale(.96); }
    to   { opacity: 1; transform: none; }
}
@keyframes fcPinBounce {
    0%, 100% { transform: translateY(0px); }
    40%      { transform: translateY(-5px); }
    70%      { transform: translateY(1px); }
}

/* ---------- Hero entrance ---------- */
.fc-hero-bg { animation: fcKenBurns 9000ms ease-out both; }

.fc-hero-rating,
.fc-hero-title,
.fc-hero-text,
.fc-hero-contact,
.fc-hero-checks { animation: fcRiseIn 900ms cubic-bezier(.22, .61, .36, 1) both; }
.fc-hero-rating  { animation-delay: 200ms; }
.fc-hero-title   { animation-delay: 350ms; }
.fc-hero-text    { animation-delay: 500ms; }
.fc-hero-contact { animation-delay: 650ms; }
.fc-hero-checks  { animation-delay: 800ms; }
.fc-hero-form-wrap { animation: fcSlideInRight 1000ms cubic-bezier(.22, .61, .36, 1) 500ms both; }

.fc-hero-stars i { display: inline-block; animation: fcStarPop 600ms ease both; }
.fc-hero-stars i:nth-child(1) { animation-delay: 700ms; }
.fc-hero-stars i:nth-child(2) { animation-delay: 800ms; }
.fc-hero-stars i:nth-child(3) { animation-delay: 900ms; }
.fc-hero-stars i:nth-child(4) { animation-delay: 1000ms; }
.fc-hero-stars i:nth-child(5) { animation-delay: 1100ms; }

.fc-hero-title span {
    background: linear-gradient(100deg, var(--fc-orange-text) 0px, var(--fc-orange-text) 140px, #f9c08e 190px, var(--fc-orange-text) 240px, var(--fc-orange-text) 400px);
    background-size: 400px 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: fcShine 3500ms linear 1500ms infinite;
}

.fc-hero-contact-item i { transition: transform 300ms ease; }
.fc-hero-contact-item:hover i { transform: scale(1.2) rotate(-8deg); }

.fc-input { transition: border-color 250ms ease, box-shadow 250ms ease, background-color 250ms ease; }
.fc-form-dark .fc-input:focus { box-shadow: 0 0 0 4px rgba(239, 127, 26, 0.18); background-color: rgba(129, 129, 129, 0.15); }
.fc-form-light .fc-input:focus { box-shadow: 0 0 0 4px rgba(239, 127, 26, 0.14); }

/* ---------- Buttons: shine sweep + lift ---------- */
.fc-btn-orange,
.fc-btn-gold,
.fc-btn-pill { transition: background-color 250ms ease, transform 250ms ease, box-shadow 250ms ease; }
.fc-btn-orange::after,
.fc-btn-gold::after,
.fc-btn-pill::after {
    content: "";
    position: absolute;
    top: 0;
    left: -80px;
    width: 50px;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0px, rgba(255, 255, 255, 0.45) 25px, rgba(255, 255, 255, 0) 50px);
    transform: skewX(-20deg);
    pointer-events: none;
}
.fc-btn-orange:hover::after,
.fc-btn-gold:hover::after,
.fc-btn-pill:hover::after,
.fc-car-card:hover .fc-btn-gold::after { left: calc(100% + 30px); transition: left 650ms ease; }
.fc-btn-orange:hover,
.fc-btn-pill:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(239, 127, 26, 0.35); }
.fc-btn-gold:hover,
.fc-car-card:hover .fc-btn-gold { background: #d96d0e; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(239, 127, 26, 0.3); }
.fc-btn-orange:active, .fc-btn-pill:active { transform: translateY(0px); }

/* ---------- Feature strip ---------- */
.fc-strip-item i { transition: transform 400ms cubic-bezier(.34, 1.56, .64, 1), color 300ms ease; }
.fc-strip-item:hover i { transform: translateY(-4px) scale(1.15); color: #f5a35a; }

/* ---------- Service cards ---------- */
.fc-service-card { transition: transform 400ms ease, box-shadow 400ms ease; }
.fc-service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.6), inset 0 0 0 1px rgba(239, 127, 26, 0.3);
}
.fc-service-img img { transition: transform 900ms cubic-bezier(.22, .61, .36, 1); }
.fc-service-card:hover .fc-service-img img { transform: scale(1.08); }
.fc-service-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(17, 17, 17, 0.45) 0px, rgba(17, 17, 17, 0) 120px);
    opacity: 0;
    transition: opacity 500ms ease;
    pointer-events: none;
}
.fc-service-card:hover .fc-service-img::after { opacity: 1; }
.fc-glass-tag { transition: transform 400ms ease; }
.fc-service-card:hover .fc-glass-tag { transform: translateY(-3px); }
.fc-service-card h3 i { transition: transform 500ms cubic-bezier(.34, 1.56, .64, 1); }
.fc-service-card:hover h3 i { transform: rotate(-12deg) scale(1.2); }
.fc-link-arrow i { transition: transform 300ms ease; }
.fc-service-card:hover .fc-link-arrow { color: var(--fc-gold); }
.fc-service-card:hover .fc-link-arrow i { transform: translateX(5px); }

/* ---------- Why-us cards ---------- */
.fc-why-card { transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease; }
.fc-why-card:hover { transform: translateY(-6px); border-color: rgba(239, 127, 26, 0.25); box-shadow: 0 18px 36px rgba(26, 26, 26, 0.08); }
.fc-why-icon { transition: background-color 350ms ease, color 350ms ease, transform 500ms cubic-bezier(.34, 1.56, .64, 1); }
.fc-why-card:hover .fc-why-icon { background: #ef7f1a; color: #fff; transform: rotate(-8deg) scale(1.08); }

/* ---------- Fleet ---------- */
.fc-fleet-glow { animation: fcGlowDrift 12000ms ease-in-out infinite; }
.fc-car-card { transition: transform 400ms ease, box-shadow 400ms ease; }
.fc-car-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(239, 127, 26, 0.3);
}
.fc-car-img img { transition: transform 900ms cubic-bezier(.22, .61, .36, 1); }
.fc-car-card:hover .fc-car-img img { transform: scale(1.07); }
.fc-car-amenities span { transition: background-color 250ms ease, color 250ms ease; }
.fc-car-amenities span:hover { background: rgba(239, 127, 26, 0.12); color: var(--fc-gold); }

.fc-fleet-item.is-leaving .fc-car-card { opacity: 0 !important; transform: scale(.95) !important; transition: opacity 250ms ease, transform 250ms ease !important; }
.fc-car-card.is-entering { animation: fcCardIn 500ms cubic-bezier(.22, .61, .36, 1) both; animation-delay: var(--fc-delay, 0ms); }

.fc-tab { transition: background-color 300ms ease, color 300ms ease, transform 200ms ease; }
.fc-tab:active { transform: scale(.96); }

/* ---------- FAQ ---------- */
.fc-acc-item { transition: border-color 300ms ease, background-color 300ms ease; }
.fc-acc-item:hover { border-color: rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.06); }
.fc-acc-item:has(.fc-acc-btn:not(.collapsed)) { border-color: rgba(239, 127, 26, 0.35); }
.fc-acc-icon { transition: transform 400ms cubic-bezier(.34, 1.56, .64, 1), background-color 300ms ease, color 300ms ease, border-color 300ms ease; }

/* ---------- Contact ---------- */
.fc-contact-icon { transition: background-color 300ms ease, color 300ms ease, transform 400ms cubic-bezier(.34, 1.56, .64, 1); }
.fc-contact-list li:hover .fc-contact-icon { background: var(--fc-orange); border-color: var(--fc-orange); color: #fff; transform: scale(1.1); }

/* ---------- Reviews ---------- */
.fc-review-card { transition: transform 400ms ease, box-shadow 400ms ease; }
.fc-review-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(26, 26, 26, 0.08); }
.fc-review-stars i { transition: transform 300ms ease; }
.fc-review-card:hover .fc-review-stars i { transform: scale(1.15); }
.fc-review-card:hover .fc-review-stars i:nth-child(2) { transition-delay: 40ms; }
.fc-review-card:hover .fc-review-stars i:nth-child(3) { transition-delay: 80ms; }
.fc-review-card:hover .fc-review-stars i:nth-child(4) { transition-delay: 120ms; }
.fc-review-card:hover .fc-review-stars i:nth-child(5) { transition-delay: 160ms; }
.fc-slider-btn { transition: background-color 250ms ease, color 250ms ease, transform 250ms ease, border-color 250ms ease; }
.fc-slider-btn:hover { background: #1a1a1a; border-color: #1a1a1a; color: #fff; transform: scale(1.06); }

/* ---------- Footer ---------- */
.fc-footer-links a { display: inline-block; transition: color 250ms ease, transform 250ms ease; }
.fc-footer-links a:hover { transform: translateX(5px); }
.fc-social a { display: inline-block; transition: color 250ms ease, transform 300ms cubic-bezier(.34, 1.56, .64, 1); }
.fc-social a:hover { transform: translateY(-4px) scale(1.15); }
.fc-map-btn:hover i { animation: fcPinBounce 600ms ease; }

/* =========================================================
   RESPONSIVE
   (column counts are handled by the col-* classes in the HTML)
   ========================================================= */
@media (max-width: 1599px) {
    .fc-strip-item { font-size: 17px; }
    .fc-strip-item i { font-size: 28px; width: 34px; }
}

@media (max-width: 1499px) {
    .fc-hero-inner { padding: 60px 48px 40px 80px; }
    .fc-strip-box { padding: 24px 32px; }
    .fc-wrap-wide { padding: 0 48px; }
}

@media (max-width: 1399px) {
    .fc-strip-item { justify-content: flex-start; }
    .fc-service-card, .fc-car-card { padding: 24px; }
    .fc-service-card h3, .fc-car-card h3 { font-size: 22px; line-height: 30px; }
    .fc-fleet-title { max-width: 100%; }
}

@media (max-width: 1199px) {
    .fc-hero-inner { padding: 80px 40px 60px; }
    .fc-hero-content { max-width: 100%; }
    .fc-hero-form-wrap { max-width: 640px; margin-left: 0; }
    .fc-hero-shade {
        background:
            linear-gradient(to right, rgba(0, 0, 0, 0.9) 0px, rgba(0, 0, 0, 0.3) 900px),
            linear-gradient(to top, #000 0px, rgba(0, 0, 0, 0) 500px);
    }
    .fc-wrap-wide { padding: 0 32px; }
    .fc-slider { gap: 20px; }
}

@media (max-width: 991px) {
    .fc-serif-title { font-size: 40px; line-height: 50px; }
    .fc-sans-title { font-size: 32px; line-height: 38px; }
    .fc-reviews-title { font-size: 42px; line-height: 50px; }
    .fc-section-title { margin-bottom: 56px; }
    .fc-section-title p { font-size: 17px; line-height: 29px; }
    .fc-service-card h3, .fc-car-card h3 {
    font-size: 18px;
}
.fc-car-specs span{
    font-size: 10px;
}
.fc-car-specs {
    padding: 10px 8px;
}
.fc-btn-gold{
    font-size: 12px;
}
    .fc-footer { padding: 48px 32px 24px; }

}

@media (max-width: 767px) {
    .fc-hero { min-height: 0; }
    .fc-hero-inner { padding: 64px 20px 48px; }
    .fc-hero-title { font-size: 36px; line-height: 44px; }
    .fc-hero-title span { line-height: 44px; }
    .fc-hero-contact { display: flex; flex-direction: column; align-items: stretch; }
    .fc-hero-contact .fc-hero-sep { display: none; }
    .fc-hero-checks .fc-hero-sep { display: none; }
    .fc-hero-form-wrap { padding: 24px; border-radius: 20px; }

    .fc-strip { padding: 10px 16px; }
    .fc-strip-box { padding: 20px; }
    .fc-strip-item { font-size: 15px; white-space: normal; line-height: 20px; }
    .fc-strip-item i { font-size: 24px; width: 30px; }

    .fc-services, .fc-fleet { padding: 64px 0; }
    .fc-why, .fc-faq, .fc-contact { padding: 64px 0; }
    .fc-wrap-wide, .fc-wrap { padding: 0 20px; }

    .fc-why-list { margin-top: 40px; }
    .fc-fleet-head { margin-bottom: 40px; }
    .fc-fleet-tabs { gap: 6px; }
    .fc-tab { padding: 8px 14px; font-size: 14px; letter-spacing: 1px; }

    .fc-contact-form { padding: 24px; }

    .fc-reviews { padding: 64px 20px; }
    .fc-slider { flex-wrap: wrap; justify-content: center; gap: 24px 16px; margin-top: 40px; }
    .fc-slider-viewport { flex: 0 0 100%; order: -1; }

    .fc-footer { padding: 48px 20px 24px; }
}

@media (max-width: 575px) {
    .fc-serif-title { font-size: 32px; line-height: 40px; }
    .fc-sans-title { font-size: 28px; line-height: 34px; }
    .fc-reviews-title { font-size: 34px; line-height: 42px; }
    .fc-hero-title { font-size: 32px; line-height: 40px; }
    .fc-hero-title span { line-height: 40px; }
    .fc-hero-form-wrap .fc-btn-orange { width: 100%; }

    .fc-service-img { height: 200px; }
    .fc-car-img { height: 210px; }
    .fc-service-card, .fc-car-card { padding: 20px; }
    .fc-service-foot, .fc-car-foot { flex-wrap: wrap; }
    .fc-car-top { flex-wrap: wrap; }
    .fc-car-specs { flex-wrap: wrap; padding: 14px; }
    .fc-car-specs span { flex: 0 0 auto; letter-spacing: 1px; }
    .fc-car-amenities span { white-space: normal; line-height: 22px; padding: 6px 10px; }
    .fc-btn-gold { width: 100%; }
    .fc-glass-tag { font-size: 12px; letter-spacing: 1px; }
}

/* ---------- Respect the "reduce motion" system setting ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        transition-delay: 0ms !important;
    }
    .fc-anim [data-anim] { opacity: 1; transform: none; }
}

/* #########################################################
   INNER PAGES — About / Services / Service Single
   New modules. Same rules: px only, Bootstrap row/col, no CSS grid.
   ######################################################### */

.fc-page-banner, .fc-story, .fc-stats, .fc-mvv, .fc-timeline-sec, .fc-cta,
.fc-marquee, .fc-process, .fc-plans, .fc-detail, .fc-related, .fc-services-intro { overflow-x: clip; }

.fc-gutter-12 { --bs-gutter-x: 12px; --bs-gutter-y: 12px; }
.fc-gutter-60 { --bs-gutter-x: 60px; --bs-gutter-y: 40px; }
@media (max-width: 1339px) {
    .fc-gutter-60 { --bs-gutter-x: 40px; }
}

/* Shared section heading block */
.fc-head-block { max-width: 760px; margin: 0 auto 64px; text-align: center; }
.fc-head-block .fc-eyebrow-gold { margin-bottom: 10px; }
.fc-head-block p {
    margin-top: 20px;
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 30px;
    color: var(--fc-sand);
}
.fc-head-block.is-light p { color: var(--fc-grey); font-weight: 400; font-size: 16px; line-height: 26px; }
.fc-head-left { text-align: left; margin-left: 0; }

.fc-btn-white {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    padding: 0 28px;
    border-radius: 12px;
    background: #fff;
    color: #111;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 20px;
    transition: transform 250ms ease, box-shadow 250ms ease;
}
.fc-btn-white:hover { color: #111; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2); }
.fc-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 52px;
    padding: 0 26px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    color: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 20px;
    transition: background-color 250ms ease, color 250ms ease;
}
.fc-btn-ghost:hover { background: #fff; color: #111; }

/* =========================================================
   MODULE: Page banner + breadcrumb
   ========================================================= */
.fc-page-banner {
    position: relative;
    min-height: 480px;
    display: flex;
    align-items: flex-end;
    padding: 170px 0 80px;
    background: #111111;
    overflow: hidden;
}
.fc-page-banner-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    animation: fcKenBurns 9000ms ease-out both;
}
.fc-page-banner-bg::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45); }
.fc-page-banner-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to right, rgba(0, 0, 0, 0.92) 0px, rgba(0, 0, 0, 0) 1000px),
        linear-gradient(to top, #111111 0px, rgba(17, 17, 17, 0) 260px);
}
.fc-page-banner .fc-wrap-wide { z-index: 2; }
.fc-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--fc-sand);
}
.fc-breadcrumb a { color: var(--fc-gold); }
.fc-breadcrumb a:hover { color: #fff; }
.fc-breadcrumb i { font-size: 9px; color: rgba(255, 255, 255, 0.4); }
.fc-page-title {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 64px;
    line-height: 74px;
    letter-spacing: -1px;
    color: #fff;
    max-width: 820px;
}
.fc-page-title span { color: var(--fc-gold); font-style: italic; }
.fc-page-sub {
    max-width: 640px;
    margin-top: 20px;
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 30px;
    color: #d4d4d4;
}
.fc-breadcrumb, .fc-page-title, .fc-page-sub, .fc-banner-chips { animation: fcRiseIn 900ms cubic-bezier(.22, .61, .36, 1) both; }
.fc-breadcrumb   { animation-delay: 150ms; }
.fc-page-title   { animation-delay: 300ms; }
.fc-page-sub     { animation-delay: 450ms; }
.fc-banner-chips { animation-delay: 600ms; }
.fc-banner-chips { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.fc-banner-chips span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
}
.fc-banner-chips i { color: var(--fc-gold); }

/* =========================================================
   MODULE: Our story (image collage + text)
   ========================================================= */
.fc-story { background: #fff; padding: 110px 0; }
.fc-story-media { position: relative; padding: 0 70px 70px 0; }
.fc-story-img {
    height: 520px;
    border-radius: 20px;
    overflow: hidden;
    background: #e3e3e3;
}
.fc-story-img img, .fc-story-img-sm img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.22, .61, .36, 1); }
.fc-story-media:hover .fc-story-img img { transform: scale(1.05); }
.fc-story-img-sm {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 280px;
    height: 230px;
    border-radius: 16px;
    border: 8px solid #fff;
    overflow: hidden;
    background: #d6d6d6;
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.15);
}
@keyframes fcFloat {
    0%, 100% { transform: translateY(0px); }
    50%      { transform: translateY(-10px); }
}
.fc-story-badge {
    position: absolute;
    left: 28px;
    top: 28px;
    padding: 20px 24px;
    border-radius: 16px;
    background: var(--fc-orange);
    color: #fff;
    box-shadow: 0 16px 32px rgba(239, 127, 26, 0.35);
    animation: fcFloat 4000ms ease-in-out infinite;
}
.fc-story-badge strong { display: block; font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 44px; line-height: 48px; }
.fc-story-badge > span { display: block; font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 18px; letter-spacing: 1.5px; text-transform: uppercase; }

.fc-story-text p {
    margin-top: 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 28px;
    color: var(--fc-grey);
}
.fc-checklist { margin-top: 28px; }
.fc-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
    color: var(--fc-ink);
}
.fc-checklist li i {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fdf1e6;
    color: var(--fc-orange);
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fc-story-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 36px; }
.fc-call-inline { display: flex; align-items: center; gap: 14px; color: var(--fc-ink); }
.fc-call-inline i {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fc-orange);
    font-size: 18px;
    transition: background-color 300ms ease, color 300ms ease;
}
.fc-call-inline small { display: block; font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 18px; color: var(--fc-grey); }
.fc-call-inline b { display: block; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 17px; line-height: 24px; }
.fc-call-inline:hover { color: var(--fc-orange); }
.fc-call-inline:hover i { background: var(--fc-orange); color: #fff; }

/* =========================================================
   MODULE: Stats counter
   ========================================================= */
.fc-stats {
    position: relative;
    background: #111111;
    padding: 80px 0;
    border-top: 1px solid rgba(239, 127, 26, 0.12);
    border-bottom: 1px solid rgba(239, 127, 26, 0.12);
}
.fc-stat { position: relative; text-align: center; padding: 10px 0; }
.fc-stat i { font-size: 26px; color: var(--fc-gold); margin-bottom: 14px; display: block; }
.fc-stat-num {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 52px;
    line-height: 60px;
    color: #fff;
}
.fc-stat-num em { font-style: normal; color: var(--fc-gold); }
.fc-stat-label {
    margin-top: 8px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--fc-sand);
}
@media (min-width: 992px) {
    .fc-stats .col-lg-3 + .col-lg-3 .fc-stat::before {
        content: "";
        position: absolute;
        left: -15px;
        top: 50%;
        width: 1px;
        height: 90px;
        margin-top: -45px;
        background: rgba(255, 255, 255, 0.12);
    }
}

/* =========================================================
   MODULE: Mission / Vision / Values cards
   ========================================================= */
.fc-mvv { background: #000; padding: 110px 0; }
.fc-mvv-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    background: var(--fc-card-dark);
    border-radius: 20px;
    padding: 40px 32px;
    transition: transform 400ms ease, box-shadow 400ms ease;
}
.fc-mvv-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0px;
    height: 3px;
    background: linear-gradient(90deg, var(--fc-gold), var(--fc-orange));
    transition: width 500ms ease;
}
.fc-mvv-card:hover { transform: translateY(-8px); box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(239, 127, 26, 0.25); }
.fc-mvv-card:hover::after { width: 100%; }
.fc-mvv-num {
    position: absolute;
    top: 18px;
    right: 26px;
    font-family: 'Playfair Display', serif;
    font-size: 80px;
    line-height: 80px;
    color: rgba(239, 127, 26, 0.07);
    transition: color 400ms ease;
}
.fc-mvv-card:hover .fc-mvv-num { color: rgba(239, 127, 26, 0.16); }
.fc-mvv-icon {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: rgba(239, 127, 26, 0.1);
    color: var(--fc-gold);
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
    transition: background-color 350ms ease, color 350ms ease, transform 500ms cubic-bezier(.34, 1.56, .64, 1);
}
.fc-mvv-card:hover .fc-mvv-icon { background: var(--fc-gold); color: var(--fc-gold-dark); transform: rotate(-8deg) scale(1.06); }
.fc-mvv-card h3 {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: var(--fc-light);
    margin-bottom: 14px;
}
.fc-mvv-card p {
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 27px;
    color: var(--fc-sand);
}

/* =========================================================
   MODULE: Journey timeline
   ========================================================= */
.fc-timeline-sec { background: #f3f3f3; padding: 110px 24px; }
.fc-timeline-sec .fc-head-center { margin-bottom: 70px; }
.fc-timeline { position: relative; max-width: 1040px; margin: 0 auto; }
.fc-timeline::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    margin-left: -1px;
    background: linear-gradient(to bottom, rgba(239, 127, 26, 0), #ef7f1a 60px, #ef7f1a calc(100% - 60px), rgba(239, 127, 26, 0));
}
.fc-tl-row { --bs-gutter-x: 80px; --bs-gutter-y: 0px; }
.fc-tl-row + .fc-tl-row { margin-top: 28px; }
.fc-tl-card {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 28px 30px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: transform 400ms ease, box-shadow 400ms ease;
}
.fc-tl-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(26, 26, 26, 0.08); }
.fc-tl-card::before {
    content: "";
    position: absolute;
    top: 34px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 4px solid #ef7f1a;
    box-shadow: 0 0 0 6px rgba(239, 127, 26, 0.15);
}
.fc-tl-left .fc-tl-card { text-align: right; }
.fc-tl-left .fc-tl-card::before { right: -49px; }
.fc-tl-right .fc-tl-card::before { left: -49px; }
.fc-tl-year {
    display: inline-block;
    margin-bottom: 8px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 2.4px;
    color: #ef7f1a;
}
.fc-tl-card h3 {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    color: #1a1a1a;
    margin-bottom: 8px;
}
.fc-tl-card p { font-size: 15px; line-height: 25px; color: #5c5c5c; }

/* =========================================================
   MODULE: CTA band
   ========================================================= */
.fc-cta { background: #000; padding: 100px 0; }
.fc-cta.is-dark-blue { background: #111111; }
@keyframes fcGradientShift {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}
.fc-cta-box {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 64px;
    background: linear-gradient(120deg, #d96d0e 0%, #ef7f1a 30%, #f5a35a 50%, #ef7f1a 70%, #d96d0e 100%);
    background-size: 200% 100%;
    animation: fcGradientShift 10000ms ease-in-out infinite;
}
.fc-cta-box::before {
    content: "\f5e4";
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 40px;
    bottom: -60px;
    font-size: 240px;
    line-height: 240px;
    color: rgba(255, 255, 255, 0.08);
    transform: rotate(-8deg);
    pointer-events: none;
}
.fc-cta-box .row { position: relative; z-index: 1; }
.fc-cta-box h2 {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 48px;
    color: #fff;
}
.fc-cta-box p {
    margin-top: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 17px;
    line-height: 28px;
    color: rgba(255, 255, 255, 0.9);
}
.fc-cta-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-end; }

/* =========================================================
   MODULE: Cities marquee
   ========================================================= */
@keyframes fcMarquee {
    from { transform: translateX(0px); }
    to   { transform: translateX(-50%); }
}
.fc-marquee {
    background: #111111;
    padding: 30px 0;
    border-top: 1px solid rgba(239, 127, 26, 0.12);
    border-bottom: 1px solid rgba(239, 127, 26, 0.12);
    overflow: hidden;
}
.fc-marquee-track {
    display: flex;
    width: max-content;
    animation: fcMarquee 45000ms linear infinite;
}
.fc-marquee:hover .fc-marquee-track { animation-play-state: paused; }
.fc-marquee-track span {
    display: inline-flex;
    align-items: center;
    gap: 36px;
    padding-right: 36px;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: 3px;
    text-transform: uppercase;
    white-space: nowrap;
    color: transparent;
    -webkit-text-stroke: 1px rgba(227, 227, 227, 0.45);
    transition: color 300ms ease;
}
.fc-marquee-track span:hover { color: var(--fc-gold); -webkit-text-stroke-color: var(--fc-gold); }
.fc-marquee-track span i { font-size: 14px; color: var(--fc-gold); -webkit-text-stroke: 0px; }

/* =========================================================
   MODULE: Services page intro (services grid uses home styles)
   ========================================================= */
.fc-services-intro { background: #000; padding: 110px 0 80px; }

/* =========================================================
   MODULE: How it works (process steps)
   ========================================================= */
.fc-process { background: #fff; padding: 110px 0; }
.fc-step { position: relative; text-align: center; padding: 0 10px; }
.fc-step-icon {
    position: relative;
    width: 96px;
    height: 96px;
    margin: 0 auto;
    border-radius: 50%;
    background: #fdf1e6;
    border: 2px dashed rgba(239, 127, 26, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fc-orange);
    font-size: 32px;
    transition: background-color 400ms ease, color 400ms ease, border-color 400ms ease, transform 600ms cubic-bezier(.34, 1.56, .64, 1);
}
.fc-step-icon b {
    position: absolute;
    top: -2px;
    right: -6px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--fc-ink);
    color: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 30px;
    text-align: center;
}
.fc-step:hover .fc-step-icon { background: var(--fc-orange); border-color: var(--fc-orange); color: #fff; transform: rotate(-10deg) scale(1.06); }
.fc-step h3 {
    margin-top: 26px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: var(--fc-ink);
}
.fc-step p {
    margin-top: 10px;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    line-height: 25px;
    color: var(--fc-grey);
}
@media (min-width: 992px) {
    .fc-process .col-lg-3:not(:last-child) .fc-step::after {
        content: "";
        position: absolute;
        top: 48px;
        left: calc(50% + 66px);
        width: calc(100% - 102px);
        border-top: 2px dashed #e3e3e3;
    }
}

/* =========================================================
   MODULE: Packages / pricing plans
   ========================================================= */
.fc-plans { position: relative; background: #111111; padding: 110px 0; }
.fc-plan {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--fc-card-dark);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    padding: 40px 32px 32px;
    color: inherit;
    transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
}
a.fc-plan:hover { color: inherit; transform: translateY(-8px); border-color: rgba(239, 127, 26, 0.35); box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.7); }
a.fc-plan:focus-visible { outline: 2px solid var(--fc-gold); outline-offset: 4px; }
.fc-plan.is-featured {
    border-color: rgba(239, 127, 26, 0.5);
    background: linear-gradient(180deg, rgba(239, 127, 26, 0.1) 0px, var(--fc-card-dark) 260px);
}
.fc-plan-ribbon {
    position: absolute;
    top: 22px;
    right: 22px;
    padding: 5px 14px;
    border-radius: 999px;
    background: var(--fc-gold);
    color: var(--fc-gold-dark);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.fc-plan-icon { font-size: 26px; color: var(--fc-gold); margin-bottom: 20px; }
.fc-plan h3 {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: var(--fc-light);
}
.fc-plan-desc {
    margin-top: 8px;
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 24px;
    color: var(--fc-sand);
}
.fc-plan-price {
    margin: 26px 0;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(114, 114, 114, 0.4);
    font-family: 'Outfit', sans-serif;
}
.fc-plan-price strong { font-weight: 700; font-size: 42px; line-height: 50px; color: var(--fc-gold); }
.fc-plan-price span { font-size: 16px; line-height: 24px; color: var(--fc-sand); }
.fc-plan-list { flex: 1 1 auto; margin-bottom: 32px; }
.fc-plan-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: var(--fc-light);
}
.fc-plan-list li + li { margin-top: 14px; }
.fc-plan-list li i { flex: 0 0 18px; padding-top: 4px; font-size: 14px; color: var(--fc-gold); }
.fc-plan-list li.is-off { color: rgba(185, 185, 185, 0.45); }
.fc-plan-list li.is-off i { color: rgba(185, 185, 185, 0.35); }
.fc-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 20px;
    border-radius: 10px;
    border: 1px solid rgba(239, 127, 26, 0.6);
    color: var(--fc-gold);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 1.5px;
    transition: background-color 300ms ease, color 300ms ease;
}
.fc-plan .fc-btn-gold, .fc-plan .fc-btn-outline { width: 100%; height: 48px; }
a.fc-plan:hover .fc-btn-outline { background: var(--fc-gold); color: var(--fc-gold-dark); }
a.fc-plan:hover .fc-btn-gold { background: #d96d0e; box-shadow: 0 10px 24px rgba(239, 127, 26, 0.3); }
a.fc-plan:hover .fc-btn-gold::after { left: calc(100% + 30px); transition: left 650ms ease; }

/* =========================================================
   MODULE: Service detail (main + sticky sidebar)
   ========================================================= */
.fc-detail { background: #111111; padding: 100px 0; }
.fc-detail-img {
    position: relative;
    height: 460px;
    border-radius: 20px;
    overflow: hidden;
    background: #2a2a2a;
}
.fc-detail-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms cubic-bezier(.22, .61, .36, 1); }
.fc-detail-img:hover img { transform: scale(1.04); }
.fc-detail-img .fc-glass-tag { top: 20px; right: 20px; }
.fc-detail-block { margin-top: 48px; }
.fc-detail-block:first-child { margin-top: 0; }
.fc-detail-h {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 26px;
    line-height: 34px;
    color: var(--fc-light);
}
.fc-detail-h::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: var(--fc-gold); }
.fc-detail-title { margin: 36px 0 18px; }
.fc-detail-text p {
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 17px;
    line-height: 30px;
    color: var(--fc-sand);
}
.fc-detail-text p + p { margin-top: 16px; }

.fc-hl {
    height: 100%;
    background: var(--fc-card-dark);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    padding: 24px 20px;
    transition: transform 400ms ease, border-color 400ms ease;
}
.fc-hl:hover { transform: translateY(-5px); border-color: rgba(239, 127, 26, 0.3); }
.fc-hl i { font-size: 24px; color: var(--fc-gold); margin-bottom: 16px; display: block; transition: transform 500ms cubic-bezier(.34, 1.56, .64, 1); }
.fc-hl:hover i { transform: scale(1.18) rotate(-8deg); }
.fc-hl h4 {
    margin: 0 0 6px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 24px;
    color: var(--fc-light);
}
.fc-hl p { font-family: 'Outfit', sans-serif; font-weight: 300; font-size: 14px; line-height: 22px; color: var(--fc-sand); }

.fc-included li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: var(--fc-light);
}
.fc-included li i { flex: 0 0 18px; padding-top: 5px; font-size: 15px; color: var(--fc-gold); }

.fc-mini-steps li { display: flex; gap: 18px; position: relative; padding-bottom: 28px; }
.fc-mini-steps li:last-child { padding-bottom: 0; }
.fc-mini-steps li::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 48px;
    bottom: 4px;
    width: 1px;
    background: rgba(239, 127, 26, 0.25);
}
.fc-mini-steps li:last-child::before { display: none; }
.fc-mini-steps b {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(239, 127, 26, 0.5);
    color: var(--fc-gold);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 42px;
    text-align: center;
    transition: background-color 300ms ease, color 300ms ease;
}
.fc-mini-steps li:hover b { background: var(--fc-gold); color: var(--fc-gold-dark); }
.fc-mini-steps h4 { margin: 0 0 4px; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 18px; line-height: 26px; color: var(--fc-light); }
.fc-mini-steps p { font-family: 'Outfit', sans-serif; font-weight: 300; font-size: 15px; line-height: 25px; color: var(--fc-sand); }

.fc-mini-car {
    display: block;
    height: 100%;
    background: var(--fc-card-dark);
    border-radius: 16px;
    padding: 14px 14px 18px;
    color: inherit;
    transition: transform 400ms ease, box-shadow 400ms ease;
}
.fc-mini-car:hover { color: inherit; transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.7), inset 0 0 0 1px rgba(239, 127, 26, 0.3); }
.fc-mini-car:focus-visible { outline: 2px solid var(--fc-gold); outline-offset: 4px; }
.fc-mini-car-img { height: 140px; border-radius: 10px; overflow: hidden; background: #2a2a2a; margin-bottom: 14px; }
.fc-mini-car-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms ease; }
.fc-mini-car:hover .fc-mini-car-img img { transform: scale(1.08); }
.fc-mini-car h4 { margin: 0 4px 4px; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 16px; line-height: 22px; color: var(--fc-light); }
.fc-mini-car span { display: block; margin: 0 4px; font-family: 'Outfit', sans-serif; font-size: 14px; line-height: 20px; color: var(--fc-gold); }

.fc-detail .fc-accordion .fc-acc-item { background: var(--fc-card-dark); }

/* Sidebar */
.fc-sidebar { display: flex; flex-direction: column; gap: 24px; }
/* sticky only when the whole sidebar fits on screen, so nothing gets hidden */
@media (min-width: 992px) and (min-height: 1250px) {
    .fc-sidebar { position: sticky; top: 100px; }
}
.fc-side-box {
    background: var(--fc-card-dark);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    padding: 28px;
}
.fc-side-box h3 {
    margin-bottom: 20px;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    color: #fff;
}
.fc-side-box .fc-side-eyebrow {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 20px;
    color: #ef7f1a;
}
.fc-form-dark input[type="date"], .fc-form-dark input[type="time"] { color-scheme: dark; }
.fc-side-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: -8px 0 20px;
    font-family: 'Outfit', sans-serif;
    color: var(--fc-sand);
    font-size: 14px;
}
.fc-side-price strong { font-size: 28px; line-height: 34px; color: var(--fc-gold); font-weight: 700; }

.fc-side-links li + li { margin-top: 8px; }
.fc-side-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 22px;
    color: var(--fc-light);
    transition: background-color 300ms ease, color 300ms ease, padding 300ms ease;
}
.fc-side-links a i { font-size: 11px; color: var(--fc-gold); transition: transform 300ms ease; }
.fc-side-links a:hover { background: rgba(239, 127, 26, 0.1); color: var(--fc-gold); padding-left: 22px; }
.fc-side-links a:hover i { transform: translateX(4px); }
.fc-side-links a.is-active { background: var(--fc-gold); color: var(--fc-gold-dark); }
.fc-side-links a.is-active i { color: var(--fc-gold-dark); }

.fc-help-box {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 30px 28px;
    background: linear-gradient(140deg, #ef7f1a 0px, #d96d0e 400px);
    color: #fff;
}
.fc-help-box::after {
    content: "\f590";
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: -14px;
    bottom: -26px;
    font-size: 130px;
    line-height: 130px;
    color: rgba(255, 255, 255, 0.12);
}
.fc-help-box h3 { position: relative; font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 22px; line-height: 30px; }
.fc-help-box p { position: relative; margin-top: 8px; font-family: 'Outfit', sans-serif; font-size: 15px; line-height: 24px; color: rgba(255, 255, 255, 0.9); }
.fc-help-phone {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 30px;
    color: #fff;
}
.fc-help-phone:hover { color: #fff; opacity: .85; }
.fc-help-wa {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    height: 46px;
    border-radius: 12px;
    background: #fff;
    color: #111;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 15px;
    transition: transform 250ms ease, box-shadow 250ms ease;
}
.fc-help-wa i { color: #25d366; font-size: 20px; }
.fc-help-wa:hover { color: #111; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18); }

/* =========================================================
   MODULE: Related services
   ========================================================= */
.fc-related { background: #000; padding: 100px 0 0; }
.fc-related-head { margin-bottom: 50px; }
.fc-link-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 1.8px;
    color: var(--fc-gold);
}
.fc-link-all i { transition: transform 300ms ease; }
.fc-link-all:hover { color: #fff; }
.fc-link-all:hover i { transform: translateX(6px); }

/* =========================================================
   INNER PAGES — responsive
   ========================================================= */
@media (max-width: 1399px) {
    .fc-page-title { font-size: 56px; line-height: 66px; }
}
@media (max-width: 1199px) {
    .fc-story-img { height: 460px; }
    .fc-cta-box { padding: 52px 44px; }
    .fc-cta-actions { justify-content: flex-start; }
    .fc-detail-img { height: 400px; }
}
@media (max-width: 991px) {
    .fc-page-banner { min-height: 400px; padding: 140px 0 64px; }
    .fc-page-title { font-size: 46px; line-height: 56px; }
    .fc-story, .fc-mvv, .fc-timeline-sec, .fc-process, .fc-plans { padding-top: 80px; padding-bottom: 80px; }
    .fc-services-intro { padding-top: 80px; }
    .fc-head-block { margin-bottom: 48px; }
    .fc-cta { padding: 80px 0; }
    .fc-cta-box h2 { font-size: 32px; line-height: 40px; }
    .fc-detail { padding: 80px 0; }
    .fc-related { padding-top: 80px; }

    /* timeline: single line on the left */
    .fc-timeline::before { left: 9px; }
    .fc-tl-row > [class*="col-"] { margin-left: 0; }
    .fc-tl-left .fc-tl-card, .fc-tl-right .fc-tl-card { text-align: left; margin-left: 40px; }
    .fc-tl-left .fc-tl-card::before, .fc-tl-right .fc-tl-card::before { left: -40px; right: auto; }
}
@media (max-width: 767px) {
    .fc-page-banner { min-height: 0; padding: 120px 0 56px; }
    .fc-page-title { font-size: 38px; line-height: 46px; }
    .fc-page-sub { font-size: 16px; line-height: 26px; }
    .fc-story, .fc-mvv, .fc-process, .fc-plans { padding-top: 64px; padding-bottom: 64px; }
    .fc-timeline-sec { padding: 64px 20px; }
    .fc-services-intro { padding-top: 64px; }
    .fc-story-media { padding: 0 30px 50px 0; }
    .fc-story-img { height: 360px; }
    .fc-story-img-sm { width: 180px; height: 150px; border-width: 6px; }
    .fc-story-badge { left: 16px; top: 16px; padding: 14px 18px; }
    .fc-story-badge strong { font-size: 34px; line-height: 38px; }
    .fc-stats { padding: 56px 0; }
    .fc-stat-num { font-size: 40px; line-height: 48px; }
    .fc-marquee-track span { font-size: 22px; line-height: 30px; gap: 24px; padding-right: 24px; }
    .fc-cta { padding: 64px 0; }
    .fc-cta-box { padding: 40px 28px; border-radius: 20px; }
    .fc-cta-box::before { font-size: 160px; line-height: 160px; right: 10px; bottom: -40px; }
    .fc-detail { padding: 64px 0; }
    .fc-detail-img { height: 280px; }
    .fc-detail-h { font-size: 22px; line-height: 30px; }
    .fc-related { padding-top: 64px; }
    .fc-related-head { margin-bottom: 36px; }
}
@media (max-width: 575px) {
    .fc-page-title { font-size: 32px; line-height: 40px; }
    .fc-cta-actions a { width: 100%; }
    .fc-plan { padding: 32px 24px 24px; }
    .fc-side-box { padding: 22px; }
}
.fc-mini-steps { margin: 0; padding-left: 0; list-style: none; }
.fc-related-head .fc-eyebrow-gold { margin-bottom: 10px; }

/* =========================================================
   SLICK SLIDER — reviews
   (slick.min.css handles the mechanics; this is the look)
   ========================================================= */
.fc-slider-viewport { padding: 0; }
.fc-review-slider .slick-list { margin: 0 -12px; padding: 8px 0 16px; }
.fc-review-slider .slick-track { display: flex; }
.fc-review-slider .slick-slide { height: auto; padding: 0 12px; outline: none; }
.fc-review-slider .fc-review-card { height: 100%; }

/* before Slick starts (or if JS is off): show the cards side by side, not stacked */
.fc-review-slider:not(.slick-initialized) { display: flex; overflow: hidden; margin: 0 -12px; padding: 8px 0 16px; }
.fc-review-slider:not(.slick-initialized) .fc-slide { flex: 0 0 33.3333%; padding: 0 12px; }
@media (max-width: 1199px) { .fc-review-slider:not(.slick-initialized) .fc-slide { flex-basis: 50%; } }
@media (max-width: 767px)  { .fc-review-slider:not(.slick-initialized) .fc-slide { flex-basis: 100%; } }

.fc-slider-btn.slick-hidden { display: none; }

.fc-slider-dots .slick-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}
.fc-slider-dots .slick-dots li { margin: 0; }
.fc-slider-dots .slick-dots button {
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cfcfcf;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    transition: width 350ms ease, background-color 350ms ease;
}
.fc-slider-dots .slick-dots button:hover { background: #a5a5a5; }
.fc-slider-dots .slick-dots .slick-active button { width: 32px; background: #ef7f1a; }
.fc-slider-dots .slick-dots li:only-child { display: none; }


/* =========================================================
   Fab Cars — Services & Service Details pages
   
   ========================================================= */

.sv-services, .sv-features, .sv-chauffeur, .sd-intro, .sd-why, .sd-split,
.sd-fleet, .sd-airports, .sd-mumbai { overflow-x: clip; }

/* content width 1314px, same as the design */
.sv-wrap {
    width: 100%;
    max-width: 1362px;
    margin: 0 auto;
    padding: 0 24px;
}
.sv-gutter-0  { --bs-gutter-x: 0px;  --bs-gutter-y: 0px; }
.sv-gutter-13 { --bs-gutter-x: 13px; --bs-gutter-y: 13px; }
.sv-gutter-30 { --bs-gutter-x: 30px; --bs-gutter-y: 30px; }
.sv-gutter-why { --bs-gutter-x: 30px; --bs-gutter-y: 40px; }

.sv-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 42px;
    color: var(--fc-ink);
}
.sv-title.is-light { color: #fff; }
.sv-text {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: #5c5c5c;
}
.sv-text + .sv-text { margin-top: 14px; }

/* =========================================================
   BANNER (shorter version of the home hero)
   ========================================================= */
.fc-hero.sv-hero { min-height: 472px; }
.sv-hero .fc-hero-inner { padding: 40px 73px 40px 148px; }
.sv-hero .fc-hero-title { margin-bottom: 8px; }
.sv-hero .fc-hero-text { max-width: 500px; margin-bottom: 32px; }
.sv-hero .fc-hero-rating { margin: 22px 0 0; }
.sv-hero .fc-hero-rating { animation-delay: 900ms; }
.sv-hero .fc-hero-form-wrap { padding: 28px 32px; }
.sv-hero .fc-form-head { padding-bottom: 16px; }
.sv-hero .fc-textarea { height: 110px; }

/* =========================================================
   SERVICES PAGE — services grid (8 cards)
   ========================================================= */
.sv-services { background: #000; padding: 50px 0 120px; }
.sv-services-intro {
    margin-bottom: 48px;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 19px;
    color: #e3e3e3;
}
.sv-card {
    display: block;
    height: 100%;
    color: #fff;
}
.sv-card:hover, .sv-card:focus { color: #fff; }
.sv-card:focus-visible { outline: 2px solid var(--fc-orange); outline-offset: 6px; border-radius: 10px; }
.sv-card-img {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    overflow: hidden;
    background: #1c1c1c;
}
.sv-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.22, .61, .36, 1); }
.sv-card-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(239, 127, 26, 0.35) 0px, rgba(239, 127, 26, 0) 140px);
    opacity: 0;
    transition: opacity 500ms ease;
}
.sv-card:hover .sv-card-img img { transform: scale(1.08); }
.sv-card:hover .sv-card-img::after { opacity: 1; }
.sv-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
}
.sv-card-head h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: #fff;
    transition: color 300ms ease;
}
.sv-card-head i { font-size: 15px; color: #fff; transform: rotate(-45deg); transition: transform 350ms ease, color 300ms ease; }
.sv-card:hover .sv-card-head h3, .sv-card:hover .sv-card-head i { color: var(--fc-orange); }
.sv-card:hover .sv-card-head i { transform: rotate(-45deg) translateX(5px); }
.sv-card p {
    margin-top: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #d4d4d4;
}

/* =========================================================
   SERVICES PAGE — 3 feature cards
   ========================================================= */
.sv-features { background: #fff; padding: 40px 0; }
.sv-feature {
    height: 100%;
    background: #f5f5f5;
    border-radius: 4px;
    padding: 20px;
    transition: transform 400ms ease, box-shadow 400ms ease, background-color 400ms ease;
}
.sv-feature:hover { transform: translateY(-6px); background: #fff; box-shadow: 0 18px 36px rgba(26, 26, 26, 0.1); }
.sv-feature-icon {
    width: 60px;
    height: 60px;
    border-radius: 4px;
    background: var(--fc-orange);
    color: #fff;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 500ms cubic-bezier(.34, 1.56, .64, 1);
}
.sv-feature:hover .sv-feature-icon { transform: rotate(-8deg) scale(1.08); }
.sv-feature h3 {
    margin-top: 12px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 19px;
    color: var(--fc-ink);
}
.sv-feature p {
    margin-top: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 19px;
    color: #5c5c5c;
}

/* =========================================================
   SHARED — "More Than Just A Chauffeur Service" slider
   ========================================================= */
.sv-chauffeur {
    position: relative;
    min-height: 446px;
    padding: 70px 0 60px;
    background-color: #1a120d;
    background-size: cover;
    background-position: center;
}
.sv-chauffeur::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0px, rgba(20, 12, 6, 0.5) 220px, rgba(0, 0, 0, 0.7) 446px);
}
.sv-chauffeur .sv-wrap { position: relative; z-index: 1; max-width: 1150px; }
.sv-chauffeur .sv-title { text-align: center; font-size: 28px; line-height: 36px; margin-bottom: 40px; }

.sv-ch-slider .slick-list { margin: 0 -12px; }
.sv-ch-slider .slick-track { display: flex; }
.sv-ch-slider .slick-slide { height: auto; padding: 0 12px; outline: none; }
.sv-ch-slider:not(.slick-initialized) { display: flex; overflow: hidden; margin: 0 -12px; }
.sv-ch-slider:not(.slick-initialized) .sv-ch-item { flex: 0 0 33.3333%; padding: 0 12px; }
.sv-glass {
    height: 100%;
    min-height: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 26px 20px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    text-align: center;
    transition: background-color 350ms ease, border-color 350ms ease, transform 350ms ease;
}
.sv-glass i { font-size: 30px; color: var(--fc-orange); transition: transform 500ms cubic-bezier(.34, 1.56, .64, 1); }
.sv-glass span {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
}
.sv-glass:hover { background: rgba(239, 127, 26, 0.16); border-color: rgba(239, 127, 26, 0.6); transform: translateY(-4px); }
.sv-glass:hover i { transform: scale(1.15) rotate(-6deg); }

.sv-ch-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 30px;
}
.sv-ch-btn {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: transparent;
    color: #fff;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 250ms ease, border-color 250ms ease;
}
.sv-ch-btn:hover { background: var(--fc-orange); border-color: var(--fc-orange); }
.sv-ch-btn.slick-hidden { display: none; }
.sv-ch-controls .slick-dots {
    display: flex;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.sv-ch-controls .slick-dots li { margin: 0; }
.sv-ch-controls .slick-dots button {
    display: block;
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.45);
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    transition: width 350ms ease, background-color 350ms ease;
}
.sv-ch-controls .slick-active button { width: 22px; background: #fff; }
.sv-ch-controls .slick-dots li:only-child { display: none; }

/* =========================================================
   SERVICE DETAILS — intro (image + text + rings)
   ========================================================= */
.sd-intro { position: relative; background: #fff; overflow: clip; }   /* rings are cut off at the section edge, like the design */
.sd-img-full { height: 611px; overflow: hidden; background: #e3e3e3; }
.sd-img-full img { width: 100%; height: 100%; object-fit: cover; transition: transform 1400ms cubic-bezier(.22, .61, .36, 1); }
.sd-img-full:hover img { transform: scale(1.04); }
.sd-intro-text { position: relative; z-index: 1; max-width: 642px; padding: 40px 24px 40px 33px; }
.sd-intro-text .sv-title { margin-bottom: 16px; }
.sd-intro-text .fc-btn-orange { min-width: 113px; margin-top: 18px; }
@keyframes sdSpin { to { transform: rotate(360deg); } }
.sd-rings {
    position: absolute;
    right: -170px;
    bottom: -115px;
    width: 411px;
    height: 411px;
    border-radius: 50%;
    border: 40px solid #f2f2f2;
    pointer-events: none;
}
.sd-rings::after {
    content: "";
    position: absolute;
    left: 26px;
    top: 26px;
    width: 279px;
    height: 279px;
    border-radius: 50%;
    border: 22px solid #f2f2f2;
    border-top-color: #fdf1e6;
    animation: sdSpin 14000ms linear infinite;
}

/* =========================================================
   SERVICE DETAILS — Why choose (8 points)
   ========================================================= */
.sd-why { background: #000; padding: 60px 0; }
.sd-why .sv-title { color: #fff; font-size: 34px; line-height: 44px; }
.sd-why-item { height: 100%; }
.sd-why-icon {
    width: 48px;
    height: 48px;
    border-radius: 6px;
    background: #262626;
    color: #d4d4d4;
    font-size: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 350ms ease, color 350ms ease, transform 500ms cubic-bezier(.34, 1.56, .64, 1);
}
.sd-why-item:hover .sd-why-icon { background: var(--fc-orange); color: #fff; transform: rotate(-8deg); }
.sd-why-item h3 {
    margin-top: 16px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: #fff;
}
.sd-why-item p {
    margin-top: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 19px;
    color: #a5a5a5;
}

/* =========================================================
   SERVICE DETAILS — text + full-bleed image split
   ========================================================= */
.sd-split { background: #fff; }
.sd-split-img { height: 580px; overflow: hidden; background: #e3e3e3; }
.sd-split-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1400ms cubic-bezier(.22, .61, .36, 1); }
.sd-split-img:hover img { transform: scale(1.04); }
.sd-split-text { max-width: 673px; padding: 40px 33px 40px 24px; margin-left: auto; }
.sd-split.is-reverse .sd-split-text { margin-left: 0; margin-right: auto; padding: 40px 24px 40px 33px; }
.sd-split-text .sv-title { margin-bottom: 16px; }
.sd-bullets { margin-top: 16px; }
.sd-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid #e6e6e6;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 22px;
    color: #5c5c5c;
}
.sd-bullets li:first-child { border-top: 0; padding-top: 0; }
.sd-bullets li:last-child { padding-bottom: 0; }
.sd-bullets li::before {
    content: "";
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-top: 3px;
    background: var(--fc-ink);
    transition: background-color 300ms ease, transform 300ms ease;
}
.sd-bullets li:hover::before { background: var(--fc-orange); transform: rotate(45deg); }
.sd-bullets b { color: var(--fc-ink); font-weight: 600; }

/* =========================================================
   SERVICE DETAILS — Our Fleet slider
   ========================================================= */
.sd-fleet { background: #fff; padding: 40px 0 50px; }
.sd-fleet-head { text-align: center; margin-bottom: 34px; }
.sd-fleet-head .sv-title { font-size: 28px; line-height: 35px; }
.sd-fleet-head p { margin-top: 16px; font-family: 'Inter', sans-serif; font-size: 16px; line-height: 19px; color: #727272; }
.sd-fleet-wrap { position: relative; }
.sd-fleet-slider .slick-list { margin: 0 -15px; padding: 7px 0 14px; }
.sd-fleet-slider .slick-track { display: flex; }
.sd-fleet-slider .slick-slide { height: auto; padding: 0 15px; outline: none; }
.sd-fleet-slider:not(.slick-initialized) { display: flex; overflow: hidden; margin: 0 -15px; padding: 7px 0 14px; }
.sd-fleet-slider:not(.slick-initialized) .sd-car-item { flex: 0 0 33.3333%; padding: 0 15px; }

.sd-car {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    overflow: hidden;
    color: inherit;
    transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
}
.sd-car:hover { color: inherit; transform: translateY(-6px); border-color: rgba(239, 127, 26, 0.4); box-shadow: 0 20px 40px rgba(26, 26, 26, 0.1); }
.sd-car:focus-visible { outline: 2px solid var(--fc-orange); outline-offset: 4px; }
.sd-car-img {
    position: relative;
    height: 313px;
    background: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
}
.sd-car-img::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 46px;
    height: 46px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 70%);
    z-index: 0;
}
.sd-car-img img {
    position: relative;
    z-index: 1;
    max-height: 100%;
    width: auto;
    object-fit: contain;
    transition: transform 700ms cubic-bezier(.22, .61, .36, 1);
}
.sd-car:hover .sd-car-img img { transform: translateX(10px) scale(1.04); }
.sd-car-body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 20px; }
.sd-car-body h3 { font-family: 'Inter', sans-serif; font-weight: 600; font-size: 18px; line-height: 22px; color: var(--fc-ink); }
.sd-car-body small { display: block; margin-top: 2px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 15px; color: #9a9a9a; }
.sd-car-info {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
    padding: 10px;
    border-radius: 8px;
    background: #f7f7f7;
}
.sd-car-tag {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    line-height: 16px;
    color: #5c5c5c;
}
.sd-car-tag i { font-size: 16px; color: var(--fc-ink); }
.sd-car-spec { text-align: center; font-family: 'Inter', sans-serif; padding: 0 6px; }
.sd-car-spec + .sd-car-spec { border-left: 1px solid #dcdcdc; }
.sd-car-spec span { display: block; font-size: 11px; line-height: 14px; color: #9a9a9a; }
.sd-car-spec b { display: block; font-size: 14px; line-height: 18px; color: var(--fc-ink); }
.sd-car-btn {
    align-self: flex-start;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 22px;
    border: 1px solid var(--fc-ink);
    border-radius: 6px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--fc-ink);
    transition: background-color 300ms ease, border-color 300ms ease, color 300ms ease;
}
.sd-car:hover .sd-car-btn { background: var(--fc-orange); border-color: var(--fc-orange); color: #fff; }

.sd-fleet-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    border-radius: 8px;
    border: 1px solid #e6e6e6;
    background: #fff;
    color: var(--fc-ink);
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(26, 26, 26, 0.08);
    cursor: pointer;
    transition: background-color 250ms ease, color 250ms ease, border-color 250ms ease;
}
.sd-fleet-arrow:hover { background: var(--fc-orange); border-color: var(--fc-orange); color: #fff; }
.sd-fleet-arrow.is-prev { left: -74px; }
.sd-fleet-arrow.is-next { right: -74px; }
.sd-fleet-arrow.slick-hidden { display: none; }

/* =========================================================
   SERVICE DETAILS — airports
   ========================================================= */
.sd-airports { background: #000; padding: 40px 0; text-align: center; }
.sd-airports-inner { max-width: 1090px; margin: 0 auto; }
.sd-airports .sv-title { color: #fff; }
.sd-airports-text { margin-top: 16px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 22px; color: #b9b9b9; }
.sd-airports-note { margin-top: 16px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 22px; color: #e3e3e3; }
.sd-airport-list { max-width: 756px; margin: 24px auto 0; }
.sd-airport {
    height: 92px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 10px;
    border-radius: 4px;
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: background-color 300ms ease, border-color 300ms ease, transform 300ms ease;
}
.sd-airport i { font-size: 20px; color: #fff; transform: rotate(-45deg); transition: transform 500ms ease; }
.sd-airport span { font-family: 'Inter', sans-serif; font-size: 13px; line-height: 16px; color: #d4d4d4; }
.sd-airport:hover { background: var(--fc-orange); border-color: var(--fc-orange); transform: translateY(-3px); }
.sd-airport:hover i { transform: rotate(-45deg) translateX(6px); }
.sd-airport:hover span { color: #fff; }

/* =========================================================
   SERVICE DETAILS — city section (Mumbai)
   ========================================================= */
.sd-mumbai { background: #fff; padding: 0 0 20px; }
.sd-mumbai-img { height: 761px; overflow: hidden; background: #e3e3e3; }
.sd-mumbai-img img { width: 100%; height: 100%; object-fit: cover; }
.sd-mumbai .sv-title { font-size: 28px; line-height: 35px; margin-bottom: 16px; }
.sd-mumbai .sv-text { font-size: 15px; line-height: 25px; }
.sd-why-box {
    margin-top: 36px;
    padding: 20px;
    border-radius: 10px;
    background: #f5f5f5;
}
.sd-why-box h3 {
    margin-bottom: 16px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 32px;
    color: var(--fc-ink);
}
.sd-why-box li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--fc-ink);
}
.sd-why-box li i { color: var(--fc-orange); font-size: 16px; }

/* =========================================================
   Scroll reveal: keep hover transitions after reveal
   ========================================================= */
.fc-anim .sv-card[data-anim].is-visible,
.fc-anim .sv-feature[data-anim].is-visible,
.fc-anim .sd-airport[data-anim].is-visible {
    transition:
        opacity 800ms cubic-bezier(.22, .61, .36, 1) var(--fc-delay, 0ms),
        transform 400ms ease,
        box-shadow 400ms ease,
        background-color 300ms ease;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1499px) {
    .sv-hero .fc-hero-inner { padding: 40px 48px 40px 80px; }
    .sd-fleet-wrap { padding: 0 64px; }
    .sd-fleet-arrow.is-prev { left: 0; }
    .sd-fleet-arrow.is-next { right: 0; }
}
@media (max-width: 1199px) {
    .sv-hero .fc-hero-inner { padding: 70px 40px 50px; }
    .sd-img-full { height: 500px; }
    .sd-split-img { height: 480px; }
    .sd-mumbai-img { height: 600px; }
    .sd-why .sv-title { font-size: 30px; line-height: 40px; }
}
@media (max-width: 991px) {
    .sv-title { font-size: 28px; line-height: 36px; }
    .sv-services { padding: 50px 0 80px; }
    .sd-img-full, .sd-split-img { height: 420px; }
    .sd-intro-text, .sd-split-text, .sd-split.is-reverse .sd-split-text { max-width: 100%; padding: 48px 24px; margin: 0; }
    .sd-rings { right: -230px; bottom: -200px; }
    .sd-mumbai-img { height: 460px; }
    .sd-mumbai .sd-mumbai-text { padding: 40px 24px 20px; }
    .sv-ch-slider:not(.slick-initialized) .sv-ch-item { flex-basis: 50%; }
    .sd-fleet-slider:not(.slick-initialized) .sd-car-item { flex-basis: 50%; }
}
@media (max-width: 767px) {
    .sv-wrap { padding: 0 20px; }
    .fc-hero.sv-hero { min-height: 0; }
    .sv-hero .fc-hero-inner { padding: 56px 20px 40px; }
    .sv-services { padding: 40px 0 64px; }
    .sv-services-intro { margin-bottom: 32px; line-height: 22px; }
    .sv-chauffeur { padding: 56px 0 48px; min-height: 0; }
    .sv-chauffeur .sv-title { font-size: 24px; line-height: 32px; margin-bottom: 28px; }
    .sd-why { padding: 48px 0; }
    .sd-why .sv-title { font-size: 26px; line-height: 34px; }
    .sd-img-full, .sd-split-img { height: 300px; }
    .sd-mumbai-img { height: 340px; }
    .sd-fleet-wrap { padding: 0; }
    .sd-fleet-arrow { width: 40px; height: 40px; margin-top: -60px; font-size: 15px; }
    .sd-fleet-arrow.is-prev { left: 8px; }
    .sd-fleet-arrow.is-next { right: 8px; }
    .sd-car-img { height: 240px; }
    .sv-ch-slider:not(.slick-initialized) .sv-ch-item,
    .sd-fleet-slider:not(.slick-initialized) .sd-car-item { flex-basis: 100%; }
}
@media (max-width: 575px) {
    .sv-title { font-size: 24px; line-height: 32px; }
    .sd-intro-text, .sd-split-text, .sd-split.is-reverse .sd-split-text { padding: 40px 20px; }
    .sd-mumbai .sd-mumbai-text { padding: 32px 20px 20px; }
    .sd-why-box h3 { font-size: 19px; line-height: 27px; }
    .sd-car-info { flex-wrap: wrap; }
    .sd-car-tag { flex-basis: 100%; }
}

/* =========================================================
   Fleet & Fleet Details pages
   ========================================================= */

.fl-list, .fl-amenities, .fl-compare, .fd-overview, .fd-tabs-sec, .fd-similar { overflow-x: clip; }

/* =========================================================
   FLEET — listing head + filter tabs
   ========================================================= */
.fl-list { background: #f7f7f7; padding: 70px 0 90px; }
.fl-head { margin-bottom: 40px; }
.fl-head p {
    margin-top: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: #727272;
}
.fl-eyebrow {
    display: block;
    margin-bottom: 10px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--fc-orange);
}

/* light version of the home-page tabs (same JS) */
.fc-fleet-tabs.fl-tabs {
    max-width: none;
    margin-left: 0;
    padding: 6px;
    gap: 6px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 999px;
}
.fl-tabs .fc-tab {
    padding: 10px 20px;
    border-radius: 999px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0px;
    color: #5c5c5c;
}
.fl-tabs .fc-tab:hover { color: var(--fc-orange); }
.fl-tabs .fc-tab.active { background: var(--fc-orange); color: #fff; font-weight: 600; }
.fc-fleet-tabs.fl-tabs { display: inline-flex; }

/* =========================================================
   FLEET — vehicle card (used on both pages; the whole card is the link)
   ========================================================= */
.fl-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    overflow: hidden;
    color: inherit;
    transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
}
.fl-card:hover { color: inherit; transform: translateY(-8px); border-color: rgba(239, 127, 26, 0.45); box-shadow: 0 24px 48px rgba(26, 26, 26, 0.12); }
.fl-card:focus-visible { outline: 2px solid var(--fc-orange); outline-offset: 4px; }
.fl-card-img { position: relative; height: 240px; overflow: hidden; background: #e3e3e3; }
.fl-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.22, .61, .36, 1); }
.fl-card:hover .fl-card-img img { transform: scale(1.08); }
.fl-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 1;
    padding: 5px 12px;
    border-radius: 999px;
    background: var(--fc-orange);
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #fff;
}
.fl-year {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1;
    padding: 5px 10px;
    border-radius: 6px;
    background: rgba(17, 17, 17, 0.75);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    color: #fff;
}
.fl-card-body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 22px; }
.fl-card-body h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 26px;
    color: var(--fc-ink);
    transition: color 300ms ease;
}
.fl-card:hover .fl-card-body h3 { color: var(--fc-orange); }
.fl-card-body p {
    margin-top: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 22px;
    color: #5c5c5c;
}
.fl-specs {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 16px 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f7f7f7;
}
.fl-specs span {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 18px;
    color: var(--fc-ink);
}
.fl-specs span + span { border-left: 1px solid #e3e3e3; padding-left: 10px; }
.fl-specs i { color: var(--fc-orange); font-size: 13px; }
.fl-card-foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #eeeeee;
}
.fl-price small {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    line-height: 16px;
    color: #9a9a9a;
}
.fl-price strong {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 30px;
    color: var(--fc-ink);
}
.fl-price em {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-size: 13px;
    color: #727272;
}
.fl-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 18px;
    border-radius: 8px;
    background: var(--fc-orange);
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    white-space: nowrap;
    transition: background-color 300ms ease;
}
.fl-btn i { font-size: 12px; transition: transform 300ms ease; }
.fl-card:hover .fl-btn { background: var(--fc-orange-dark); }
.fl-card:hover .fl-btn i { transform: translateX(4px); }

/* filter animation (same JS as the home-page fleet) */
.fc-fleet-item.is-leaving .fl-card { opacity: 0 !important; transform: scale(.95) !important; transition: opacity 250ms ease, transform 250ms ease !important; }
.fl-card.is-entering { animation: fcCardIn 500ms cubic-bezier(.22, .61, .36, 1) both; animation-delay: var(--fc-delay, 0ms); }

/* =========================================================
   FLEET — "Every Ride Includes" band
   ========================================================= */
.fl-amenities { background: #000; padding: 70px 0; }
.fl-amenities .sv-title { text-align: center; margin-bottom: 44px; }
.fl-amenity { text-align: center; }
.fl-amenity-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #1c1c1c;
    border: 1px solid rgba(239, 127, 26, 0.35);
    color: var(--fc-orange);
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 350ms ease, color 350ms ease, transform 500ms cubic-bezier(.34, 1.56, .64, 1);
}
.fl-amenity:hover .fl-amenity-icon { background: var(--fc-orange); color: #fff; transform: translateY(-6px) rotate(-8deg); }
.fl-amenity span {
    display: block;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #e3e3e3;
}

/* =========================================================
   FLEET — compare table
   ========================================================= */
.fl-compare { background: #fff; padding: 80px 0; }
.fl-compare .fl-head { text-align: center; }
.fl-compare-wrap {
    overflow-x: auto;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    -webkit-overflow-scrolling: touch;
}
.fl-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    font-family: 'Inter', sans-serif;
}
.fl-table th {
    padding: 16px 18px;
    background: #1a1a1a;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: left;
    color: #fff;
    white-space: nowrap;
}
.fl-table td {
    padding: 14px 18px;
    border-top: 1px solid #eeeeee;
    font-size: 15px;
    line-height: 22px;
    color: #5c5c5c;
    vertical-align: middle;
}
.fl-table tbody tr { transition: background-color 250ms ease; }
.fl-table tbody tr:hover { background: #fdf1e6; }
.fl-table-car { display: flex; align-items: center; gap: 14px; font-weight: 600; color: var(--fc-ink); }
.fl-table-car img { width: 72px; height: 48px; border-radius: 6px; object-fit: cover; background: #e3e3e3; flex: 0 0 72px; }
.fl-table b { color: var(--fc-ink); }
.fl-table-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: 14px;
    color: var(--fc-orange);
    white-space: nowrap;
}
.fl-table-link i { font-size: 11px; transition: transform 300ms ease; }
.fl-table-link:hover { color: var(--fc-orange-dark); }
.fl-table-link:hover i { transform: translateX(4px); }

/* =========================================================
   FLEET DETAILS — gallery + info
   ========================================================= */
.fd-overview { background: #fff; padding: 80px 0; }
.fd-main { border-radius: 14px; overflow: hidden; background: #e3e3e3; }
.fd-main-item { height: 460px; outline: none; }
.fd-main-item img { width: 100%; height: 100%; object-fit: cover; }
.fd-main:not(.slick-initialized) .fd-main-item + .fd-main-item { display: none; }
.fd-main-wrap { position: relative; }
.fd-main-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    border-radius: 50%;
    border: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--fc-ink);
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    transition: background-color 250ms ease, color 250ms ease;
}
.fd-main-arrow:hover { background: var(--fc-orange); color: #fff; }
.fd-main-arrow.is-prev { left: 16px; }
.fd-main-arrow.is-next { right: 16px; }
.fd-main-arrow.slick-hidden { display: none; }

.fd-thumbs { margin: 14px -7px 0; }
.fd-thumbs:not(.slick-initialized) { display: flex; }
.fd-thumbs:not(.slick-initialized) .fd-thumb { flex: 0 0 25%; }
.fd-thumb { padding: 0 7px; outline: none; cursor: pointer; }
.fd-thumb span {
    display: block;
    height: 90px;
    border-radius: 8px;
    overflow: hidden;
    background: #e3e3e3;
    border: 2px solid transparent;
    opacity: .55;
    transition: opacity 300ms ease, border-color 300ms ease;
}
.fd-thumb img { width: 100%; height: 100%; object-fit: cover; }
.fd-thumb:hover span { opacity: .85; }
.fd-thumb.slick-current span { opacity: 1; border-color: var(--fc-orange); }

.fd-info-top { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.fd-badge {
    padding: 6px 14px;
    border-radius: 999px;
    background: #fdf1e6;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--fc-orange);
}
.fd-year { font-family: 'Inter', sans-serif; font-size: 13px; line-height: 18px; color: #727272; }
.fd-info .sv-title { font-size: 34px; line-height: 42px; }
.fd-info .sv-text { margin-top: 14px; }
.fd-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
    padding: 16px 20px;
    border-radius: 12px;
    background: #f7f7f7;
    font-family: 'Inter', sans-serif;
}
.fd-price small { flex: 0 0 100%; font-size: 13px; line-height: 18px; color: #9a9a9a; }
.fd-price strong { font-weight: 700; font-size: 32px; line-height: 38px; color: var(--fc-orange); }
.fd-price em { font-style: normal; font-size: 15px; color: #727272; }
.fd-specs { margin-top: 20px; }
.fd-spec { display: flex; align-items: center; gap: 12px; }
.fd-spec i {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #fdf1e6;
    color: var(--fc-orange);
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 300ms ease, color 300ms ease;
}
.fd-spec:hover i { background: var(--fc-orange); color: #fff; }
.fd-spec small { display: block; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 16px; color: #9a9a9a; }
.fd-spec b { display: block; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 15px; line-height: 20px; color: var(--fc-ink); }
.fd-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.fd-chips span {
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid #e6e6e6;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #5c5c5c;
    transition: border-color 250ms ease, color 250ms ease;
}
.fd-chips span:hover { border-color: var(--fc-orange); color: var(--fc-orange); }
.fd-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.fd-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 48px;
    padding: 0 22px;
    border-radius: 12px;
    border: 1px solid #1a1a1a;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--fc-ink);
    transition: background-color 250ms ease, color 250ms ease, border-color 250ms ease;
}
.fd-wa i { color: #25d366; font-size: 18px; transition: color 250ms ease; }
.fd-wa:hover { background: #25d366; border-color: #25d366; color: #fff; }
.fd-wa:hover i { color: #fff; }

/* =========================================================
   FLEET DETAILS — tabs (Bootstrap tab JS, custom look)
   ========================================================= */
.fd-tabs-sec { background: #f7f7f7; padding: 70px 0; }
.fd-tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px;
    margin-bottom: 30px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 999px;
    width: max-content;
    max-width: 100%;
}
.fd-tab {
    padding: 11px 24px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 20px;
    color: #5c5c5c;
    cursor: pointer;
    transition: background-color 300ms ease, color 300ms ease;
}
.fd-tab:hover { color: var(--fc-orange); }
.fd-tab.active { background: var(--fc-orange); color: #fff; font-weight: 600; }
.fd-pane-box { background: #fff; border-radius: 14px; padding: 36px; border: 1px solid #e6e6e6; }
.fd-pane-box .sv-text + .sv-text { margin-top: 14px; }
.fd-mini {
    height: 100%;
    padding: 20px;
    border-radius: 10px;
    background: #f7f7f7;
    transition: transform 350ms ease, background-color 350ms ease;
}
.fd-mini:hover { transform: translateY(-4px); background: #fdf1e6; }
.fd-mini i { font-size: 22px; color: var(--fc-orange); }
.fd-mini h4 { margin: 12px 0 6px; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 16px; line-height: 22px; color: var(--fc-ink); }
.fd-mini p { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 21px; color: #5c5c5c; }
.fd-mini-row { margin-top: 26px; }
.fd-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 23px;
    color: var(--fc-ink);
}
.fd-feature-list li i { flex: 0 0 18px; padding-top: 3px; color: var(--fc-orange); }
.fd-price-table { width: 100%; border-collapse: collapse; font-family: 'Inter', sans-serif; }
.fd-price-table td { padding: 16px 0; border-top: 1px solid #eeeeee; font-size: 15px; line-height: 22px; color: #5c5c5c; }
.fd-price-table tr:first-child td { border-top: 0; padding-top: 0; }
.fd-price-table td:last-child { text-align: right; font-weight: 600; color: var(--fc-ink); white-space: nowrap; padding-left: 16px; }
.fd-price-note { margin-top: 18px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: #9a9a9a; }

/* =========================================================
   FLEET DETAILS — similar vehicles slider
   ========================================================= */
.fd-similar { background: #fff; padding: 70px 0 80px; }
.fd-similar-head { margin-bottom: 32px; }
.fd-sim-controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.fd-sim-btn {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    border: 1px solid #e6e6e6;
    background: #fff;
    color: var(--fc-ink);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 250ms ease, color 250ms ease, border-color 250ms ease;
}
.fd-sim-btn:hover { background: var(--fc-orange); border-color: var(--fc-orange); color: #fff; }
.fd-sim-btn.slick-hidden { display: none; }
.fd-similar-slider .slick-list { margin: 0 -15px; padding: 8px 0 20px; }
.fd-similar-slider .slick-track { display: flex; }
.fd-similar-slider .slick-slide { height: auto; padding: 0 15px; outline: none; }
.fd-similar-slider:not(.slick-initialized) { display: flex; overflow: hidden; margin: 0 -15px; padding: 8px 0 20px; }
.fd-similar-slider:not(.slick-initialized) .fd-sim-item { flex: 0 0 33.3333%; padding: 0 15px; }

/* keep hover transitions after the scroll-reveal */
.fc-anim .fl-card[data-anim].is-visible,
.fc-anim .fl-amenity[data-anim].is-visible {
    transition:
        opacity 800ms cubic-bezier(.22, .61, .36, 1) var(--fc-delay, 0ms),
        transform 400ms ease,
        box-shadow 400ms ease,
        border-color 400ms ease;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1199px) {
    .fd-main-item { height: 420px; }
    .fd-similar-slider:not(.slick-initialized) .fd-sim-item { flex-basis: 50%; }
}
@media (max-width: 991px) {
    .fl-list, .fl-compare, .fd-overview { padding: 60px 0; }
    .fl-amenities, .fd-tabs-sec, .fd-similar { padding: 56px 0; }
    .fd-info { margin-top: 10px; }
    .fd-info .sv-title { font-size: 30px; line-height: 38px; }
    .fd-pane-box { padding: 28px; }
}
@media (max-width: 767px) {
    .fl-list, .fl-compare, .fd-overview { padding: 48px 0; }
    .fl-head { margin-bottom: 28px; }
    .fc-fleet-tabs.fl-tabs { border-radius: 14px; }
    .fl-tabs .fc-tab { padding: 8px 14px; font-size: 13px; }
    .fl-card-img { height: 220px; }
    .fl-amenities .sv-title { margin-bottom: 32px; }
    .fd-main-item { height: 300px; }
    .fd-thumb span { height: 64px; }
    .fd-tab-nav { border-radius: 14px; width: 100%; }
    .fd-tab { flex: 1 1 auto; padding: 10px 14px; font-size: 14px; }
    .fd-pane-box { padding: 22px; }
    .fd-sim-controls { justify-content: flex-start; margin-top: 16px; }
    .fd-similar-slider:not(.slick-initialized) .fd-sim-item { flex-basis: 100%; }
}
@media (max-width: 575px) {
    .fl-card-body { padding: 18px; }
    .fl-card-foot { flex-wrap: wrap; }
    .fl-card-foot .fl-btn { width: 100%; }
    .fd-info .sv-title { font-size: 26px; line-height: 34px; }
    .fd-actions a { width: 100%; }
    .fd-price strong { font-size: 28px; line-height: 34px; }
}



/* ---------- Error messages ---------- */
.fc-error {
    display: block;
    margin-top: 6px;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 16px;
    color: #ff6b6b;
}
.fc-error:empty { display: none; }
.fc-form-light .fc-error { color: #d93025; }

/* "Please correct the highlighted errors." above the button */
.fc-form-error { margin: 0 0 12px; text-align: left; font-size: 13px; line-height: 18px; }

.fc-input.has-error,
.fc-form-dark .fc-input.has-error { border-color: #ff6b6b; }
.fc-form-light .fc-input.has-error { border-color: #d93025; }
.fc-input.has-error:focus { box-shadow: 0 0 0 4px rgba(217, 48, 37, 0.15); }

/* ---------- Phone field (intl-tel-input) ---------- */
.iti { display: block; width: 100%; }
.iti__flag-container { padding: 1px; }
.iti__selected-flag {
    padding: 0 8px 0 14px;
    border-radius: 12px 0 0 12px;
    transition: background-color 200ms ease;
}
.fc-form-dark .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag,
.fc-form-dark .iti__selected-flag:focus { background-color: rgba(255, 255, 255, 0.08); }
.fc-form-light .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag,
.fc-form-light .iti__selected-flag:focus { background-color: #f2f2f2; }
.fc-form-dark .iti__arrow { border-top-color: #ffffff; }
.fc-form-dark .iti__arrow--up { border-top-color: transparent; border-bottom-color: #ffffff; }

.iti__country-list {
    z-index: 30;
    max-width: 320px;
    max-height: 240px;
    margin-top: 4px;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18);
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #1a1a1a;
    white-space: normal;
}
.iti__country { padding: 8px 12px; }
.iti__country.iti__highlight { background-color: #fdf1e6; }
.iti__dial-code { color: #727272; }

/* ---------- Hidden bot-trap field ---------- */
.fc-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

/* ---------- Sending state ---------- */
.fc-ajax-form button[type="submit"][disabled] { opacity: .75; cursor: wait; }

/* =========================================================
   Fab Cars — Blog page
   ========================================================= */

.bl-banner, .bl-filter, .bl-featured, .bl-list, .bl-cta { overflow-x: clip; }

.bl-wrap {
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 60px;
}
.bl-gutter-30 { --bs-gutter-x: 30px; --bs-gutter-y: 30px; }
.bl-gutter-12 { --bs-gutter-x: 12px; --bs-gutter-y: 12px; }

/* =========================================================
   BANNER — "BLOG" keyboard keys (real text, no image needed)
   ========================================================= */
.bl-banner {
    position: relative;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 0px 0px, rgba(254, 162, 153, 0.95) 0px, rgba(254, 162, 153, 0) 520px),
        radial-gradient(circle at 100% 100%, rgba(150, 46, 36, 0.9) 0px, rgba(150, 46, 36, 0) 560px),
        linear-gradient(110deg, #f6907f 0%, #e7776b 45%, #c9564a 100%);
    background-color: #d7695e;
}
/* subtle paper texture */
.bl-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 4px 4px;
    pointer-events: none;
}
.bl-keys { position: relative; display: flex; gap: 6px; margin: 0; }
.bl-key {
    width: 108px;
    height: 108px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(180deg, #f4f5f5 0%, #dfe3e3 100%);
    box-shadow:
        inset 0 -6px 0 rgba(0, 0, 0, 0.07),
        inset 0 2px 0 rgba(255, 255, 255, 0.9),
        0 14px 20px rgba(96, 20, 12, 0.35),
        0 3px 4px rgba(96, 20, 12, 0.25);
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 44px;
    line-height: 44px;
    color: #6b7073;
    animation: blKeyIn 700ms cubic-bezier(.34, 1.56, .64, 1) both;
    transition: transform 200ms ease, box-shadow 200ms ease;
}
.bl-key:nth-child(1) { animation-delay: 150ms; }
.bl-key:nth-child(2) { animation-delay: 250ms; }
.bl-key:nth-child(3) { animation-delay: 350ms; }
.bl-key:nth-child(4) { animation-delay: 450ms; }
.bl-key:hover {
    transform: translateY(3px);
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.07), 0 4px 6px rgba(96, 20, 12, 0.35);
}
@keyframes blKeyIn {
    from { opacity: 0; transform: translateY(-30px) rotate(-6deg); }
    to   { opacity: 1; transform: none; }
}

/* =========================================================
   FILTER BAR — category pills + search
   ========================================================= */
.bl-filter {
    position: relative;
    background: #201f1f;
    padding: 28px 0 0;
}
.bl-filter-inner { padding-bottom: 22px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
.bl-tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 2px 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    mask-image: linear-gradient(to right, #000 0px, #000 calc(100% - 40px), transparent 100%);
    -webkit-mask-image: linear-gradient(to right, #000 0px, #000 calc(100% - 40px), transparent 100%);
}
.bl-tabs::-webkit-scrollbar { display: none; }
.bl-tab {
    flex: 0 0 auto;
    height: 36px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: #2a2a2a;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #e3e3e3;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 250ms ease, color 250ms ease, transform 200ms ease;
}
.bl-tab:hover { background: #333232; color: #fff; }
.bl-tab:active { transform: scale(.96); }
.bl-tab.active { background: var(--fc-orange); color: #1a1a1a; }

.bl-search { position: relative; }
.bl-search i {
    position: absolute;
    left: 16px;
    top: 50%;
    margin-top: -7px;
    font-size: 13px;
    line-height: 14px;
    color: #9a9a9a;
    pointer-events: none;
}
.bl-search input {
    width: 100%;
    height: 40px;
    padding: 0 16px 0 40px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #1a1919;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    outline: none;
    transition: border-color 250ms ease, background-color 250ms ease;
}
.bl-search input::placeholder { color: #8a8a8a; opacity: 1; }
.bl-search input:focus { border-color: var(--fc-orange); background: #161515; }

/* =========================================================
   FEATURED ARTICLE (whole card is the link)
   ========================================================= */
.bl-featured { background: #201f1f; padding: 30px 0 100px; }
.bl-feature {
    display: block;
    background: #201f1f;
    border-radius: 6px;
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.03);
    padding: 40px 50px 40px 30px;
    color: inherit;
    transition: box-shadow 400ms ease, transform 400ms ease;
}
.bl-feature:hover { color: inherit; transform: translateY(-4px); box-shadow: 0 40px 70px -20px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(239, 127, 26, 0.25); }
.bl-feature:focus-visible { outline: 2px solid var(--fc-orange); outline-offset: 4px; }
.bl-feature-img {
    position: relative;
    height: 100%;
    min-height: 460px;
    overflow: hidden;
    background: #2a2a2a;
}
.bl-feature-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1200ms cubic-bezier(.22, .61, .36, 1);
}
.bl-feature:hover .bl-feature-img img { transform: scale(1.05); }
.bl-tags { position: absolute; top: 14px; left: 14px; z-index: 1; display: flex; gap: 6px; }
.bl-tag-hot {
    padding: 4px 12px;
    border-radius: 999px;
    background: var(--fc-orange);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #1a1a1a;
}
.bl-tag-dark {
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.85);
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.4px;
    color: #e3e3e3;
}

.bl-feature-body { padding: 26px 0 0 4px; }
.bl-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    color: #e3e3e3;
}
.bl-meta .is-time { color: var(--fc-orange); display: inline-flex; align-items: center; gap: 5px; }
.bl-meta .bl-dot { width: 4px; height: 4px; border-radius: 50%; background: #e3e3e3; }
.bl-feature h2 {
    margin-top: 16px;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 34px;
    line-height: 44px;
    color: #fff;
    transition: color 300ms ease;
}
.bl-feature:hover h2 { color: #fde3cc; }
.bl-feature-text {
    margin-top: 16px;
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 23px;
    color: #c4c4c4;
}
.bl-specs { margin-top: 18px; }
.bl-spec {
    height: 100%;
    padding: 8px 10px 10px;
    border-radius: 4px;
    background: #1c1b1b;
}
.bl-spec small {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 10px;
    line-height: 14px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #8a8a8a;
}
.bl-spec b {
    display: block;
    margin-top: 2px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 20px;
    color: #fff;
}
.bl-feature-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 26px;
}
.bl-author { display: flex; align-items: center; gap: 10px; }
.bl-avatar {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #3a3a3a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 14px;
}
.bl-avatar img { width: 100%; height: 100%; object-fit: cover; }
.bl-author b { display: block; font-family: 'Outfit', sans-serif; font-weight: 500; font-size: 15px; line-height: 20px; color: #fff; }
.bl-author small { display: block; font-family: 'Outfit', sans-serif; font-size: 10px; line-height: 14px; letter-spacing: 0.6px; text-transform: uppercase; color: #8a8a8a; }
.bl-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 22px;
    border-radius: 4px;
    background: var(--fc-orange);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #1a1a1a;
    transition: background-color 300ms ease;
}
.bl-btn i { font-size: 11px; transition: transform 300ms ease; }
.bl-feature:hover .bl-btn { background: var(--fc-orange-light); }
.bl-feature:hover .bl-btn i { transform: translateX(4px); }

/* =========================================================
   ARTICLE LIST
   ========================================================= */
.bl-list { background: #fff; padding: 60px 0 100px; }
.bl-list-head {
    padding-bottom: 16px;
    margin-bottom: 30px;
    border-bottom: 1px solid #ececec;
}
.bl-eyebrow {
    display: block;
    margin-bottom: 6px;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #727272;
}
.bl-list-head h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 38px;
    color: #111;
}
.bl-count {
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.6px;
    color: #8a8a8a;
}

.bl-card {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(17, 17, 17, 0.04);
    transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
}
.bl-card:hover { transform: translateY(-6px); border-color: rgba(239, 127, 26, 0.35); box-shadow: 0 22px 44px rgba(17, 17, 17, 0.1); }
.bl-card-img { position: relative; height: 235px; overflow: hidden; background: #e3e3e3; }
.bl-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.22, .61, .36, 1); }
.bl-card:hover .bl-card-img img { transform: scale(1.07); }
.bl-cat {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 1;
    padding: 4px 12px;
    border-radius: 999px;
    background: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: #1a1a1a;
}
.bl-read {
    position: absolute;
    right: 14px;
    bottom: 12px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 4px;
    background: rgba(17, 17, 17, 0.75);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.4px;
    color: #fff;
}
.bl-card-body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 18px 24px 0; }
.bl-card-meta {
    font-family: 'Outfit', sans-serif;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #8a8a8a;
}
.bl-card h3 {
    margin-top: 12px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 28px;
    color: #111;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* the title link stretches over the whole card, so the full card is clickable */
.bl-card-link { color: inherit; transition: color 300ms ease; }
.bl-card-link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.bl-card:hover .bl-card-link { color: var(--fc-orange-dark); }
.bl-card-link:focus-visible { outline: none; }
.bl-card:has(.bl-card-link:focus-visible) { outline: 2px solid var(--fc-orange); outline-offset: 3px; }
.bl-card-text {
    margin-top: 10px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 23px;
    color: #727272;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bl-card-foot {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0 16px;
    border-top: 1px solid #f0f0f0;
}
.bl-card-text + .bl-card-foot { margin-top: 18px; }
.bl-more {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 18px;
    color: #1a1a1a;
}
.bl-more i { font-size: 9px; transition: transform 300ms ease; }
.bl-card:hover .bl-more { color: var(--fc-orange-dark); }
.bl-card:hover .bl-more i { transform: translateX(4px); }
.bl-save {
    position: relative;
    z-index: 3;   /* above the stretched card link */
    width: 32px;
    height: 32px;
    margin-right: -8px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #b9b9b9;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 250ms ease, color 250ms ease, transform 300ms cubic-bezier(.34, 1.56, .64, 1);
}
.bl-save:hover { background: #fdf1e6; color: var(--fc-orange); }
.bl-save.is-saved { color: var(--fc-orange); transform: scale(1.15); }

/* filter animation */
.bl-item.is-hidden { display: none; }
.bl-item.is-leaving .bl-card { opacity: 0 !important; transform: scale(.95) !important; transition: opacity 220ms ease, transform 220ms ease !important; }
.bl-card.is-entering { animation: fcCardIn 500ms cubic-bezier(.22, .61, .36, 1) both; animation-delay: var(--fc-delay, 0ms); }
.bl-empty {
    display: none;
    padding: 60px 20px;
    text-align: center;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #727272;
}
.bl-empty i { display: block; margin-bottom: 12px; font-size: 28px; color: #d0d0d0; }
.bl-empty.is-shown { display: block; }

/* =========================================================
   PAGINATION (numbers are built by script.js)
   ========================================================= */
.bl-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 50px;
}
.bl-pager.is-hidden { display: none; }
.bl-pages {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.bl-page,
.bl-page-btn {
    min-width: 42px;
    height: 42px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #e3e3e3;
    border-radius: 6px;
    background: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    color: #1a1a1a;
    cursor: pointer;
    transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease, transform 200ms ease;
}
.bl-page-btn i { font-size: 11px; }
.bl-page:hover,
.bl-page-btn:hover:not(:disabled) { border-color: var(--fc-orange); color: var(--fc-orange-dark); transform: translateY(-2px); }
.bl-page:focus-visible,
.bl-page-btn:focus-visible { outline: 2px solid var(--fc-orange); outline-offset: 2px; }
.bl-page.is-active,
.bl-page.is-active:hover {
    background: var(--fc-orange);
    border-color: var(--fc-orange);
    color: #1a1a1a;
    cursor: default;
    transform: none;
}
.bl-page-btn:disabled { opacity: .4; cursor: not-allowed; }
.bl-page-dots {
    min-width: 24px;
    text-align: center;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 18px;
    color: #8a8a8a;
}

/* =========================================================
   CTA — "Planning a Multi-Vehicle..."
   ========================================================= */
.bl-cta { background: #201f1f; padding: 60px 0 60px; }
.bl-cta-box {
    position: relative;
    overflow: hidden;
    padding: 50px 56px;
    border-radius: 6px;
    background: #201f1f;
    box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.75);
}
/* faint shield shape behind the buttons */
.bl-cta-box::before {
    content: "";
    position: absolute;
    right: 50px;
    top: 30px;
    width: 130px;
    height: 130px;
    transform: scale(2.4);
    transform-origin: 50% 20%;
    background: rgba(239, 127, 26, 0.06);
    clip-path: polygon(50% 0%, 100% 18%, 100% 62%, 50% 100%, 0% 62%, 0% 18%);
    pointer-events: none;
    animation: blShield 6000ms ease-in-out infinite;
}
@keyframes blShield {
    0%, 100% { opacity: .7; }
    50%      { opacity: 1; }
}
.bl-cta-box .row { position: relative; z-index: 1; }
.bl-cta-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 12px;
    border-radius: 999px;
    background: #141414;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--fc-orange);
}
.bl-cta h2 {
    margin-top: 14px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 42px;
    color: #fff;
}
.bl-cta p {
    margin-top: 14px;
    max-width: 720px;
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 24px;
    color: #c4c4c4;
}
.bl-cta-actions { display: flex; flex-direction: column; gap: 10px; }
.bl-cta-btn {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 20px;
    border-radius: 6px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    text-align: center;
    transition: background-color 300ms ease, color 300ms ease, transform 250ms ease;
}
.bl-cta-btn.is-primary { background: var(--fc-orange); color: #1a1a1a; }
.bl-cta-btn.is-primary:hover { background: var(--fc-orange-light); color: #1a1a1a; transform: translateY(-2px); }
.bl-cta-btn.is-secondary { background: #2a2a2a; color: #e3e3e3; }
.bl-cta-btn.is-secondary:hover { background: #fff; color: #1a1a1a; transform: translateY(-2px); }

/* keep hover transitions after the scroll-reveal */
.fc-anim .bl-card[data-anim].is-visible,
.fc-anim .bl-feature[data-anim].is-visible {
    transition:
        opacity 800ms cubic-bezier(.22, .61, .36, 1) var(--fc-delay, 0ms),
        transform 400ms ease,
        box-shadow 400ms ease,
        border-color 400ms ease;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1399px) {
    .bl-wrap { padding: 0 40px; }
    .bl-feature { padding: 32px; }
    .bl-feature h2 { font-size: 30px; line-height: 40px; }
}
@media (max-width: 1199px) {
    .bl-key { width: 92px; height: 92px; font-size: 38px; line-height: 38px; }
    .bl-feature-img { min-height: 380px; }
    .bl-feature-body { padding: 30px 0 0; }
    .bl-cta-box { padding: 44px 40px; }
    .bl-cta-box::before { right: 20px; }
}
@media (max-width: 991px) {
    .bl-wrap { padding: 0 32px; }
    .bl-filter { padding-top: 22px; }
    .bl-featured { padding: 24px 0 70px; }
    .bl-list { padding: 50px 0 80px; }
    .bl-list-head h2 { font-size: 26px; line-height: 34px; }
    .bl-cta h2 { font-size: 28px; line-height: 36px; }
    .bl-cta-box::before { top: auto; bottom: 40px; }
}
@media (max-width: 767px) {
    .bl-wrap { padding: 0 20px; }
    .bl-banner { height: 190px; }
    .bl-key { width: 76px; height: 76px; border-radius: 10px; font-size: 32px; line-height: 32px; }
    .bl-feature { padding: 16px 16px 24px; }
    .bl-feature-img { min-height: 260px; }
    .bl-feature-body { padding: 22px 4px 0; }
    .bl-feature h2 { font-size: 26px; line-height: 34px; }
    .bl-card-img { height: 210px; }
    .bl-cta { padding: 40px 0; }
    .bl-cta-box { padding: 36px 24px; }
    .bl-cta h2 { font-size: 24px; line-height: 32px; }
}
@media (max-width: 575px) {
    .bl-keys { gap: 4px; }
    .bl-key { width: 62px; height: 62px; border-radius: 8px; font-size: 26px; line-height: 26px; }
    .bl-feature-foot .bl-btn { width: 100%; justify-content: center; }
    .bl-card-body { padding: 16px 18px 0; }
    .bl-card h3 { font-size: 20px; line-height: 26px; }
    /* compact pager on phones: arrows only, smaller numbers */
    .bl-pager { gap: 6px; margin-top: 36px; }
    .bl-pages { gap: 4px; }
    .bl-page, .bl-page-btn { min-width: 36px; height: 36px; padding: 0 10px; font-size: 13px; }
    .bl-page-btn span { display: none; }
    .bl-page-dots { min-width: 16px; }
}

/* =========================================================
   Fab Cars — Blog Single page
   ========================================================= */

.bs-head, .bs-hero, .bs-main, .bs-related { overflow-x: clip; }

.bs-wrap {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 60px;
}
.bs-gutter-30 { --bs-gutter-x: 30px; --bs-gutter-y: 30px; }
.bs-gutter-20 { --bs-gutter-x: 20px; --bs-gutter-y: 20px; }
.bs-gutter-40 { --bs-gutter-x: 40px; --bs-gutter-y: 20px; }
.bs-gutter-main { --bs-gutter-x: 80px; --bs-gutter-y: 60px; }

/* ---------- Reading progress bar (top of the window) ---------- */
.bs-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    width: 100%;
    height: 3px;
    background: transparent;
    pointer-events: none;
}
.bs-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--fc-orange) 0%, var(--fc-orange-light) 100%);
    transform: scaleX(0);
    transform-origin: 0 50%;
    transition: transform 120ms linear;
}

/* =========================================================
   1. ARTICLE HEADER — breadcrumbs, title, author, share
   ========================================================= */
.bs-head { background: #201f1f; padding: 50px 0 60px; }
.bs-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #8a8a8a;
}
.bs-crumbs li { display: inline-flex; align-items: center; gap: 10px; }
.bs-crumbs li + li::before { content: "/"; color: #555; }
.bs-crumbs a { color: #b9b9b9; transition: color 250ms ease; }
.bs-crumbs a:hover { color: var(--fc-orange); }
.bs-crumbs [aria-current] { color: var(--fc-orange); }

.bs-cat {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
    padding: 5px 16px;
    border: 1px solid rgba(239, 127, 26, 0.4);
    border-radius: 999px;
    background: rgba(239, 127, 26, 0.08);
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--fc-orange);
}
.bs-cat i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--fc-orange);
    animation: bsPulse 2000ms ease-in-out infinite;
}
@keyframes bsPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239, 127, 26, 0.6); }
    50%      { box-shadow: 0 0 0 6px rgba(239, 127, 26, 0); }
}
.bs-title {
    max-width: 1120px;
    margin-top: 30px;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 62px;
    line-height: 80px;
    color: #fff;
}
.bs-sub {
    max-width: 1120px;
    margin-top: 30px;
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 32px;
    color: #b9b9b9;
}

.bs-meta-row {
    margin-top: 40px;
    padding: 30px 30px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    background: #1c1b1b;
}
.bs-author { display: flex; align-items: center; gap: 20px; }
.bs-author-img {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    background: #3a3a3a;
    box-shadow: 0 0 0 2px #1c1b1b, 0 0 0 3px var(--fc-orange);
}
.bs-author-img img { width: 100%; height: 100%; object-fit: cover; }
.bs-author b {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 33px;
    color: #fff;
}
.bs-author b i { font-size: 16px; color: var(--fc-orange); }
.bs-author small {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #8a8a8a;
}
.bs-meta-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 16px 30px;
}
.bs-facts {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 22px;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    line-height: 20px;
    color: #e3e3e3;
}
.bs-facts span { display: inline-flex; align-items: center; gap: 9px; }
.bs-facts i { color: var(--fc-orange); font-size: 15px; }
.bs-facts .bs-dot { width: 5px; height: 5px; border-radius: 50%; background: #555; }
.bs-share {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 21px;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.bs-share > span {
    margin-right: 10px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.5px;
    color: #8a8a8a;
}
.bs-share-btn {
    position: relative;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    background: transparent;
    color: #e3e3e3;
    font-size: 15px;
    cursor: pointer;
    transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease, transform 250ms ease;
}
.bs-share-btn:hover { background: var(--fc-orange); border-color: var(--fc-orange); color: #1a1a1a; transform: translateY(-3px); }
.bs-share-btn:focus-visible { outline: 2px solid var(--fc-orange); outline-offset: 2px; }
/* "Link copied" bubble */
.bs-share-btn[data-tip]::after {
    content: attr(data-tip);
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    padding: 5px 10px;
    border-radius: 4px;
    background: #fff;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 16px;
    color: #1a1a1a;
    white-space: nowrap;
    opacity: 0;
    transform: translate(-50%, 6px);
    pointer-events: none;
    transition: opacity 200ms ease, transform 200ms ease;
}
.bs-share-btn.is-copied::after { opacity: 1; transform: translate(-50%, 0); }

/* =========================================================
   2. HERO IMAGE
   ========================================================= */
.bs-hero { background: linear-gradient(180deg, #201f1f 0%, #201f1f 50%, #fff 50%, #fff 100%); padding: 0 0 60px; }
.bs-hero-media {
    position: relative;
    height: 634px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    background: #2a2a2a;
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.55);
}
.bs-hero-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.06);
    transition: transform 1600ms cubic-bezier(.22, .61, .36, 1);
}
.bs-hero-media.is-ready img { transform: scale(1); }
.bs-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.8) 100%);
    pointer-events: none;
}
.bs-hero-cap {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 20px;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px 30px;
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #e3e3e3;
}
.bs-hero-cap p { display: flex; align-items: flex-start; gap: 10px; margin: 0; }
.bs-hero-cap i { margin-top: 2px; color: var(--fc-orange); }
.bs-hero-cap span {
    flex: 0 0 auto;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 1.5px;
    color: #b9b9b9;
}

/* =========================================================
   3. ARTICLE BODY
   ========================================================= */
.bs-main { background: #fff; padding: 0 0 120px; }
.bs-article {
    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    line-height: 32px;
    color: #4a4a4a;
}
.bs-article p { margin: 0 0 30px; }
.bs-lead {
    font-family: 'Playfair Display', serif;
    font-size: 26px !important;
    line-height: 44px !important;
    color: #1a1a1a;
}
.bs-lead::first-letter {
    float: left;
    margin: 8px 14px 0 0;
    font-size: 88px;
    line-height: 74px;
    font-weight: 500;
    color: var(--fc-orange);
}

.bs-section { padding-top: 30px; scroll-margin-top: 110px; }
.bs-sec-head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 30px; }
.bs-sec-num {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 6px;
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    line-height: 33px;
    color: var(--fc-orange);
}
.bs-sec-num::after { content: ""; width: 40px; height: 1px; background: var(--fc-orange); }
.bs-sec-head h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 50px;
    color: #111;
}

/* pull quote */
.bs-quote {
    position: relative;
    display: flex;
    gap: 20px;
    margin: 0 0 30px;
    padding: 42px 45px;
    border-left: 4px solid var(--fc-orange);
    border-radius: 0 10px 10px 0;
    background: #201f1f;
    overflow: hidden;
}
.bs-quote::before {
    content: "";
    position: absolute;
    right: -60px;
    top: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(239, 127, 26, 0.18) 0%, rgba(239, 127, 26, 0) 70%);
}
.bs-quote > i { flex: 0 0 32px; font-size: 30px; line-height: 30px; color: var(--fc-orange); }
.bs-quote blockquote {
    margin: 0;
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-size: 28px;
    line-height: 41px;
    color: #fff;
}
.bs-quote cite {
    display: block;
    margin-top: 15px;
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 1.5px;
    color: var(--fc-orange);
}

/* amenity cards */
.bs-feats { margin-bottom: 30px; }
.bs-feat {
    height: 100%;
    padding: 31px;
    border: 1px solid #ececec;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(17, 17, 17, 0.04);
    transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
}
.bs-feat:hover { transform: translateY(-6px); border-color: rgba(239, 127, 26, 0.35); box-shadow: 0 22px 44px rgba(17, 17, 17, 0.1); }
.bs-feat-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(239, 127, 26, 0.25);
    border-radius: 10px;
    background: #fdf1e6;
    color: var(--fc-orange);
    font-size: 20px;
    transition: background-color 300ms ease, color 300ms ease, transform 400ms cubic-bezier(.34, 1.56, .64, 1);
}
.bs-feat:hover .bs-feat-icon { background: var(--fc-orange); color: #fff; transform: rotate(-8deg) scale(1.06); }
.bs-feat h3 {
    margin-top: 15px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 33px;
    color: #111;
}
.bs-feat p { margin: 15px 0 0 !important; font-size: 16px; line-height: 28px; color: #727272; }

/* inset image */
.bs-figure { margin: 0 0 30px; }
.bs-figure-img {
    height: 540px;
    overflow: hidden;
    border: 1px solid #ececec;
    border-radius: 10px;
    background: #e3e3e3;
}
.bs-figure-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms cubic-bezier(.22, .61, .36, 1); }
.bs-figure:hover .bs-figure-img img { transform: scale(1.04); }
.bs-figure figcaption {
    margin-top: 15px;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #8a8a8a;
}

/* comparison table */
.bs-table-title {
    margin: 0 0 20px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 26px;
    line-height: 33px;
    color: #111;
}
.bs-table-wrap {
    margin-bottom: 30px;
    overflow-x: auto;
    border: 1px solid #ececec;
    border-radius: 10px;
    -webkit-overflow-scrolling: touch;
}
.bs-table {
    width: 100%;
    min-width: 640px;
    margin: 0;
    border-collapse: collapse;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    line-height: 22px;
}
.bs-table th,
.bs-table td { padding: 23px 20px; vertical-align: middle; border-bottom: 1px solid #f0f0f0; }
.bs-table tbody tr:last-child td { border-bottom: 0; }
.bs-table thead th {
    background: #201f1f;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 19px;
    line-height: 26px;
    color: #fff;
}
.bs-table thead th:first-child {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 1.5px;
    color: #8a8a8a;
}
.bs-table thead th.is-pick { background: #2a2420; color: var(--fc-orange); }
.bs-table thead th.is-pick small {
    display: block;
    margin-bottom: 4px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 14px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #b9b9b9;
}
.bs-table tbody td:first-child { width: 24%; font-weight: 600; color: #1a1a1a; }
.bs-table tbody td { color: #727272; transition: background-color 250ms ease; }
.bs-table tbody td.is-pick { background: #fffaf5; color: #1a1a1a; font-weight: 500; }
.bs-table tbody td.is-pick i { margin-right: 8px; color: var(--fc-orange); }
.bs-table tbody tr:hover td { background: #fafafa; }
.bs-table tbody tr:hover td.is-pick { background: #fdf1e6; }

/* airport clearances */
.bs-airports { margin-bottom: 30px; }
.bs-airport {
    margin-bottom: 20px;
    padding: 31px;
    border: 1px solid #ececec;
    border-left: 3px solid var(--fc-orange);
    border-radius: 10px;
    background: #fafafa;
    transition: transform 350ms ease, box-shadow 350ms ease, background-color 350ms ease;
}
.bs-airport:last-child { margin-bottom: 0; }
.bs-airport:hover { transform: translateX(6px); background: #fff; box-shadow: 0 16px 34px rgba(17, 17, 17, 0.08); }
.bs-airport-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; }
.bs-airport h3 {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 33px;
    color: #111;
}
.bs-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 12px;
    border: 1px solid rgba(239, 127, 26, 0.45);
    border-radius: 999px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--fc-orange-dark);
}
.bs-airport p { margin: 10px 0 0 !important; font-size: 16px; line-height: 28px; color: #727272; }

/* topics */
.bs-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #ececec;
}
.bs-tags > span {
    margin-right: 10px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.5px;
    color: #1a1a1a;
}
.bs-tags a {
    padding: 5px 16px;
    border: 1px solid #e3e3e3;
    border-radius: 999px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #4a4a4a;
    transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease;
}
.bs-tags a::before { content: "#"; margin-right: 2px; color: var(--fc-orange); }
.bs-tags a:hover { background: #1a1a1a; border-color: #1a1a1a; color: #fff; }

/* author card */
.bs-bio {
    margin-top: 60px;
    padding: 41px;
    border: 1px solid #ececec;
    border-radius: 10px;
    background: #fafafa;
}
.bs-bio-img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    background: #d9d9d9;
    box-shadow: 0 0 0 4px #fff, 0 0 0 5px rgba(239, 127, 26, 0.5);
}
.bs-bio-img img { width: 100%; height: 100%; object-fit: cover; }
.bs-eyebrow {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--fc-orange);
}
.bs-bio h3 {
    margin-top: 8px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 41px;
    color: #111;
}
.bs-bio-role { margin: 0 !important; font-size: 14px !important; line-height: 20px !important; color: #8a8a8a; }
.bs-bio-text { margin: 20px 0 0 !important; font-size: 16px !important; line-height: 28px !important; color: #4a4a4a; }
.bs-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--fc-orange-dark);
}
.bs-link i { font-size: 12px; transition: transform 300ms ease; }
.bs-link:hover { color: #1a1a1a; }
.bs-link:hover i { transform: translateX(5px); }

/* =========================================================
   4. SIDEBAR (sticks while you scroll — top set by script.js)
   ========================================================= */
.bs-aside { position: sticky; top: 100px; }
.bs-box { margin-bottom: 40px; padding: 31px; border: 1px solid #ececec; border-radius: 10px; background: #fafafa; }
.bs-box:last-child { margin-bottom: 0; }
.bs-box-title {
    margin: 0 0 20px;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #1a1a1a;
}

/* quick quote widget */
.bs-quote-box {
    position: relative;
    margin-bottom: 40px;
    padding: 32px;
    border-radius: 10px;
    background: #201f1f;
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}
.bs-quote-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--fc-orange), var(--fc-orange-light), var(--fc-orange));
    background-size: 200% 100%;
    animation: bsSlide 4000ms linear infinite;
}
@keyframes bsSlide { from { background-position: 0% 0; } to { background-position: 200% 0; } }
.bs-quote-head { padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.bs-quote-head h3 {
    margin-top: 10px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 35px;
    color: #fff;
}
.bs-quote-head p { margin: 8px 0 0; font-family: 'Outfit', sans-serif; font-size: 15px; line-height: 24px; color: #9a9a9a; }
.bs-field { margin-bottom: 18px; }
.bs-field label {
    display: block;
    margin-bottom: 8px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8a8a8a;
}
.bs-input {
    width: 100%;
    height: 56px;
    padding: 0 44px 0 20px;
    border: 1px solid #3a3a3a;
    border-radius: 6px;
    background-color: #2a2a2a;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 22px;
    color: #fff;
    outline: none;
    color-scheme: dark;
    transition: border-color 250ms ease, background-color 250ms ease;
}
select.bs-input {
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23EF7F1A' stroke-width='1.6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
}
select.bs-input option { background: #2a2a2a; color: #fff; }
input[type="date"].bs-input { padding-right: 16px; }
/* the two half-width selects need tighter padding so long names fit */
.bs-input.is-half { padding: 0 34px 0 14px; font-size: 15px; background-position: right 14px center; }
.bs-input:hover { border-color: #4a4a4a; }
.bs-input:focus { border-color: var(--fc-orange); background-color: #262626; }
.bs-input.has-error { border-color: #ff6b6b; }
.bs-quote-btn {
    width: 100%;
    height: 55px;
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: 6px;
    background: var(--fc-orange);
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #1a1a1a;
    cursor: pointer;
    transition: background-color 300ms ease, transform 250ms ease;
}
.bs-quote-btn i { font-size: 12px; transition: transform 300ms ease; }
.bs-quote-btn:hover { background: var(--fc-orange-light); transform: translateY(-2px); }
.bs-quote-btn:hover i { transform: translateX(4px); }
.bs-quote-trust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #9a9a9a;
}
.bs-quote-trust span { display: inline-flex; align-items: center; gap: 8px; }
.bs-quote-trust i { color: var(--fc-orange); }

/* table of contents */
.bs-toc { margin: 0; padding: 0; list-style: none; }
.bs-toc li + li { border-top: 1px solid #ececec; }
.bs-toc a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 0;
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #4a4a4a;
    transition: color 250ms ease, padding-left 300ms ease;
}
.bs-toc a i { font-size: 10px; color: #b9b9b9; transition: color 250ms ease, transform 300ms ease; }
.bs-toc a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 0;
    height: 2px;
    background: var(--fc-orange);
    transition: width 300ms ease;
}
.bs-toc a:hover,
.bs-toc a.is-active { padding-left: 22px; color: var(--fc-orange-dark); }
.bs-toc a:hover::before,
.bs-toc a.is-active::before { width: 12px; }
.bs-toc a:hover i,
.bs-toc a.is-active i { color: var(--fc-orange); transform: translateX(3px); }
.bs-toc a.is-active { font-weight: 600; }

/* spec sheet download */
.bs-pdf { background: #fdf1e6; border-color: rgba(239, 127, 26, 0.25); }
.bs-pdf-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--fc-orange);
    color: #fff;
    font-size: 18px;
}
.bs-pdf h3 {
    margin-top: 15px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 32px;
    color: #111;
}
.bs-pdf p { margin: 15px 0 0; font-family: 'Outfit', sans-serif; font-size: 14px; line-height: 24px; color: #727272; }
.bs-pdf .bs-link { margin-top: 15px; font-size: 12px; }

/* sidebar mini posts (whole row is the link) */
.bs-mini { display: flex; align-items: center; gap: 20px; color: inherit; }
.bs-mini + .bs-mini { margin-top: 20px; }
.bs-mini-img {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
    overflow: hidden;
    border: 1px solid #ececec;
    border-radius: 8px;
    background: #e3e3e3;
}
.bs-mini-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.bs-mini h4 {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 17px;
    line-height: 26px;
    color: #111;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 250ms ease;
}
.bs-mini small { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 18px; color: #8a8a8a; }
.bs-mini:hover { color: inherit; }
.bs-mini:hover h4 { color: var(--fc-orange-dark); }
.bs-mini:hover .bs-mini-img img { transform: scale(1.1); }

/* =========================================================
   5. RELATED INSIGHTS
   ========================================================= */
.bs-related { background: #f6f6f6; padding: 100px 0; }
.bs-related-head { margin-bottom: 60px; }
.bs-related-head h2 {
    margin-top: 8px;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 44px;
    line-height: 56px;
    color: #111;
}
.bs-related-head .bs-link { margin-top: 0; }
.bs-rcard {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #ececec;
    border-radius: 10px;
    background: #fff;
    color: inherit;
    box-shadow: 0 2px 8px rgba(17, 17, 17, 0.04);
    transition: transform 400ms ease, box-shadow 400ms ease, border-color 400ms ease;
}
.bs-rcard:hover { color: inherit; transform: translateY(-8px); border-color: rgba(239, 127, 26, 0.35); box-shadow: 0 26px 50px rgba(17, 17, 17, 0.12); }
.bs-rcard:focus-visible { outline: 2px solid var(--fc-orange); outline-offset: 3px; }
.bs-rcard-img { height: 292px; overflow: hidden; background: #e3e3e3; }
.bs-rcard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.22, .61, .36, 1); }
.bs-rcard:hover .bs-rcard-img img { transform: scale(1.07); }
.bs-rcard-body { flex: 1 1 auto; padding: 30px; }
.bs-rcard-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #8a8a8a;
}
.bs-rcard-meta b { font-weight: 700; color: var(--fc-orange); }
.bs-rcard h3 {
    margin-top: 14px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    color: #111;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 300ms ease;
}
.bs-rcard:hover h3 { color: var(--fc-orange-dark); }
.bs-rcard p {
    margin: 12px 0 0;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    line-height: 28px;
    color: #727272;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bs-rcard-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 30px 20px;
    border-top: 1px solid #f0f0f0;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 1.2px;
    color: #1a1a1a;
}
.bs-rcard-foot i { font-size: 12px; color: var(--fc-orange); transition: transform 300ms ease; }
.bs-rcard:hover .bs-rcard-foot { color: var(--fc-orange-dark); }
.bs-rcard:hover .bs-rcard-foot i { transform: translateX(5px); }

/* keep hover transitions after the scroll-reveal */
.fc-anim .bs-feat[data-anim].is-visible,
.fc-anim .bs-airport[data-anim].is-visible,
.fc-anim .bs-rcard[data-anim].is-visible {
    transition:
        opacity 800ms cubic-bezier(.22, .61, .36, 1) var(--fc-delay, 0ms),
        transform 400ms ease,
        box-shadow 400ms ease,
        border-color 400ms ease,
        background-color 350ms ease;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1399px) {
    .bs-wrap { padding: 0 40px; }
    .bs-gutter-main { --bs-gutter-x: 50px; }
    .bs-title { font-size: 54px; line-height: 70px; }
    .bs-meta-right { justify-content: flex-start; }
}
@media (max-width: 1199px) {
    .bs-title { font-size: 48px; line-height: 62px; }
    .bs-hero-media { height: 520px; }
    .bs-sec-head h2 { font-size: 34px; line-height: 44px; }
    .bs-quote blockquote { font-size: 24px; line-height: 36px; }
    .bs-related-head h2 { font-size: 38px; line-height: 48px; }
}
@media (max-width: 991px) {
    .bs-wrap { padding: 0 32px; }
    .bs-head { padding: 40px 0 50px; }
    .bs-title { font-size: 40px; line-height: 52px; }
    .bs-sub { font-size: 18px; line-height: 30px; }
    .bs-hero-media { height: 440px; }
    .bs-main { padding-bottom: 80px; }
    /* sidebar drops under the article — no sticking */
    .bs-aside { position: static; }
    .bs-related { padding: 80px 0; }
    .bs-related-head { margin-bottom: 40px; }
    .bs-figure-img { height: 420px; }
}
@media (max-width: 767px) {
    .bs-wrap { padding: 0 20px; }
    .bs-cat { margin-top: 30px; }
    .bs-title { margin-top: 20px; font-size: 32px; line-height: 42px; }
    .bs-sub { margin-top: 20px; font-size: 17px; line-height: 28px; }
    .bs-meta-row { margin-top: 30px; padding: 22px 20px; }
    .bs-share { padding-left: 0; border-left: 0; }
    .bs-hero { padding-bottom: 40px; }
    .bs-hero-media { height: 320px; }
    .bs-hero-cap { left: 18px; right: 18px; bottom: 14px; flex-direction: column; align-items: flex-start; font-size: 12px; }
    .bs-article { font-size: 17px; line-height: 30px; }
    .bs-lead { font-size: 21px !important; line-height: 36px !important; }
    .bs-lead::first-letter { font-size: 70px; line-height: 60px; margin-top: 6px; }
    .bs-sec-head { flex-direction: column; gap: 10px; margin-bottom: 22px; }
    .bs-sec-num { padding-top: 0; font-size: 22px; }
    .bs-sec-head h2 { font-size: 28px; line-height: 38px; }
    .bs-quote { flex-direction: column; gap: 14px; padding: 30px 24px; }
    .bs-quote blockquote { font-size: 21px; line-height: 32px; }
    .bs-feat { padding: 24px; }
    .bs-figure-img { height: 280px; }
    .bs-table-title { font-size: 22px; line-height: 30px; }
    .bs-airport { padding: 24px; }
    .bs-airport h3 { font-size: 21px; line-height: 30px; }
    .bs-bio { margin-top: 40px; padding: 28px 24px; }
    .bs-bio-img { width: 96px; height: 96px; }
    .bs-bio h3 { font-size: 26px; line-height: 36px; }
    .bs-quote-box, .bs-box { padding: 24px; }
    .bs-related { padding: 60px 0; }
    .bs-related-head h2 { font-size: 30px; line-height: 40px; }
    .bs-rcard-img { height: 230px; }
    .bs-rcard-body { padding: 24px; }
    .bs-rcard-foot { padding: 16px 24px 18px; }
}
@media (max-width: 575px) {
    .bs-title { font-size: 28px; line-height: 38px; }
    .bs-author b { font-size: 20px; line-height: 28px; }
    .bs-share > span { display: none; }
    .bs-hero-media { height: 260px; }
}

/* =========================================================
   Fab Cars — Book Now page
   ========================================================= */

.bk-section { background: #f6f6f6; padding: 80px 0 100px; overflow-x: clip; }
.bk-wrap { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 60px; }
.bk-gutter-40 { --bs-gutter-x: 40px; --bs-gutter-y: 40px; }
.bk-gutter-16 { --bs-gutter-x: 16px; --bs-gutter-y: 20px; }

/* =========================================================
   FORM CARD (matches the "Get my chauffeur quote" design)
   ========================================================= */
.bk-gutter { --bs-gutter-x: 20px; --bs-gutter-y: 22px; }
.bk-card {
    position: relative;
    padding: 44px 48px 32px;
    border-top: 6px solid var(--fc-orange);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 12px 40px rgba(17, 17, 17, 0.12);
}

.bk-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 20px;
    margin-bottom: 30px;
}
.bk-eyebrow {
    margin: 0;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--fc-orange);
}
.bk-title {
    margin-top: 10px;
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 38px;
    line-height: 46px;
    color: #111;
}
.bk-badge {
    flex: 0 0 auto;
    padding: 5px 14px;
    border: 1px solid #e3e3e3;
    border-radius: 999px;
    background: #fafafa;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 16px;
    color: #727272;
    white-space: nowrap;
}

/* labels + inputs */
.bk-label {
    display: block;
    margin-bottom: 10px;
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #1a1a1a;
}
.bk-control {
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 16px;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    line-height: 22px;
    color: #1a1a1a;
    outline: none;
    transition: border-color 250ms ease, box-shadow 250ms ease;
}
.bk-control::placeholder { color: #9a9a9a; opacity: 1; }
.bk-control:hover { border-color: #bdbdbd; }
.bk-control:focus { border-color: var(--fc-orange); box-shadow: 0 0 0 3px rgba(239, 127, 26, 0.15); }
input[type="date"].bk-control,
input[type="time"].bk-control { cursor: pointer; }
input[type="date"].bk-control:invalid:not(:focus),
input[type="time"].bk-control:invalid:not(:focus) { color: #6a6a6a; }
select.bk-control {
    padding-right: 40px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231a1a1a' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

/* errors (Bootstrap "was-validated" pattern from the HCD form) */
.bk-field .invalid-feedback {
    margin-top: 6px;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 16px;
    color: #d93025;
}
.was-validated .bk-control:invalid,
.bk-control.is-invalid { border-color: #d93025; }
.was-validated .bk-control:invalid:focus { box-shadow: 0 0 0 3px rgba(217, 48, 37, 0.12); }
.was-validated .bk-field:has(:invalid) > .invalid-feedback { display: block; }

/* journey type tabs */
.bk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bk-chip {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #1a1a1a;
    cursor: pointer;
    user-select: none;
    transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}
.bk-chip:hover { border-color: #1a1a1a; }
.btn-check:checked + .bk-chip { background: #1a1a1a; border-color: #1a1a1a; color: #fff; }
.btn-check:focus-visible + .bk-chip { outline: 2px solid var(--fc-orange); outline-offset: 2px; }

.bk-hint { min-height: 16px; margin-top: 6px; font-family: 'Outfit', sans-serif; font-size: 12px; line-height: 16px; color: #727272; }
.bk-hint.warn { color: #b26a00; }

/* return yes / no toggle */
.bk-toggle {
    display: flex;
    height: 50px;
    overflow: hidden;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    background: #fff;
}
.bk-toggle label {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #1a1a1a;
    cursor: pointer;
    transition: background-color 200ms ease, color 200ms ease;
}
.bk-toggle label:hover { background: #f6f6f6; }
.bk-toggle .btn-check:checked + label { background: #1a1a1a; color: #fff; }
.bk-toggle .btn-check:focus-visible + label { outline: 2px solid var(--fc-orange); outline-offset: -2px; }

/* return date / time slide open */
.bk-return-col { margin-top: 0; }
.bk-return {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 450ms ease, opacity 300ms ease;
}
.bk-return.show { max-height: 260px; opacity: 1; }
/* keep the row spacing even while the return fields are closed */
.bk-return-col:has(.bk-return:not(.show)) { margin-top: -22px; }

/* address search dropdown */
.addr-wrap { position: relative; }
.addr-wrap.addr-loading::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border: 2px solid #e3e3e3;
    border-top-color: var(--fc-orange);
    border-radius: 50%;
    animation: bkSpin 700ms linear infinite;
}
@keyframes bkSpin { to { transform: rotate(360deg); } }
.addr-list {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 30;
    display: none;
    max-height: 300px;
    margin: 0;
    padding: 6px;
    overflow-y: auto;
    list-style: none;
    border: 1px solid #e3e3e3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(17, 17, 17, 0.16);
}
.addr-list.open { display: block; animation: bkDrop 200ms ease; }
@keyframes bkDrop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.addr-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-family: 'Outfit', sans-serif;
}
.addr-item i { margin-top: 3px; font-size: 14px; color: var(--fc-orange); }
.addr-item strong { display: block; font-weight: 600; font-size: 14px; line-height: 20px; color: #1a1a1a; }
.addr-item small { display: block; font-size: 12px; line-height: 17px; color: #8a8a8a; }
.addr-item.active, .addr-item:hover { background: #fdf1e6; }
.addr-empty { padding: 12px; font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 18px; color: #727272; }
.addr-foot { padding: 6px 12px 2px; text-align: right; font-family: 'Outfit', sans-serif; font-size: 11px; line-height: 14px; color: #9a9a9a; }

/* phone with flags (if a page opts in to intl-tel-input) */
.bk-field .iti { display: block; width: 100%; }
.bk-field .iti--allow-dropdown input.bk-control { padding-left: 58px; }

/* consent */
.bk-consent { display: flex; align-items: flex-start; gap: 12px; }
.bk-consent input {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    border: 1px solid #bdbdbd;
    border-radius: 3px;
    cursor: pointer;
}
.bk-consent input:checked { background-color: var(--fc-orange); border-color: var(--fc-orange); }
.bk-consent input:focus { box-shadow: 0 0 0 3px rgba(239, 127, 26, 0.15); border-color: var(--fc-orange); }
.was-validated .bk-consent input:invalid { border-color: #d93025; }
.was-validated .bk-consent input:invalid ~ label { color: #d93025; }
.bk-consent label { font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 20px; color: #4a4a4a; cursor: pointer; }
.bk-consent a { color: inherit; text-decoration: underline; }
.bk-consent a:hover { color: var(--fc-orange-dark); }

/* whole-form error + submit */
.bk-alert {
    display: none;
    margin-bottom: 14px;
    padding: 12px 16px;
    border: 1px solid #f3c3bf;
    border-radius: 4px;
    background: #fff4f3;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    line-height: 20px;
    color: #b3261e;
}
.bk-alert.show { display: block; animation: bkShake 400ms ease; }
@keyframes bkShake {
    0%, 100% { transform: none; }
    25% { transform: translateX(-6px); }
    75% { transform: translateX(6px); }
}
.bk-submit {
    width: 100%;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: 3px;
    background: var(--fc-orange);
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #1a1a1a;
    cursor: pointer;
    transition: background-color 300ms ease, transform 250ms ease, box-shadow 300ms ease;
}
.bk-submit .arrow { font-size: 18px; transition: transform 300ms ease; }
.bk-submit:hover { background: var(--fc-orange-dark); transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(239, 127, 26, 0.7); }
.bk-submit:hover .arrow { transform: translateX(5px); }
.bk-submit[disabled] { opacity: .8; cursor: wait; transform: none; box-shadow: none; }
.bk-note {
    margin: 14px 0 0;
    text-align: center;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    line-height: 18px;
    color: #727272;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.bk-side { position: sticky; top: 100px; }
.bk-box {
    margin-bottom: 30px;
    padding: 30px;
    border: 1px solid #ececec;
    border-radius: 16px;
    background: #fff;
}
.bk-box:last-child { margin-bottom: 0; }
.bk-box h2 {
    margin-bottom: 20px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    color: #111;
}
.bk-perks { margin: 0; padding: 0; list-style: none; }
.bk-perks li { display: flex; gap: 14px; }
.bk-perks li + li { margin-top: 18px; }
.bk-perk-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fdf1e6;
    color: var(--fc-orange);
    font-size: 16px;
    transition: background-color 300ms ease, color 300ms ease, transform 400ms cubic-bezier(.34, 1.56, .64, 1);
}
.bk-perks li:hover .bk-perk-icon { background: var(--fc-orange); color: #fff; transform: rotate(-8deg); }
.bk-perks b { display: block; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 15px; line-height: 22px; color: #1a1a1a; }
.bk-perks small { display: block; font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 20px; color: #727272; }

.bk-help { background: #201f1f; border-color: #201f1f; }
.bk-help h2 { color: #fff; }
.bk-help p { margin: -8px 0 20px; font-family: 'Outfit', sans-serif; font-size: 14px; line-height: 22px; color: #b9b9b9; }
.bk-help-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    transition: color 250ms ease;
}
.bk-help-link i {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(239, 127, 26, 0.15);
    color: var(--fc-orange);
    font-size: 16px;
    transition: background-color 250ms ease, color 250ms ease;
}
.bk-help-link b { display: block; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 15px; line-height: 20px; }
.bk-help-link small { display: block; font-family: 'Outfit', sans-serif; font-size: 12px; line-height: 16px; color: #8a8a8a; }
.bk-help-link:hover { color: var(--fc-orange); }
.bk-help-link:hover i { background: var(--fc-orange); color: #fff; }

.bk-steps { margin: 0; padding: 0; list-style: none; counter-reset: bk; }
.bk-steps li { position: relative; padding-left: 46px; counter-increment: bk; }
.bk-steps li + li { margin-top: 20px; }
.bk-steps li::before {
    content: counter(bk);
    position: absolute;
    left: 0;
    top: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--fc-orange);
    border-radius: 50%;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: var(--fc-orange);
}
.bk-steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 15px;
    top: 34px;
    bottom: -18px;
    width: 1px;
    background: #f0d6bf;
}
.bk-steps b { display: block; font-family: 'Outfit', sans-serif; font-weight: 600; font-size: 15px; line-height: 22px; color: #1a1a1a; }
.bk-steps small { display: block; font-family: 'Outfit', sans-serif; font-size: 13px; line-height: 20px; color: #727272; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1199px) {
    .bk-wrap { padding: 0 40px; }
    .bk-card { padding: 40px 36px 30px; }
}
@media (max-width: 991px) {
    .bk-section { padding: 60px 0 80px; }
    .bk-wrap { padding: 0 32px; }
    .bk-side { position: static; }
}
@media (max-width: 767px) {
    .bk-section { padding: 40px 0 60px; }
    .bk-wrap { padding: 0 16px; }
    .bk-card { padding: 30px 20px 24px; }
    .bk-head { flex-direction: column-reverse; align-items: flex-start; margin-bottom: 24px; }
    .bk-title { font-size: 30px; line-height: 38px; }
    .bk-box { padding: 24px 20px; }
}
@media (max-width: 420px) {
    .bk-gutter { --bs-gutter-x: 12px; }
    .bk-chip { padding: 0 11px; font-size: 12px; }
    .bk-control { padding: 0 12px; font-size: 14px; }
    select.bk-control { padding-right: 30px; background-position: right 10px center; }
    .bk-label { font-size: 11px; letter-spacing: 0.4px; }
    .bk-submit { gap: 8px; font-size: 13px; letter-spacing: 0.6px; }
}