.brand-service-vehicle {
    margin: 0;
    overflow: hidden;
    position: relative;
}

.brand-service-vehicle > .vc_single_image-img {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

.brand-service-vehicle--hero {
    background: #f4f4f4;
    padding: 18px;
}

.brand-service-vehicle--hero::before {
    background: #d90000;
    content: "";
    height: 84%;
    position: absolute;
    right: 0;
    top: 8%;
    transform: rotate(4deg);
    width: 34%;
}

.brand-service-vehicle--hero > .vc_single_image-img {
    box-shadow: 0 8px 22px rgba(0, 0, 0, .16);
    position: relative;
    z-index: 1;
}

.brand-service-vehicle--hero figcaption {
    background: rgba(255, 255, 255, .94);
    bottom: 28px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
    line-height: 0;
    padding: 8px 12px;
    position: absolute;
    right: 28px;
    z-index: 2;
}

.brand-service-vehicle--hero figcaption img {
    display: block;
    height: 42px;
    max-width: 136px;
    object-fit: contain;
    width: auto;
}

.vc_custom_1582008027901 { padding-bottom: 20px !important; padding-top: 60px !important; }
.vc_custom_1575610664275 { background-image: url('/assets/site/wp-content/uploads/2019/12/3.2ebbe8f9a3.jpg') !important; background-position: 0 0 !important; background-repeat: no-repeat !important; padding-bottom: 80px !important; padding-top: 80px !important; }
.vc_custom_1575366616633 { background-image: url('/assets/site/wp-content/uploads/2019/12/16.81cfab2282.jpg') !important; margin-top: -150px !important; }
.vc_custom_1575368792918 { padding-bottom: 60px !important; padding-top: 60px !important; }
.vc_custom_1576137174824 { padding-bottom: 60px !important; padding-top: 60px !important; }
.vc_custom_1576060410297 { background-image: url('/images/vehicle-models/current-japanese-cta-background.webp') !important; }
.vc_custom_1575368146345 { padding-right: 0 !important; }
.vc_custom_1575368151560 { padding-left: 0 !important; }
.vc_custom_1575368459618 { background-color: #000 !important; margin-bottom: 0 !important; padding: 10px !important; }
.vc_custom_1582022734445, .vc_custom_1582022745444 { background-color: #333 !important; margin-bottom: 0 !important; padding: 10px !important; }
.vc_custom_1575369313763, .vc_custom_1575369465268 { background-color: #d90000 !important; padding: 30px !important; }
.vc_custom_1575369356002, .vc_custom_1575369328858 { background-color: #000 !important; padding: 30px !important; }

.fix-height { height: 1000px; }
.wpb_text_column.wpb_content_element.top-60.redbg { background-position: center bottom !important; background-repeat: no-repeat !important; background-size: 100% 100%; height: 530px; margin-bottom: 0; margin-top: -390px; padding-top: 400px; }
.custom-font { color: #fff; font-size: 25px !important; font-weight: 800; line-height: 35px; text-transform: uppercase; }
h3.small-font { font-size: 25px !important; text-align: center; }
.small-font .alignleft { margin: 0 24px 0 0 !important; width: 40px !important; }
.white-font h2 { background: #d90000 !important; color: #fff; font-size: 35px; padding: 20px; }
.white-font form.wpcf7-form { background: #f4f4f4; padding: 40px; }
.white-font form label, .white-font .wpcf7-form-control { width: 100% !important; }
.white-font .wpcf7-form-control { padding: 15px !important; }
.white-font input.wpcf7-form-control.wpcf7-submit { background: #000 !important; border: 0; padding: 15px 50px !important; width: auto !important; }

/* The legacy page used a one-item carousel at small widths. A fixed grid keeps
   every served make visible and uses a consistent optical size for each logo. */
.japanese-brand-logo-grid {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    justify-items: center;
    margin: 0 auto;
    max-width: 1120px;
}

.japanese-brand-logo-grid .wpb_single_image,
.japanese-brand-logo-grid .wpb_wrapper,
.japanese-brand-logo-grid .vc_single_image-wrapper {
    line-height: 0;
    margin: 0;
    width: 100%;
}

.japanese-brand-logo-grid img {
    display: block;
    height: 76px;
    margin: 0 auto;
    max-width: 100%;
    object-fit: contain;
    width: 138px;
}

@media (max-width: 991px) {
    .fix-height {
        height: auto;
        min-height: 0;
    }

    .japanese-brand-logo-grid {
        gap: 22px 18px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 340px;
    }

    .japanese-brand-logo-grid img {
        height: 64px;
        width: 128px;
    }

    .brand-service-vehicle--hero { margin-top: 30px; }
    .brand-service-vehicle--hero figcaption { bottom: 20px; right: 20px; }
    .brand-service-vehicle--hero figcaption img { height: 34px; max-width: 112px; }
}

.brand-service-intro,
.brand-service-coverage {
    padding: 72px 0;
}

.brand-service-intro h2,
.brand-service-coverage h2,
.brand-service-cta h2 {
    color: #111;
    font-size: clamp(1.8rem, 3vw, 2.55rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 22px;
    text-transform: uppercase;
}

.brand-service-intro p,
.brand-service-coverage p {
    color: #333;
    font-size: 1.05rem;
    line-height: 1.8;
}

.brand-service-eyebrow {
    color: #d90000 !important;
    font-size: .8rem !important;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.brand-service-media {
    background: #f4f4f4;
    margin: 0;
    overflow: hidden;
    padding: 14px;
}

.brand-service-media img {
    display: block;
    height: auto;
    width: 100%;
}

.brand-service-media figcaption {
    color: #555;
    font-size: .74rem;
    margin-top: 9px;
    text-align: center;
}

.brand-service-button {
    background: #d90000;
    color: #fff;
    display: inline-block;
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: .04em;
    margin-top: 12px;
    padding: 15px 23px;
    text-transform: uppercase;
}

.brand-service-button:hover,
.brand-service-button:focus {
    background: #111;
    color: #fff;
}

.brand-service-coverage {
    background: #f4f4f4;
}

.brand-service-model-list {
    color: #111 !important;
    font-weight: 700;
}

.brand-service-checklist {
    background: #111;
    color: #fff;
    padding: 32px;
}

.brand-service-checklist h3 {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
    margin: 0 0 18px;
    text-transform: uppercase;
}

.brand-service-checklist ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.brand-service-checklist li {
    border-top: 1px solid #444;
    font-size: .95rem;
    line-height: 1.45;
    padding: 12px 0 12px 23px;
    position: relative;
}

.brand-service-checklist li::before {
    color: #d90000;
    content: "✓";
    font-weight: 800;
    left: 0;
    position: absolute;
}

.brand-service-cta {
    background: #d90000;
    color: #fff;
    padding: 46px 0;
}

.brand-service-cta h2,
.brand-service-cta p {
    color: #fff;
}

.brand-service-cta h2 {
    margin-bottom: 8px;
}

.brand-service-cta p {
    margin: 0;
}

.brand-service-cta__action {
    text-align: right;
}

.brand-service-button--light {
    background: #fff;
    color: #111;
    margin: 0;
}

.brand-service-button--light:hover,
.brand-service-button--light:focus {
    background: #111;
    color: #fff;
}

@media (max-width: 991px) {
    .brand-service-intro,
    .brand-service-coverage {
        padding: 48px 0;
    }

    .brand-service-media {
        margin-top: 30px;
    }

    .brand-service-checklist {
        margin-top: 28px;
    }

    .brand-service-cta {
        padding: 38px 0;
    }

    .brand-service-cta__action {
        text-align: left;
    }
}
