/* Zoom Cars: Home page styles (moved from inline <style>) */
:root {
    --zc-yellow: #f6e30a;
    --zc-red: #e10c0c;
    --zc-black: #020304;
    --zc-hero-image: url("https://zoomcars.org/wp-content/uploads/2026/09/zoomcars-hero-image.png");
    --zc-cta-image: url("https://your-domain.com/wp-content/uploads/2026/09/cta.jpg");
}

.zc-homepage {
    font-family: "Poppins", sans-serif;
    color: var(--zc-black);
    background: #fff;
    width: 100%;
    max-width: 100%;
    container: zc-page / inline-size;
    overflow-x: hidden;
}

.zc-homepage *,
.zc-homepage *::before,
.zc-homepage *::after {
    box-sizing: border-box;
}

.zc-homepage :where(h1, h2, h3, h4, p, a, button, label, span) {
    overflow-wrap: break-word;
}

.zc-homepage img {
    display: block;
    max-width: 100%;
}

.zc-hero-grid > *,
.zc-about-grid > *,
.zc-services-grid > *,
.zc-why-grid > *,
.zc-why-list > *,
.zc-how-grid > *,
.zc-app-grid > *,
.zc-faq-grid > *,
.zc-form-grid > * {
    min-width: 0;
}

.zc-container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
    max-width: 100%;
}

.zc-section {
    padding: 100px 0;
}

.zc-section-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.zc-section-label::before {
    content: "";
    width: 32px;
    height: 3px;
    background: var(--zc-red);
}

.zc-heading {
    margin: 0;
    font-size: 54px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: 0;
    text-wrap: balance;
}

.zc-heading span {
    color: var(--zc-red);
}

.zc-description {
    color: #020304;
    font-size: 17px;
    line-height: 1.9;
    font-weight: 500;
    text-wrap: pretty;
}

.zc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 0 28px;
    border-radius: 5px;
    font-family: "Poppins";
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    cursor: pointer;
    transition: .3s ease;
    border: none;
}

.zc-btn::after {
    content: "\2192";
    font-size: 15px;
    line-height: 1;
    transition: transform .25s ease;
}

.zc-btn:hover::after,
.zc-btn:focus::after {
    transform: translateX(4px);
}

.zc-btn-primary {
    background: var(--zc-yellow);
    color: #020304;
}

.zc-btn-primary:hover {
    background: var(--zc-red);
    color: #fff;
    transform: translateY(-3px);
}

.zc-btn-dark {
    background: var(--zc-black);
    color: #fff;
}

.zc-btn-dark:hover {
    background: var(--zc-red);
    transform: translateY(-3px);
}

.zc-animate {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .65s ease,
        transform .65s ease;
}

.zc-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes zc-fade-up {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes zc-soft-zoom {
    from {
        background-size: cover, 104%, cover;
    }

    to {
        background-size: cover, 112%, cover;
    }
}

@keyframes zc-float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

.zc-hero {
    position: relative;
    min-height: 760px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        var(--zc-hero-image) center / cover no-repeat,
        linear-gradient(135deg, #020304, #020304);
    isolation: isolate;
}

.zc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(2,3,4,.88) 0%, rgba(2,3,4,.68) 45%, rgba(2,3,4,.25) 100%);
    pointer-events: none;
}

.zc-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    height: 7px;
    background: linear-gradient(90deg, var(--zc-yellow), var(--zc-red));
}

.zc-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: #020304;
}

.zc-hero-bg-slide {
    position: absolute;
    inset: -2%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    transform: scale(1.08) translateX(24px);
    transition:
        opacity 1.15s ease,
        transform 6.5s ease;
    will-change: opacity, transform;
}

.zc-hero-bg-slide.active {
    opacity: 1;
    z-index: 1;
    transform: scale(1.02) translateX(0);
}

@keyframes zc-hero-bg-cycle {
    0%,
    100% {
        opacity: 0;
        transform: scale(1.08) translateX(24px);
    }

    5%,
    25% {
        opacity: 1;
        transform: scale(1.02) translateX(0);
    }

    32%,
    95% {
        opacity: 0;
        transform: scale(1.04) translateX(-18px);
    }
}

.zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
    animation: zc-hero-bg-cycle 20s infinite;
}

.zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide:nth-child(1) {
    animation-delay: 0s;
}

.zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide:nth-child(2) {
    animation-delay: 5s;
}

.zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide:nth-child(3) {
    animation-delay: 10s;
}

.zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide:nth-child(4) {
    animation-delay: 15s;
}

.zc-hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.zc-hero .zc-container {
    padding-top: 18px;
    padding-bottom: 18px;
}

.zc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 470px);
    align-items: center;
    gap: 58px;
}

.zc-hero-text {
    color: #fff;
    animation: zc-fade-up .75s ease both;
}

.zc-hero-label {
    display: inline-block;
    margin-top: 60px;
    padding: 9px 15px;
    background: var(--zc-yellow);
    color: #020304;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.zc-hero-title {
    margin: 0 0 22px;
    font-size: 72px;
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: 0;
}

.zc-hero-title span {
    color: var(--zc-yellow);
}

.zc-hero-description {
    max-width: 620px;
    margin: 0 0 30px;
    color: rgba(255,255,255,.9);
    font-size: 15px;
    line-height: 1.9;
    font-weight: 500;
}

.zc-hero-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.zc-booking-card {
    position: relative;
    width: 100%;
    max-width: 490px;
    justify-self: end;
    padding: 30px;
    background:
        linear-gradient(180deg, rgba(246,227,10,.1), transparent 34%),
        #fff;
    border: 1px solid rgba(2,3,4,.18);
    border-top: 0;
    border-radius: 8px;
    box-shadow: 0 24px 58px rgba(2,3,4,.32);
    animation: zc-fade-up .85s .1s ease both;
    overflow: hidden;
}

.zc-booking-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    height: 6px;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow));
}

.zc-booking-card::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 0;
    width: 54px;
    height: 54px;
    border-right: 2px solid rgba(246,227,10,.7);
    border-bottom: 2px solid rgba(225,12,12,.55);
    pointer-events: none;
}

.zc-booking-card > * {
    position: relative;
    z-index: 1;
}

.zc-booking-title {
    position: relative;
    margin: 0 0 7px;
    padding-left: 15px;
    color: #020304;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
}

.zc-booking-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 5px;
    background: var(--zc-red);
}

.zc-booking-subtitle {
    margin: 0 0 20px;
    color: #020304;
    font-size: 12px;
    line-height: 1.65;
    font-weight: 600;
}

.zc-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.zc-form-group {
    display: flex;
    flex-direction: column;
}

.zc-form-group.full {
    grid-column: 1 / -1;
}

.zc-form-group label {
    margin-bottom: 7px;
    color: #020304;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.zc-form-group input,
.zc-form-group select,
.zc-form-group textarea {
    width: 100%;
    min-height: 44px;
    padding: 11px 13px;
    border: 1px solid rgba(2,3,4,.22);
    border-radius: 6px;
    background: rgba(2,3,4,.025);
    color: #020304;
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
    outline: none;
    transition: .25s;
}

.zc-form-group input::placeholder,
.zc-form-group textarea::placeholder {
    color: rgba(2,3,4,.6);
}

.zc-form-group input:hover,
.zc-form-group select:hover,
.zc-form-group textarea:hover {
    border-color: rgba(2,3,4,.46);
    background: #fff;
}

.zc-form-group input:focus,
.zc-form-group select:focus,
.zc-form-group textarea:focus {
    border-color: var(--zc-red);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(225,12,12,.07);
}

.zc-form-group textarea {
    min-height: 78px;
    resize: vertical;
}

.zc-submit {
    width: 100%;
    margin-top: 14px;
    min-height: 52px;
    border: 1px solid #020304;
    border-radius: 6px;
    background: var(--zc-red);
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .7px;
    text-transform: uppercase;
    line-height: 1.2;
    cursor: pointer;
    transition: .3s;
}

.zc-submit:disabled {
    cursor: wait;
    opacity: .7;
    transform: none;
}

.zc-submit:hover {
    background: #020304;
    border-color: var(--zc-yellow);
    transform: translateY(-2px);
}

.zc-form-message {
    display: none;
    margin-top: 10px;
    padding: 10px;
    border-radius: 4px;
    font-size: 11px;
    line-height: 1.6;
    font-weight: 600;
}

.zc-form-message.success {
    display: block;
    background: #f6e30a;
    color: #020304;
}

.zc-form-message.error {
    display: block;
    background: #e10c0c;
    color: #fff;
}

.zc-about {
    background: #fff;
}

.zc-about-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: 75px;
}

.zc-about-image {
    position: relative;
}

.zc-about-image a,
.zc-about-image-frame {
    display: block;
    overflow: hidden;
    border-radius: 6px;
    background: linear-gradient(135deg, #020304, #020304);
}

.zc-about-image img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 6px;
}

.zc-about-image::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    right: -22px;
    bottom: -22px;
    border-right: 6px solid var(--zc-yellow);
    border-bottom: 6px solid var(--zc-red);
    z-index: 0;
    pointer-events: none;
}

.zc-about-content {
    position: relative;
    z-index: 2;
}

.zc-about-content .zc-description {
    margin: 25px 0;
}

.zc-about-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 34px;
    padding: 8px;
    border: 1px solid rgba(2,3,4,.14);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(2,3,4,.1);
}

.zc-stat {
    position: relative;
    min-height: 128px;
    padding: 24px 20px 22px;
    border: 1px solid rgba(2,3,4,.12);
    border-left: 4px solid var(--zc-yellow);
    border-radius: 6px;
    background: #fff;
    color: #020304;
    overflow: hidden;
    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        background .3s ease,
        transform .3s ease;
}

.zc-stat + .zc-stat {
    border-left: 4px solid var(--zc-yellow);
}

.zc-stat::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 18px;
    width: 34px;
    height: 4px;
    background: var(--zc-yellow);
}

.zc-stat:nth-child(2) {
    border-left-color: var(--zc-red);
}

.zc-stat:nth-child(2)::before {
    background: var(--zc-red);
}

.zc-stat:nth-child(3) {
    border-left-color: var(--zc-yellow);
}

.zc-stat:nth-child(3)::before {
    background: linear-gradient(90deg, var(--zc-yellow), var(--zc-red));
}

.zc-stat::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 42px;
    height: 42px;
    border-right: 2px solid rgba(246,227,10,.7);
    border-bottom: 2px solid rgba(225,12,12,.7);
    pointer-events: none;
    transition: transform .3s ease;
}

.zc-stat:hover {
    border-color: rgba(225,12,12,.28);
    background: #fff;
    box-shadow: 0 16px 36px rgba(2,3,4,.12);
    transform: translateY(-4px);
}

.zc-stat:hover::after {
    transform: translate(5px, 5px);
}

.zc-stat strong {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
    border: 1px solid #020304;
    border-radius: 50%;
    background: #f6e30a;
    color: #020304;
    font-size: 22px;
    line-height: 1;
    font-weight: 800;
}

.zc-stat span {
    position: relative;
    display: block;
    color: #020304;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;
    text-transform: uppercase;
}

.zc-services {
    position: relative;
    overflow: hidden;
    background: #020304;
    color: #fff;
}

.zc-services::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246,227,10,.1), transparent 36%, rgba(225,12,12,.12)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 118px);
    opacity: .7;
    pointer-events: none;
}

.zc-services .zc-container {
    position: relative;
    z-index: 1;
}

.zc-services .zc-section-label {
    color: var(--zc-yellow);
}

.zc-services .zc-section-label::before {
    background: var(--zc-yellow);
}

.zc-services .zc-heading {
    color: #fff;
}

.zc-services .zc-heading span {
    color: var(--zc-yellow);
}

.zc-services .zc-description {
    color: rgba(255,255,255,.86);
}

.zc-services .zc-section-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
    align-items: end;
    gap: 48px;
    margin-bottom: 46px;
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(255,255,255,.18);
}

.zc-section-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 50px;
}

.zc-section-top-text {
    max-width: 620px;
}

.zc-section-top > .zc-description {
    max-width: 470px;
    margin: 0;
}

.zc-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 30px;
}

.zc-service-card {
    --zc-card-y: 0px;
    position: relative;
    overflow: hidden;
    min-height: 455px;
    border: 1px solid rgba(246,227,10,.28);
    border-radius: 8px;
    background: #020304;
    box-shadow: 0 26px 82px rgba(2,3,4,.58);
    transform: translateY(var(--zc-card-y));
    transition:
        transform .45s ease,
        border-color .45s ease,
        box-shadow .45s ease,
        filter .45s ease;
    isolation: isolate;
}

.zc-service-card:nth-child(even) {
    --zc-card-y: 26px;
}

.zc-service-card:nth-child(1),
.zc-service-card:nth-child(4) {
    min-height: 500px;
}

.zc-service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4;
    height: 6px;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow));
    pointer-events: none;
}

.zc-service-card::after {
    content: "";
    position: absolute;
    inset: 14px;
    z-index: 3;
    border: 1px solid rgba(255,255,255,.16);
    pointer-events: none;
    transition: border-color .45s ease;
}

.zc-service-card:hover {
    border-color: rgba(246,227,10,.86);
    transform: translateY(calc(var(--zc-card-y) - 10px));
    box-shadow: 0 34px 90px rgba(2,3,4,.68);
}

.zc-service-card:hover::after {
    border-color: rgba(246,227,10,.68);
}

.zc-service-card > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    background: linear-gradient(135deg, #020304, #020304);
}

.zc-service-card > a::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2,3,4,.8), transparent 56%),
        linear-gradient(180deg, transparent 0%, rgba(2,3,4,.92) 88%);
    pointer-events: none;
}

.zc-service-card img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    display: block;
    opacity: .84;
    filter: saturate(.9) contrast(1.08);
    transition:
        transform .7s ease,
        opacity .45s ease,
        filter .45s ease;
}

.zc-service-card:hover img {
    transform: scale(1.09);
    opacity: .72;
    filter: saturate(1.04) contrast(1.12);
}

.zc-service-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 32px;
    background:
        linear-gradient(180deg, rgba(2,3,4,.18) 0%, rgba(2,3,4,.42) 42%, rgba(2,3,4,.98) 100%),
        linear-gradient(135deg, rgba(246,227,10,.18), transparent 36%),
        linear-gradient(315deg, rgba(225,12,12,.24), transparent 36%);
    pointer-events: none;
}

.zc-service-overlay::before {
    content: "";
    position: absolute;
    top: 32px;
    left: 32px;
    width: 58px;
    height: 5px;
    background: var(--zc-yellow);
    opacity: 1;
}

.zc-service-number {
    align-self: flex-start;
    margin-bottom: auto;
    padding: 11px 14px;
    border: 1px solid rgba(246,227,10,.82);
    background: #020304;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 5px 5px 0 var(--zc-red);
}

.zc-service-overlay h3 {
    position: relative;
    margin: 0 0 14px;
    padding-top: 18px;
    color: #fff;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 800;
}

.zc-service-overlay h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 4px;
    background: var(--zc-red);
}

.zc-service-overlay p {
    position: relative;
    margin: 0;
    color: rgba(255,255,255,.92);
    font-size: 13px;
    line-height: 1.8;
    font-weight: 600;
    max-width: 40ch;
}

.zc-service-btn {
    position: relative;
    z-index: 4;
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 24px;
    padding: 0 22px;
    border: 1px solid #020304;
    border-radius: 4px;
    background: #f6e30a;
    color: #020304;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    pointer-events: auto;
    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease,
        border-color .3s ease;
}

.zc-service-btn:hover {
    border-color: var(--zc-yellow);
    background: var(--zc-red);
    color: #fff;
    transform: translateY(-2px);
}

.zc-why {
    position: relative;
    overflow: hidden;
    background: var(--zc-black);
    color: #fff;
}

.zc-why::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246,227,10,.08), transparent 38%, rgba(225,12,12,.14)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 110px);
    pointer-events: none;
}

.zc-why .zc-container {
    position: relative;
    z-index: 1;
}

.zc-why-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 80px;
    align-items: center;
}

.zc-why .zc-section-label {
    color: var(--zc-yellow);
}

.zc-why .zc-heading {
    color: #fff;
}

.zc-why .zc-description {
    color: rgba(255,255,255,.82);
}

.zc-why-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.zc-why-card {
    position: relative;
    min-height: 188px;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    padding: 26px 24px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
        #020304;
    overflow: hidden;
    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease,
        background .35s ease;
}

.zc-why-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--zc-yellow);
}

.zc-why-card::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 18px;
    width: 54px;
    height: 54px;
    border-right: 2px solid rgba(246,227,10,.42);
    border-bottom: 2px solid rgba(225,12,12,.6);
    pointer-events: none;
}

.zc-why-card:hover {
    border-color: rgba(246,227,10,.78);
    background:
        linear-gradient(135deg, rgba(246,227,10,.12), rgba(225,12,12,.08)),
        #020304;
    box-shadow: 0 24px 58px rgba(2,3,4,.48);
    transform: translateY(-6px);
}

.zc-why-icon {
    position: relative;
    z-index: 1;
    grid-row: 1 / span 2;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #020304;
    border-radius: 8px;
    background: var(--zc-yellow);
    color: #020304;
    box-shadow: 6px 6px 0 var(--zc-red);
    transition:
        background .35s ease,
        color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.zc-why-icon svg {
    width: 28px;
    height: 28px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.zc-why-card:hover .zc-why-icon {
    background: var(--zc-red);
    color: #fff;
    box-shadow: 6px 6px 0 var(--zc-yellow);
    transform: translateY(-3px);
}

.zc-why-card h3 {
    position: relative;
    z-index: 1;
    grid-column: 2;
    margin: 3px 0 10px;
    color: #fff;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 800;
}

.zc-why-card p {
    position: relative;
    z-index: 1;
    grid-column: 2;
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 13px;
    line-height: 1.75;
    font-weight: 500;
}

.zc-how {
    position: relative;
    overflow: hidden;
    background: #fff;
    color: #020304;
}

.zc-how::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2,3,4,.035) 0 1px, transparent 1px 118px),
        linear-gradient(180deg, rgba(246,227,10,.18), transparent 45%),
        linear-gradient(315deg, rgba(225,12,12,.08), transparent 42%);
    pointer-events: none;
}

.zc-how .zc-container {
    position: relative;
    z-index: 1;
}

.zc-how .zc-section-top {
    align-items: center;
    margin-bottom: 44px;
    padding-bottom: 36px;
    border-bottom: 1px solid rgba(2,3,4,.14);
}

.zc-how .zc-section-top > .zc-description {
    max-width: 560px;
    padding-left: 24px;
    border-left: 5px solid var(--zc-yellow);
    font-size: 16px;
    line-height: 1.9;
    font-weight: 600;
}

.zc-how-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 0;
    border: 1px solid rgba(2,3,4,.16);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(2,3,4,.1);
    overflow: hidden;
    isolation: isolate;
}

.zc-how-grid::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    height: 6px;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow));
    pointer-events: none;
}

.zc-step {
    position: relative;
    min-height: 330px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 46px 34px 38px;
    border: 0;
    border-right: 1px solid rgba(2,3,4,.12);
    background: #fff;
    overflow: hidden;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        background .35s ease;
}

.zc-step:last-child {
    border-right: 0;
}

.zc-step::before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 0;
    background: rgba(246,227,10,.18);
    transition: height .35s ease;
    pointer-events: none;
}

.zc-step::after {
    content: "";
    position: absolute;
    left: 34px;
    bottom: 28px;
    width: 64px;
    height: 4px;
    background: var(--zc-red);
    transform: scaleX(.45);
    transform-origin: left;
    transition:
        background .35s ease,
        transform .35s ease;
    pointer-events: none;
}

.zc-step:hover {
    z-index: 3;
    background: #fff;
    box-shadow: 0 24px 58px rgba(2,3,4,.14);
    transform: translateY(-8px);
}

.zc-step:hover::before {
    height: 100%;
}

.zc-step:hover::after {
    background: var(--zc-yellow);
    transform: scaleX(1);
}

.zc-step-number {
    position: absolute;
    top: 22px;
    right: 26px;
    color: rgba(2,3,4,.08);
    font-size: 82px;
    line-height: .9;
    font-weight: 800;
}

.zc-step-icon {
    position: relative;
    z-index: 1;
    width: 74px;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 46px;
    border: 2px solid #020304;
    border-radius: 8px;
    background: #020304;
    box-shadow: 8px 8px 0 var(--zc-yellow);
    color: var(--zc-yellow);
    font-size: 19px;
    font-weight: 800;
}

.zc-step h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 13px;
    color: #020304;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
}

.zc-step p {
    position: relative;
    z-index: 1;
    max-width: 35ch;
    margin: 0;
    color: #020304;
    font-size: 14px;
    line-height: 1.8;
    font-weight: 500;
}

.zc-app {
    position: relative;
    overflow: hidden;
    background: #020304;
    color: #fff;
}

.zc-app::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246,227,10,.08), transparent 36%, rgba(225,12,12,.14)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 118px);
    pointer-events: none;
}

.zc-app .zc-container {
    position: relative;
    z-index: 1;
}

.zc-app-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr);
    align-items: center;
    gap: 64px;
    padding: 48px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
        #020304;
    box-shadow: 0 28px 80px rgba(2,3,4,.42);
    overflow: hidden;
}

.zc-app-grid::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    height: 6px;
    background: linear-gradient(90deg, var(--zc-yellow), var(--zc-red));
}

.zc-app-grid::after {
    content: "";
    position: absolute;
    right: 30px;
    bottom: 30px;
    z-index: 0;
    width: 84px;
    height: 84px;
    border-right: 2px solid rgba(246,227,10,.48);
    border-bottom: 2px solid rgba(225,12,12,.6);
    pointer-events: none;
}

.zc-app-grid > div {
    position: relative;
    z-index: 1;
}

.zc-app .zc-section-label {
    color: var(--zc-yellow);
}

.zc-app .zc-heading {
    color: #fff;
}

.zc-app .zc-description {
    color: rgba(255,255,255,.9);
    max-width: 600px;
    margin: 22px 0 32px;
    font-size: 16px;
    line-height: 1.9;
    font-weight: 600;
}

.zc-app-buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.zc-app .zc-btn-dark {
    border: 1px solid #fff;
    background: #fff;
    color: #020304;
}

.zc-app .zc-btn-dark:hover {
    border-color: var(--zc-red);
    background: var(--zc-red);
    color: #fff;
}

.zc-app-phone {
    position: relative;
    display: flex;
    justify-content: center;
    padding: 26px;
}

.zc-app-phone::before {
    content: "";
    position: absolute;
    inset: 46px 20px 20px 46px;
    border: 2px solid rgba(246,227,10,.62);
    border-radius: 8px;
    background: rgba(225,12,12,.18);
    transform: rotate(-4deg);
    pointer-events: none;
}

.zc-app-phone a {
    position: relative;
    z-index: 1;
    display: block;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 8px;
    background: #fff;
    box-shadow: 12px 12px 0 var(--zc-yellow);
    transition:
        box-shadow .35s ease,
        transform .35s ease;
}

.zc-app-phone a:hover {
    box-shadow: 12px 12px 0 var(--zc-red);
    transform: translateY(-6px);
}

.zc-app-phone img {
    width: min(360px,100%);
    max-height: 520px;
    object-fit: contain;
    display: block;
    animation: zc-float 4.8s ease-in-out infinite;
}

.zc-reviews {
    position: relative;
    overflow: hidden;
    background: #fff;
    color: #020304;
}

.zc-reviews::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246,227,10,.08), transparent 36%, rgba(225,12,12,.08)),
        repeating-linear-gradient(90deg, rgba(2,3,4,.04) 0 1px, transparent 1px 112px);
    opacity: .7;
    pointer-events: none;
}

.zc-reviews::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 7px;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow));
    pointer-events: none;
}

.zc-reviews .zc-container {
    position: relative;
    z-index: 1;
}

.zc-reviews .zc-section-label {
    color: #020304;
}

.zc-reviews .zc-section-label::before {
    background: var(--zc-red);
}

.zc-reviews .zc-heading {
    color: #020304;
}

.zc-reviews .zc-heading span {
    color: var(--zc-red);
}

.zc-review-head {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.zc-review-stage {
    position: relative;
    margin-top: 48px;
    padding: 34px;
    border: 1px solid rgba(2,3,4,.16);
    border-radius: 8px;
    background: #020304;
    box-shadow: 0 28px 80px rgba(2,3,4,.18);
    overflow: hidden;
}

.zc-review-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246,227,10,.12), transparent 42%, rgba(225,12,12,.16)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 96px);
    pointer-events: none;
}

.zc-review-wrap {
    position: relative;
    z-index: 1;
    max-width: none;
    margin: 0;
    overflow: hidden;
}

.zc-reviews-track {
    display: flex;
    gap: 20px;
    transition: transform .5s ease;
    will-change: transform;
}

.zc-review-slide {
    flex: 0 0 calc((100% - 20px) / 2);
    min-width: 0;
    padding: 0;
}

.zc-review-card {
    position: relative;
    height: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 34px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 8px;
    background: #020304;
    box-shadow: none;
    text-align: left;
    overflow: hidden;
    transition:
        border-color .35s ease,
        transform .35s ease,
        background .35s ease;
}

.zc-review-card::before {
    content: "";
    position: absolute;
    top: -34px;
    left: 32px;
    color: rgba(246,227,10,.18);
    font-family: Georgia, serif;
    font-size: 150px;
    line-height: 1;
}

.zc-review-card::after {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255,255,255,.16);
    pointer-events: none;
}

.zc-review-card::before {
    content: "";
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--zc-yellow), var(--zc-red));
    color: #fff;
    font-family: inherit;
    font-size: 0;
    line-height: 0;
}

.zc-review-card::after {
    inset: auto 24px 24px auto;
    right: 24px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    border-left: 0;
    border-top: 0;
}

.zc-review-card:hover {
    border-color: rgba(246,227,10,.72);
    background: rgba(255,255,255,.04);
    transform: translateY(-5px);
}

.zc-stars {
    position: relative;
    display: inline-flex;
    margin-bottom: 22px;
    padding: 7px 12px;
    border: 1px solid rgba(246,227,10,.48);
    border-radius: 999px;
    background: rgba(246,227,10,.1);
    color: var(--zc-yellow);
    font-size: 17px;
    letter-spacing: 3px;
}

.zc-review-text {
    position: relative;
    z-index: 1;
    min-height: 150px;
    margin: 0 0 26px;
    color: rgba(255,255,255,.92);
    font-size: 14px;
    line-height: 1.85;
    font-weight: 500;
}

.zc-review-name {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}

.zc-review-role {
    position: relative;
    z-index: 1;
    margin-top: 6px;
    color: rgba(246,227,10,.78);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.zc-review-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 26px;
}

.zc-review-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid rgba(246,227,10,.58);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: .3s;
}

.zc-review-dot.active {
    width: 28px;
    border-radius: 10px;
    background: var(--zc-yellow);
}

.zc-reviews::before {
    background:
        linear-gradient(180deg, rgba(246,227,10,.16), transparent 40%),
        linear-gradient(315deg, rgba(225,12,12,.08), transparent 42%),
        repeating-linear-gradient(90deg, rgba(2,3,4,.035) 0 1px, transparent 1px 112px);
    opacity: 1;
}

.zc-review-head {
    max-width: 860px;
}

.zc-review-stage {
    margin-top: 46px;
    padding: 28px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(2,3,4,.12);
}

.zc-review-stage::before {
    inset: auto;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    height: 6px;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow));
}

.zc-reviews-track {
    gap: 22px;
}

.zc-review-slide {
    flex-basis: calc((100% - 22px) / 2);
}

.zc-review-card {
    min-height: 320px;
    padding: 34px 34px 32px;
    border: 1px solid rgba(2,3,4,.16);
    background: #fff;
    box-shadow: 0 16px 42px rgba(2,3,4,.08);
    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease,
        background .35s ease;
}

.zc-review-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    width: 5px;
    height: auto;
    background: var(--zc-red);
    color: #020304;
    font-family: inherit;
    font-size: 0;
    line-height: 0;
    pointer-events: none;
}

.zc-review-card::after {
    content: "";
    position: absolute;
    inset: auto 24px 24px auto;
    width: 58px;
    height: 58px;
    border: 0;
    border-right: 2px solid rgba(246,227,10,.62);
    border-bottom: 2px solid rgba(225,12,12,.58);
    pointer-events: none;
}

.zc-review-card:hover {
    border-color: rgba(225,12,12,.5);
    background: #fff;
    box-shadow: 0 24px 58px rgba(2,3,4,.13);
    transform: translateY(-6px);
}

.zc-review-card:hover::before {
    background: var(--zc-yellow);
}

.zc-stars {
    z-index: 1;
    padding: 8px 13px;
    border: 1px solid #020304;
    background: #020304;
    color: var(--zc-yellow);
    font-size: 0;
    letter-spacing: 0;
    line-height: 1;
}

.zc-stars::before {
    content: "5.0 Rating";
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1;
    text-transform: uppercase;
}

.zc-review-text {
    min-height: 138px;
    margin-bottom: 28px;
    color: #020304;
    font-size: 15px;
    font-weight: 600;
}

.zc-review-name {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #020304;
    font-size: 16px;
}

.zc-review-name::before {
    content: "";
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border: 2px solid #020304;
    border-radius: 50%;
    background: var(--zc-yellow);
    box-shadow: 4px 4px 0 var(--zc-red);
}

.zc-review-role {
    margin-top: 7px;
    margin-left: 54px;
    color: var(--zc-red);
    font-size: 11px;
    font-weight: 800;
}

.zc-review-dot {
    width: 9px;
    height: 9px;
    border-color: rgba(2,3,4,.38);
    background: #fff;
}

.zc-review-dot.active {
    width: 30px;
    border-color: var(--zc-red);
    background: var(--zc-yellow);
}

.zc-review-actions {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}

.zc-review-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid #020304;
    border-radius: 5px;
    background: #020304;
    color: var(--zc-yellow);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .7px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease,
        border-color .3s ease;
}

.zc-review-link:hover {
    border-color: var(--zc-red);
    background: var(--zc-red);
    color: #fff;
    transform: translateY(-2px);
}

.zc-faq {
    background: #fff;
}

.zc-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: 80px;
    align-items: start;
}

.zc-faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.zc-faq-item {
    border: 1px solid rgba(2,3,4,.18);
    background: #fff;
}

.zc-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
    border: 0;
    background: transparent;
    color: #020304;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.zc-faq-plus {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--zc-yellow);
    color: #020304;
    font-size: 19px;
    line-height: 1;
    transition: .3s;
}

.zc-faq-item.active .zc-faq-plus {
    background: var(--zc-red);
    color: #fff;
    transform: rotate(45deg);
}

.zc-faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: .3s ease;
}

.zc-faq-answer-inner {
    overflow: hidden;
}

.zc-faq-answer p {
    margin: 0;
    padding: 0 20px 20px;
    color: #020304;
    font-size: 12px;
    line-height: 1.8;
    font-weight: 500;
}

.zc-faq-item.active .zc-faq-answer {
    grid-template-rows: 1fr;
}

.zc-cta {
    position: relative;
    padding: 90px 0;
    background-color: #242729;
    background-image:
        linear-gradient(90deg, rgba(24,27,29,.82), rgba(35,38,40,.58)),
        var(--zc-cta-image),
        linear-gradient(135deg, #2b2e30, #1b1d1f);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover, cover, cover;
    color: #fff;
}

.zc-cta-content {
    max-width: 850px;
    text-align: center;
    margin: 0 auto;
}

.zc-cta .zc-section-label {
    color: var(--zc-yellow);
}

.zc-cta .zc-heading {
    color: #fff;
}

.zc-cta p {
    max-width: 650px;
    margin: 20px auto 30px;
    color: rgba(255,255,255,.86);
    font-size: 14px;
    line-height: 1.9;
}

.zc-cta-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

@media (max-width: 1180px) {

    .zc-section {
        padding: 86px 0;
    }

    .zc-heading {
        font-size: 48px;
    }

    .zc-hero {
        min-height: 680px;
    }

    .zc-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(340px, 450px);
        gap: 38px;
    }

    .zc-hero-title {
        font-size: 64px;
    }

    .zc-about-grid,
    .zc-why-grid,
    .zc-app-grid,
    .zc-faq-grid {
        gap: 56px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 360px;
        height: 360px;
    }
}

@media (max-width: 1100px) {

    .zc-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zc-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 430px);
        gap: 34px;
    }

    .zc-about-grid,
    .zc-why-grid,
    .zc-app-grid,
    .zc-faq-grid {
        gap: 45px;
    }
}

@media (max-width: 1024px) {

    .zc-container {
        width: min(1200px, calc(100% - 32px));
    }

    .zc-hero {
        min-height: auto;
        padding: 92px 0 76px;
    }

    .zc-hero-grid,
    .zc-about-grid,
    .zc-services-grid,
    .zc-why-grid,
    .zc-app-grid,
    .zc-faq-grid {
        grid-template-columns: 1fr;
    }

    .zc-hero-text,
    .zc-about-image,
    .zc-about-content,
    .zc-app-grid > div,
    .zc-faq-grid > div {
        max-width: 760px;
    }

    .zc-hero-text {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .zc-hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .zc-hero-buttons {
        justify-content: center;
    }

    .zc-services-grid {
        gap: 22px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 360px;
        height: 360px;
    }

    .zc-service-card {
        --zc-card-y: 0px;
    }

    .zc-booking-card {
        max-width: 520px;
        justify-self: center;
    }

    .zc-app-grid {
        gap: 42px;
        padding: 38px;
    }

    .zc-app-grid > div,
    .zc-faq-grid > div {
        margin-left: auto;
        margin-right: auto;
    }

    .zc-booking-card {
        margin-left: auto;
        margin-right: auto;
    }

    .zc-about-image::after {
        right: -12px;
        bottom: -12px;
    }

    .zc-app-phone {
        order: -1;
    }

    .zc-section-top {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
        gap: 20px;
    }

    .zc-section-top > .zc-description,
    .zc-section-top .zc-description {
        max-width: 760px;
    }

    .zc-how .zc-section-top {
        align-items: start;
        margin-bottom: 34px;
        padding-bottom: 28px;
    }

    .zc-how .zc-section-top > .zc-description {
        max-width: 720px;
    }
}

@media (max-width: 900px) {

    .zc-section {
        padding: 75px 0;
    }

    .zc-heading {
        font-size: 44px;
    }

    .zc-hero {
        min-height: auto;
        padding: 100px 0 80px;
    }

    .zc-hero-grid {
        grid-template-columns: 1fr;
    }

    .zc-hero-title {
        font-size: 56px;
    }

    .zc-hero-text {
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .zc-booking-card {
        max-width: 520px;
    }

    .zc-app-grid {
        gap: 36px;
        padding: 34px;
    }

    .zc-about-grid,
    .zc-services-grid,
    .zc-why-grid,
    .zc-app-grid,
    .zc-faq-grid {
        grid-template-columns: 1fr;
    }

    .zc-about-image {
        max-width: 650px;
    }

    .zc-why-list {
        grid-template-columns: 1fr 1fr;
    }

    .zc-app-phone {
        order: -1;
        padding: 18px;
    }

    .zc-section-top {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
        gap: 20px;
    }

    .zc-section-top .zc-description {
        max-width: 650px;
    }

    .zc-how .zc-section-top {
        margin-bottom: 30px;
    }

    .zc-how-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        border: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    .zc-how-grid::before {
        display: none;
    }

    .zc-step {
        min-height: auto;
        padding: 30px 24px 32px;
        border: 1px solid rgba(2,3,4,.14);
        border-left: 6px solid var(--zc-yellow);
        border-radius: 8px;
        box-shadow: 0 14px 38px rgba(2,3,4,.08);
    }

    .zc-step:last-child {
        border-right: 1px solid rgba(2,3,4,.14);
    }

    .zc-step::after {
        left: 24px;
        bottom: 24px;
    }

    .zc-step-icon {
        width: 62px;
        height: 62px;
        margin-bottom: 28px;
        box-shadow: 6px 6px 0 var(--zc-yellow);
    }

    .zc-step-number {
        top: 20px;
        right: 20px;
        font-size: 62px;
    }

    .zc-hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .zc-hero-buttons {
        justify-content: center;
    }

    .zc-service-card {
        --zc-card-y: 0px;
    }
}

@media (max-width: 767px) {

    .zc-container {
        width: min(1200px, calc(100% - 28px));
    }

    .zc-section {
        padding: 58px 0;
    }

    .zc-section-label {
        gap: 8px;
        font-size: 10px;
        letter-spacing: 1px;
        line-height: 1.35;
    }

    .zc-section-label::before {
        width: 24px;
    }

    .zc-heading {
        font-size: 34px;
        line-height: 1.15;
    }

    .zc-description {
        font-size: 14px;
        line-height: 1.8;
    }

    .zc-hero {
        padding: 68px 0 50px;
        animation: none;
    }

    .zc-hero .zc-container {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .zc-hero::before {
        background: linear-gradient(90deg, rgba(2,3,4,.9) 0%, rgba(2,3,4,.72) 55%, rgba(2,3,4,.46) 100%);
    }

    .zc-hero-bg-slide {
        background-position: center center;
    }

    .zc-hero-grid {
        gap: 26px;
    }

    .zc-hero-text {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .zc-hero-label {
        font-size: 10px;
        line-height: 1.35;
    }

    .zc-hero-title {
        font-size: 40px;
        line-height: 1.05;
    }

    .zc-hero-description {
        margin-left: auto;
        margin-right: auto;
        font-size: 14px;
        line-height: 1.8;
    }

    .zc-hero-buttons,
    .zc-app-buttons,
    .zc-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .zc-btn,
    .zc-hero-buttons .zc-btn,
    .zc-app-buttons .zc-btn,
    .zc-cta-buttons .zc-btn {
        width: 100%;
        min-height: 50px;
        padding: 0 18px;
    }

    .zc-hero-buttons {
        align-items: center;
    }

    .zc-hero-buttons .zc-btn {
        width: min(100%, 360px);
    }

    .zc-booking-card {
        padding: 24px 20px;
        border-radius: 6px;
    }

    .zc-booking-title {
        font-size: 22px;
    }

    .zc-form-grid,
    .zc-about-grid,
    .zc-about-stats,
    .zc-services-grid,
    .zc-why-grid,
    .zc-why-list,
    .zc-how-grid,
    .zc-app-grid,
    .zc-faq-grid {
        grid-template-columns: 1fr;
    }

    .zc-about-stats {
        border-radius: 8px;
        padding: 8px;
        gap: 10px;
    }

    .zc-stat {
        min-height: auto;
        padding: 22px 20px;
    }

    .zc-stat + .zc-stat {
        border-left-width: 4px;
        border-top: 1px solid rgba(2,3,4,.12);
    }

    .zc-form-group.full {
        grid-column: auto;
    }

    .zc-form-group input,
    .zc-form-group select,
    .zc-form-group textarea {
        min-height: 44px;
        font-size: 12px;
    }

    .zc-about-image::after {
        display: none;
    }

    .zc-about-image img {
        height: 320px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 310px;
        height: 310px;
    }

    .zc-service-card {
        --zc-card-y: 0px;
    }

    .zc-service-overlay {
        padding: 22px 20px;
    }

    .zc-service-overlay::before {
        top: 22px;
        left: 20px;
        width: 46px;
    }

    .zc-service-overlay h3 {
        font-size: 24px;
    }

    .zc-service-overlay p {
        font-size: 13px;
        line-height: 1.8;
    }

    .zc-service-number {
        margin-bottom: 34px;
    }

    .zc-service-btn {
        min-height: 42px;
        margin-top: 14px;
        padding: 0 16px;
    }

    .zc-why-card {
        min-height: auto;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 16px;
        padding: 24px 20px;
    }

    .zc-why-icon {
        width: 54px;
        height: 54px;
        box-shadow: 5px 5px 0 var(--zc-red);
    }

    .zc-why-card:hover .zc-why-icon {
        box-shadow: 5px 5px 0 var(--zc-yellow);
    }

    .zc-why-icon svg {
        width: 25px;
        height: 25px;
    }

    .zc-step {
        padding: 30px 22px 32px;
    }

    .zc-step-number {
        top: 18px;
        right: 18px;
        font-size: 58px;
    }

    .zc-step-icon {
        width: 60px;
        height: 60px;
        margin-bottom: 26px;
    }

    .zc-step h3 {
        font-size: 20px;
    }

    .zc-step p {
        font-size: 14px;
        line-height: 1.8;
    }

    .zc-app-grid {
        gap: 30px;
        padding: 28px 20px;
    }

    .zc-app-grid::after {
        right: 18px;
        bottom: 18px;
        width: 58px;
        height: 58px;
    }

    .zc-app-phone {
        padding: 16px;
    }

    .zc-app-phone::before {
        inset: 28px 12px 12px 28px;
    }

    .zc-app-phone a {
        padding: 12px;
        box-shadow: 8px 8px 0 var(--zc-yellow);
    }

    .zc-app-phone a:hover {
        box-shadow: 8px 8px 0 var(--zc-red);
    }

    .zc-app-phone img {
        width: min(290px, 100%);
        max-height: 410px;
    }

    .zc-review-card {
        padding: 28px 20px;
    }

    .zc-review-stage {
        padding: 18px;
    }

    .zc-review-dots {
        flex-wrap: wrap;
    }

    .zc-review-link {
        width: min(100%, 320px);
    }

    .zc-reviews-track {
        gap: 14px;
    }

    .zc-review-slide {
        flex-basis: 100%;
    }

    .zc-review-card::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: auto;
        width: auto;
        height: 4px;
        font-size: 0;
    }

    .zc-review-card::after {
        right: 18px;
        bottom: 18px;
        width: 46px;
        height: 46px;
    }

    .zc-review-text {
        min-height: auto;
        font-size: 14px;
        line-height: 1.8;
    }

    .zc-review-role {
        margin-left: 50px;
    }

    .zc-faq-question {
        align-items: flex-start;
        gap: 14px;
        padding: 16px;
        font-size: 12px;
        line-height: 1.45;
    }

    .zc-faq-answer p {
        padding: 0 16px 16px;
        font-size: 12px;
        line-height: 1.7;
    }

    .zc-cta {
        padding: 58px 0;
    }
}

@media (max-width: 650px) {

    .zc-section {
        padding: 52px 0;
    }

    .zc-container {
        width: min(1200px, calc(100% - 24px));
    }

    .zc-heading {
        font-size: 32px;
        line-height: 1.14;
    }

    .zc-hero {
        padding: 60px 0 44px;
        background-position: 60% center;
        animation: none;
    }

    .zc-hero-title {
        font-size: 36px;
    }

    .zc-hero-description {
        font-size: 14px;
    }

    .zc-hero-buttons {
        flex-direction: column;
        align-items: center;
    }

    .zc-hero-buttons .zc-btn {
        width: min(100%, 360px);
    }

    .zc-booking-card {
        padding: 22px 18px;
    }

    .zc-form-grid {
        grid-template-columns: 1fr;
    }

    .zc-form-group.full {
        grid-column: auto;
    }

    .zc-about-image img {
        height: 300px;
    }

    .zc-about-stats {
        grid-template-columns: 1fr;
    }

    .zc-services-grid {
        grid-template-columns: 1fr;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 295px;
        height: 295px;
    }

    .zc-service-overlay {
        padding: 20px 18px;
    }

    .zc-service-overlay::before {
        top: 20px;
        left: 18px;
        width: 42px;
    }

    .zc-service-number {
        margin-bottom: 28px;
    }

    .zc-why-list {
        grid-template-columns: 1fr;
    }

    .zc-how-grid {
        grid-template-columns: 1fr;
    }

    .zc-review-card {
        padding: 24px 18px;
    }

    .zc-review-text {
        font-size: 14px;
    }

    .zc-app-grid {
        padding: 26px 18px;
    }

    .zc-app-phone img {
        width: min(275px, 100%);
        max-height: 390px;
    }

    .zc-faq-question {
        font-size: 12px;
        padding: 17px;
    }

    .zc-faq-answer p {
        padding-left: 17px;
        padding-right: 17px;
        font-size: 11px;
    }

    .zc-cta {
        padding: 54px 0;
    }
}

@media (max-width: 480px) {

    .zc-container {
        width: min(1200px, calc(100% - 22px));
    }

    .zc-section {
        padding: 48px 0;
    }

    .zc-heading {
        font-size: 30px;
    }

    .zc-hero {
        padding: 56px 0 42px;
    }

    .zc-hero-title {
        font-size: 34px;
    }

    .zc-booking-card {
        padding: 21px 18px;
    }

    .zc-about-image img {
        height: 280px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 285px;
        height: 285px;
    }

    .zc-service-btn {
        width: 100%;
    }

    .zc-app-grid {
        padding: 24px 16px;
    }

    .zc-app-phone a {
        padding: 10px;
        box-shadow: 7px 7px 0 var(--zc-yellow);
    }

    .zc-app-phone a:hover {
        box-shadow: 7px 7px 0 var(--zc-red);
    }

    .zc-app-phone img {
        width: min(260px, 100%);
        max-height: 370px;
    }

    .zc-review-card,
    .zc-why-card,
    .zc-step {
        padding-left: 18px;
        padding-right: 18px;
    }

    .zc-why-card {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 14px;
    }

    .zc-why-icon {
        width: 50px;
        height: 50px;
    }

    .zc-why-icon svg {
        width: 23px;
        height: 23px;
    }

    .zc-step::after {
        left: 18px;
    }

    .zc-step-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 24px;
    }

    .zc-step-number {
        font-size: 54px;
    }
}

@media (max-width: 420px) {

    .zc-container {
        width: min(1200px, calc(100% - 22px));
    }

    .zc-section {
        padding: 44px 0;
    }

    .zc-heading {
        font-size: 29px;
    }

    .zc-hero {
        padding: 52px 0 40px;
    }

    .zc-hero-title {
        font-size: 32px;
    }

    .zc-booking-card {
        padding: 20px 17px;
    }

    .zc-about-image img {
        height: 260px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 275px;
        height: 275px;
    }

    .zc-app-buttons,
    .zc-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 360px) {

    .zc-container {
        width: min(1200px, calc(100% - 18px));
    }

    .zc-heading {
        font-size: 28px;
    }

    .zc-hero-title {
        font-size: 31px;
    }

    .zc-booking-card {
        padding: 19px 15px;
    }

    .zc-form-group input,
    .zc-form-group select,
    .zc-form-group textarea {
        padding-left: 11px;
        padding-right: 11px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 285px;
        height: 285px;
    }

    .zc-review-card,
    .zc-why-card,
    .zc-step {
        padding-left: 16px;
        padding-right: 16px;
    }

    .zc-why-card {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 13px;
    }

    .zc-why-icon {
        width: 46px;
        height: 46px;
        box-shadow: 4px 4px 0 var(--zc-red);
    }

    .zc-why-card:hover .zc-why-icon {
        box-shadow: 4px 4px 0 var(--zc-yellow);
    }

    .zc-step::after {
        left: 16px;
    }

    .zc-step h3 {
        font-size: 19px;
    }
}

@container zc-page (max-width: 1024px) {

    .zc-hero-grid,
    .zc-services-grid,
    .zc-how-grid {
        grid-template-columns: 1fr;
    }

    .zc-how .zc-section-top {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
        gap: 20px;
        margin-bottom: 30px;
    }

    .zc-how .zc-section-top > .zc-description {
        max-width: 720px;
    }

    .zc-how-grid {
        gap: 14px;
        border: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    .zc-how-grid::before {
        display: none;
    }

    .zc-step {
        min-height: auto;
        padding: 30px 24px 32px;
        border: 1px solid rgba(2,3,4,.14);
        border-left: 6px solid var(--zc-yellow);
        border-radius: 8px;
        box-shadow: 0 14px 38px rgba(2,3,4,.08);
    }

    .zc-step:last-child {
        border-right: 1px solid rgba(2,3,4,.14);
    }

    .zc-step::after {
        left: 24px;
        bottom: 24px;
    }

    .zc-step-icon {
        width: 62px;
        height: 62px;
        margin-bottom: 28px;
        box-shadow: 6px 6px 0 var(--zc-yellow);
    }

    .zc-step-number {
        top: 20px;
        right: 20px;
        font-size: 62px;
    }

    .zc-hero-text {
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .zc-hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .zc-hero-buttons {
        justify-content: center;
    }

    .zc-booking-card {
        justify-self: center;
        margin-left: auto;
        margin-right: auto;
    }

    .zc-app-grid {
        gap: 42px;
        padding: 38px;
    }

    .zc-app-phone {
        padding: 20px;
    }

    .zc-app-phone::before {
        inset: 38px 18px 18px 38px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 360px;
        height: 360px;
    }

    .zc-service-card {
        --zc-card-y: 0px;
    }
}

@container zc-page (max-width: 767px) {

    .zc-container {
        width: min(1200px, calc(100% - 24px));
    }

    .zc-section {
        padding: 52px 0;
    }

    .zc-heading {
        font-size: 32px;
        line-height: 1.15;
    }

    .zc-description {
        font-size: 14px;
        line-height: 1.8;
    }

    .zc-hero {
        min-height: auto;
        padding: 60px 0 44px;
        animation: none;
    }

    .zc-hero .zc-container {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .zc-hero-grid,
    .zc-about-grid,
    .zc-form-grid,
    .zc-about-stats,
    .zc-services-grid,
    .zc-why-grid,
    .zc-why-list,
    .zc-how-grid,
    .zc-app-grid,
    .zc-faq-grid {
        grid-template-columns: 1fr;
    }

    .zc-form-group.full {
        grid-column: auto;
    }

    .zc-stat {
        min-height: auto;
        padding: 22px 20px;
    }

    .zc-stat + .zc-stat {
        border-left-width: 4px;
        border-top: 1px solid rgba(2,3,4,.12);
    }

    .zc-hero-title {
        font-size: 36px;
    }

    .zc-hero-text {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .zc-hero-description {
        margin-left: auto;
        margin-right: auto;
        font-size: 14px;
        line-height: 1.8;
    }

    .zc-hero-buttons,
    .zc-app-buttons,
    .zc-cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .zc-btn,
    .zc-hero-buttons .zc-btn,
    .zc-app-buttons .zc-btn,
    .zc-cta-buttons .zc-btn {
        width: 100%;
    }

    .zc-hero-buttons {
        align-items: center;
    }

    .zc-hero-buttons .zc-btn {
        width: min(100%, 360px);
    }

    .zc-about-image::after {
        display: none;
    }

    .zc-about-image img {
        height: 300px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 295px;
        height: 295px;
    }

    .zc-service-card {
        --zc-card-y: 0px;
    }

    .zc-service-overlay h3 {
        font-size: 24px;
    }

    .zc-service-overlay p {
        font-size: 13px;
        line-height: 1.8;
    }

    .zc-service-overlay::before {
        top: 22px;
        left: 20px;
        width: 46px;
    }

    .zc-why-card {
        min-height: auto;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 16px;
        padding: 24px 20px;
    }

    .zc-why-icon {
        width: 54px;
        height: 54px;
        box-shadow: 5px 5px 0 var(--zc-red);
    }

    .zc-why-card:hover .zc-why-icon {
        box-shadow: 5px 5px 0 var(--zc-yellow);
    }

    .zc-why-icon svg {
        width: 25px;
        height: 25px;
    }

    .zc-review-stage {
        padding: 18px;
    }

    .zc-review-dots {
        flex-wrap: wrap;
    }

    .zc-review-link {
        width: min(100%, 320px);
    }

    .zc-reviews-track {
        gap: 14px;
    }

    .zc-review-slide {
        flex-basis: 100%;
    }

    .zc-review-card::before {
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        width: auto;
        height: 4px;
    }

    .zc-review-card::after {
        right: 18px;
        bottom: 18px;
        width: 46px;
        height: 46px;
    }

    .zc-review-text {
        min-height: auto;
        font-size: 14px;
        line-height: 1.8;
    }

    .zc-review-role {
        margin-left: 50px;
    }

    .zc-app-grid {
        gap: 30px;
        padding: 28px 20px;
    }

    .zc-app-grid::after {
        right: 18px;
        bottom: 18px;
        width: 58px;
        height: 58px;
    }

    .zc-app-phone {
        padding: 16px;
    }

    .zc-app-phone::before {
        inset: 28px 12px 12px 28px;
    }

    .zc-app-phone a {
        padding: 12px;
        box-shadow: 8px 8px 0 var(--zc-yellow);
    }

    .zc-app-phone a:hover {
        box-shadow: 8px 8px 0 var(--zc-red);
    }

    .zc-app-phone img {
        width: min(290px, 100%);
        max-height: 410px;
    }

    .zc-app-phone {
        order: -1;
        padding: 20px;
    }

    .zc-app-phone::before {
        inset: 38px 18px 18px 38px;
    }
}

@container zc-page (max-width: 480px) {

    .zc-container {
        width: min(1200px, calc(100% - 22px));
    }

    .zc-section {
        padding: 48px 0;
    }

    .zc-heading {
        font-size: 30px;
    }

    .zc-hero-title {
        font-size: 34px;
    }

    .zc-about-image img {
        height: 280px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 285px;
        height: 285px;
    }

    .zc-app-grid {
        padding: 24px 16px;
    }

    .zc-app-phone a {
        padding: 10px;
        box-shadow: 7px 7px 0 var(--zc-yellow);
    }

    .zc-app-phone a:hover {
        box-shadow: 7px 7px 0 var(--zc-red);
    }

    .zc-app-phone img {
        width: min(260px, 100%);
        max-height: 370px;
    }

    .zc-step {
        padding-left: 18px;
        padding-right: 18px;
    }

    .zc-why-card {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 14px;
        padding-left: 18px;
        padding-right: 18px;
    }

    .zc-why-icon {
        width: 50px;
        height: 50px;
    }

    .zc-why-icon svg {
        width: 23px;
        height: 23px;
    }

    .zc-review-card {
        padding-left: 18px;
        padding-right: 18px;
    }

    .zc-step::after {
        left: 18px;
    }

    .zc-step-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 24px;
    }

    .zc-step-number {
        font-size: 54px;
    }
}

@container zc-page (max-width: 420px) {

    .zc-container {
        width: min(1200px, calc(100% - 20px));
    }

    .zc-heading {
        font-size: 29px;
    }

    .zc-hero {
        padding: 52px 0 40px;
    }

    .zc-hero-title {
        font-size: 32px;
    }

    .zc-booking-card {
        padding: 20px 17px;
    }

    .zc-about-image img {
        height: 260px;
    }

    .zc-service-card,
    .zc-service-card:nth-child(1),
    .zc-service-card:nth-child(4),
    .zc-service-card img {
        min-height: 275px;
        height: 275px;
    }

    .zc-step {
        padding-left: 16px;
        padding-right: 16px;
    }

    .zc-why-card {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 13px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .zc-why-icon {
        width: 46px;
        height: 46px;
        box-shadow: 4px 4px 0 var(--zc-red);
    }

    .zc-why-card:hover .zc-why-icon {
        box-shadow: 4px 4px 0 var(--zc-yellow);
    }

    .zc-review-card {
        padding-left: 16px;
        padding-right: 16px;
    }

    .zc-step::after {
        left: 16px;
    }

    .zc-step h3 {
        font-size: 19px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .zc-homepage *,
    .zc-homepage *::before,
    .zc-homepage *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }

    .zc-hero-bg-slide {
        transform: none;
    }

    .zc-animate {
        opacity: 1;
        transform: none;
    }
}

.zc-homepage .zc-hero,
.zc-homepage .zc-hero-text,
.zc-homepage .zc-hero-title {
    color: #fff !important;
}

.zc-homepage .zc-hero-title,
.zc-homepage .zc-hero-title * {
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 3px 18px rgba(2,3,4,.45);
}

.zc-homepage .zc-hero-description {
    color: #fff !important;
}

.zc-homepage .zc-hero-label {
    background: var(--zc-yellow) !important;
    color: #020304 !important;
}

.zc-homepage .zc-btn,
.zc-homepage .zc-btn:visited,
.zc-homepage .zc-service-btn,
.zc-homepage .zc-service-btn:visited,
.zc-homepage .zc-submit {
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: .6px !important;
}

.zc-homepage .zc-btn-primary,
.zc-homepage .zc-btn-primary:visited {
    background: var(--zc-yellow) !important;
    border-color: var(--zc-yellow) !important;
    color: #020304 !important;
}

.zc-homepage .zc-btn-primary *,
.zc-homepage .zc-btn-primary:visited * {
    color: #020304 !important;
}

.zc-homepage .zc-btn-primary:hover,
.zc-homepage .zc-btn-primary:focus {
    background: var(--zc-red) !important;
    border-color: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-btn-primary:hover *,
.zc-homepage .zc-btn-primary:focus * {
    color: #fff !important;
}

.zc-homepage .zc-btn-dark,
.zc-homepage .zc-btn-dark:visited {
    background: #020304 !important;
    border-color: #020304 !important;
    color: #fff !important;
}

.zc-homepage .zc-btn-dark *,
.zc-homepage .zc-btn-dark:visited * {
    color: #fff !important;
}

.zc-homepage .zc-btn-dark:hover,
.zc-homepage .zc-btn-dark:focus,
.zc-homepage .zc-app .zc-btn-dark:hover,
.zc-homepage .zc-app .zc-btn-dark:focus {
    background: var(--zc-red) !important;
    border-color: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-btn-dark:hover *,
.zc-homepage .zc-btn-dark:focus *,
.zc-homepage .zc-app .zc-btn-dark:hover *,
.zc-homepage .zc-app .zc-btn-dark:focus * {
    color: #fff !important;
}

.zc-homepage .zc-service-btn:hover,
.zc-homepage .zc-service-btn:focus,
.zc-homepage .zc-submit:hover,
.zc-homepage .zc-submit:focus,
.zc-homepage .zc-review-link:hover,
.zc-homepage .zc-review-link:focus {
    background: var(--zc-red) !important;
    border-color: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-review-dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 26px !important;
}

.zc-homepage button.zc-review-dot {
    display: block !important;
    flex: 0 0 auto !important;
    width: 13px !important;
    min-width: 13px !important;
    max-width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #020304 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    overflow: hidden !important;
}

.zc-homepage button.zc-review-dot.active,
.zc-homepage button.zc-review-dot:hover,
.zc-homepage button.zc-review-dot:focus {
    width: 13px !important;
    min-width: 13px !important;
    max-width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;
    border-color: var(--zc-red) !important;
    border-radius: 50% !important;
    background: var(--zc-yellow) !important;
    color: transparent !important;
    transform: none !important;
}

.zc-homepage button.zc-review-dot::before,
.zc-homepage button.zc-review-dot::after {
    display: none !important;
}

.zc-homepage .zc-faq-item {
    overflow: hidden !important;
    border: 1px solid rgba(2,3,4,.18) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.zc-homepage button.zc-faq-question,
.zc-homepage button.zc-faq-question:hover,
.zc-homepage button.zc-faq-question:focus,
.zc-homepage button.zc-faq-question:active {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #020304 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    text-decoration: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.zc-homepage button.zc-faq-question *,
.zc-homepage button.zc-faq-question:hover *,
.zc-homepage button.zc-faq-question:focus * {
    color: #020304 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zc-homepage .zc-faq-plus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: var(--zc-yellow) !important;
    color: #020304 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.zc-homepage .zc-faq-item.active .zc-faq-plus {
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-faq-answer,
.zc-homepage .zc-faq-answer-inner,
.zc-homepage .zc-faq-answer p {
    background: #fff !important;
    color: #020304 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zc-homepage .zc-review-link,
.zc-homepage .zc-review-link:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    border: 1px solid #020304 !important;
    border-radius: 5px !important;
    background: #020304 !important;
    color: var(--zc-yellow) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.zc-homepage .zc-review-link *,
.zc-homepage .zc-review-link:visited * {
    color: inherit !important;
}

.zc-homepage button.zc-submit,
.zc-homepage .zc-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 320px) !important;
    min-width: 0 !important;
    max-width: 320px !important;
    min-height: 46px !important;
    margin: 14px auto 0 !important;
    padding: 0 24px !important;
    border: 1px solid #020304 !important;
    border-radius: 5px !important;
    background: var(--zc-red) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    box-shadow: none !important;
}

.zc-homepage button.zc-submit:hover,
.zc-homepage button.zc-submit:focus,
.zc-homepage .zc-submit:hover,
.zc-homepage .zc-submit:focus {
    border-color: var(--zc-yellow) !important;
    background: #020304 !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

.zc-homepage .zc-hero-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 9px 15px !important;
    border-radius: 0 !important;
    background: var(--zc-yellow) !important;
    color: #020304 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-booking-card {
    max-width: 490px !important;
    padding: 26px !important;
}

.zc-homepage .zc-booking-title {
    margin: 0 0 6px !important;
    padding-left: 14px !important;
    color: #020304 !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.zc-homepage .zc-booking-subtitle {
    margin: 0 0 16px !important;
    color: #020304 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
}

.zc-homepage .zc-form-group label {
    margin-bottom: 6px !important;
    color: #020304 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: .6px !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    min-height: 42px !important;
    padding: 10px 12px !important;
    color: #020304 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.zc-homepage .zc-form-group input::placeholder,
.zc-homepage .zc-form-group textarea::placeholder {
    color: rgba(2,3,4,.62) !important;
    font-size: 12px !important;
}

.zc-homepage .zc-form-group textarea {
    min-height: 74px !important;
}

.zc-homepage button.zc-submit,
.zc-homepage .zc-submit {
    width: min(100%, 270px) !important;
    max-width: 270px !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
}

@media (max-width: 767px) {
    .zc-homepage .zc-booking-card {
        padding: 22px 18px !important;
    }

    .zc-homepage .zc-booking-title {
        font-size: 22px !important;
    }

    .zc-homepage .zc-hero-label {
        font-size: 10px !important;
        padding: 8px 12px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .zc-homepage .zc-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .zc-homepage .zc-hero {
        padding-top: 54px !important;
        padding-bottom: 42px !important;
    }

    .zc-homepage .zc-hero-grid {
        width: 100% !important;
        gap: 28px !important;
    }

    .zc-homepage .zc-booking-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .zc-homepage .zc-section-top,
    .zc-homepage .zc-services .zc-section-top {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        text-align: center !important;
    }

    .zc-homepage .zc-section-top-text,
    .zc-homepage .zc-services .zc-section-top-text {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .zc-homepage .zc-section-top .zc-description,
    .zc-homepage .zc-services .zc-description {
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px auto 0 !important;
        text-align: center !important;
    }

    .zc-homepage .zc-services .zc-section-label {
        justify-content: center !important;
        max-width: 100% !important;
    }

    .zc-homepage .zc-services .zc-heading,
    .zc-homepage .zc-services .zc-heading span {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        color: #fff !important;
        font-size: 30px !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .zc-homepage .zc-services .zc-heading span {
        color: var(--zc-yellow) !important;
    }
}

@media (max-width: 380px) {
    .zc-homepage .zc-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .zc-homepage .zc-services .zc-heading,
    .zc-homepage .zc-services .zc-heading span {
        font-size: 27px !important;
    }
}

.zc-homepage .zc-service-overlay::before {
    display: none !important;
}

.zc-homepage .zc-service-number,
.zc-homepage .zc-service-card:hover .zc-service-number {
    position: absolute !important;
    top: 26px !important;
    left: 26px !important;
    z-index: 6 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 54px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 2px solid var(--zc-yellow) !important;
    background: #020304 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: 6px 6px 0 var(--zc-red) !important;
}

.zc-homepage .zc-service-overlay {
    z-index: 5 !important;
    padding-top: 86px !important;
}

.zc-homepage,
.zc-homepage .zc-section,
.zc-homepage .zc-cta {
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    .zc-homepage {
        display: block !important;
        min-height: 0 !important;
        padding-bottom: 0 !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
    }

    .zc-homepage .zc-service-number,
    .zc-homepage .zc-service-card:hover .zc-service-number {
        top: 20px !important;
        left: 20px !important;
        min-width: 50px !important;
        height: 36px !important;
        font-size: 13px !important;
    }

    .zc-homepage .zc-service-overlay {
        padding: 76px 20px 22px !important;
    }

    .zc-homepage .zc-faq-grid,
    .zc-homepage .zc-faq-list,
    .zc-homepage .zc-faq-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .zc-homepage .zc-faq-list {
        gap: 10px !important;
    }

    .zc-homepage button.zc-faq-question,
    .zc-homepage button.zc-faq-question:hover,
    .zc-homepage button.zc-faq-question:focus,
    .zc-homepage button.zc-faq-question:active {
        align-items: flex-start !important;
        gap: 12px !important;
        min-height: 0 !important;
        padding: 16px !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        overflow: visible !important;
    }

    .zc-homepage .zc-faq-plus {
        flex: 0 0 28px !important;
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .zc-homepage .zc-faq-answer p {
        padding: 0 16px 18px !important;
        font-size: 13px !important;
        line-height: 1.75 !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    .zc-homepage .zc-cta {
        min-height: 0 !important;
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .zc-homepage .zc-cta-content,
    .zc-homepage .zc-cta-buttons {
        margin-bottom: 0 !important;
    }

    .zc-homepage > :last-child {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage,
    .zc-homepage * {
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    .zc-homepage .zc-booking-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 24px 18px !important;
    }

    .zc-homepage .zc-booking-title {
        font-size: 24px !important;
        line-height: 1.18 !important;
    }

    .zc-homepage .zc-booking-subtitle {
        margin-bottom: 18px !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .zc-homepage .zc-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .zc-homepage .zc-form-group,
    .zc-homepage .zc-form-group.full {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .zc-homepage .zc-form-group label {
        margin-bottom: 7px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        letter-spacing: .5px !important;
    }

    .zc-homepage .zc-form-group input,
    .zc-homepage .zc-form-group select,
    .zc-homepage .zc-form-group textarea {
        width: 100% !important;
        min-height: 50px !important;
        padding: 12px 14px !important;
        background: #fff !important;
        color: #020304 !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
    }

    .zc-homepage .zc-form-group input::placeholder,
    .zc-homepage .zc-form-group textarea::placeholder {
        color: rgba(2,3,4,.62) !important;
        font-size: 16px !important;
    }

    .zc-homepage .zc-form-group textarea {
        min-height: 96px !important;
    }

    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        width: min(100%, 320px) !important;
        max-width: 320px !important;
        min-height: 48px !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    .zc-homepage .zc-description,
    .zc-homepage .zc-service-overlay p,
    .zc-homepage .zc-review-text,
    .zc-homepage .zc-faq-answer p,
    .zc-homepage .zc-cta p {
        font-size: 14px !important;
        line-height: 1.75 !important;
    }
}

@media (max-width: 767px) {
    html:has(.zc-homepage),
    body:has(.zc-homepage) {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
    }

    .zc-homepage {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding-bottom: 0 !important;
        overflow-x: hidden !important;
    }

    .zc-homepage > * {
        max-width: 100% !important;
        margin-bottom: 0 !important;
    }

    .zc-homepage > :last-child,
    .zc-homepage .zc-cta:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 30px !important;
    }

    body:has(.zc-homepage) :where(
        .elementor-spacer,
        .elementor-spacer-inner,
        .elementor-widget-spacer:empty,
        .elementor-element:empty,
        .e-con:empty
    ) {
        display: none !important;
        height: 0 !important;
        max-height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
}

.zc-homepage .zc-services {
    background: #020304 !important;
    color: #fff !important;
    padding-top: 42px !important;
    padding-bottom: 76px !important;
    overflow: hidden !important;
}

.zc-homepage .zc-services .zc-container {
    width: min(1280px, calc(100% - 80px)) !important;
}

.zc-homepage .zc-services .zc-section-top {
    display: block !important;
    margin-bottom: 26px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    text-align: left !important;
}

.zc-homepage .zc-services .zc-section-top-text {
    max-width: none !important;
}

    .zc-homepage .zc-services .zc-heading {
        margin: 0 !important;
        color: #fff !important;
        font-size: 44px !important;
        line-height: 1 !important;
        font-weight: 800 !important;
        letter-spacing: 8px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-services .zc-heading span {
    display: inline !important;
    color: var(--zc-yellow) !important;
}

.zc-service-arrows {
    display: inline-flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 34px !important;
    padding-bottom: 0 !important;
}

.zc-service-arrow {
    appearance: none !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--zc-yellow) !important;
    font-family: Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: transform .25s ease, color .25s ease !important;
}

.zc-service-arrow:hover,
.zc-service-arrow:focus {
    background: transparent !important;
    color: #fff !important;
    transform: translateX(2px) !important;
}

.zc-homepage .zc-services-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 28px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
}

.zc-homepage .zc-service-card,
.zc-homepage .zc-service-card:nth-child(1),
.zc-homepage .zc-service-card:nth-child(4) {
    flex: 0 0 calc((100% - 56px) / 3) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    scroll-snap-align: start !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #020304 !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
    isolation: auto !important;
}

.zc-homepage .zc-service-card img,
.zc-homepage .zc-service-card:nth-child(1) img,
.zc-homepage .zc-service-card:nth-child(4) img {
    width: 100% !important;
    height: 300px !important;
    min-height: 0 !important;
    object-fit: cover !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: transform .45s ease !important;
}

.zc-homepage .zc-service-card:hover img {
    transform: scale(1.04) !important;
    opacity: 1 !important;
    filter: none !important;
}

.zc-homepage .zc-service-overlay,
.zc-homepage .zc-service-card:hover .zc-service-overlay {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: block !important;
    min-height: 0 !important;
    padding: 18px 0 0 !important;
    background: transparent !important;
    color: #fff !important;
    pointer-events: auto !important;
}

.zc-homepage .zc-service-overlay h3,
.zc-homepage .zc-service-card:hover .zc-service-overlay h3 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-service-overlay p {
    max-width: none !important;
    margin: 0 !important;
    color: #fff !important;
    opacity: .7 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 600 !important;
}

.zc-homepage .zc-service-btn,
.zc-homepage .zc-service-btn:visited {
    width: auto !important;
    min-height: 0 !important;
    margin-top: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.zc-homepage .zc-service-btn::after {
    content: ">";
    margin-left: 10px;
    color: var(--zc-yellow);
    font-size: 15px;
    line-height: 1;
}

@media (max-width: 1024px) {
    .zc-homepage .zc-services .zc-container {
        width: min(100%, calc(100% - 48px)) !important;
    }

    .zc-homepage .zc-service-card,
    .zc-homepage .zc-service-card:nth-child(1),
    .zc-homepage .zc-service-card:nth-child(4) {
        flex-basis: calc((100% - 24px) / 2) !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-services {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }

    .zc-homepage .zc-services .zc-container {
        width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .zc-homepage .zc-services .zc-section-top {
        text-align: left !important;
        margin-bottom: 26px !important;
    }

    .zc-homepage .zc-services .zc-heading,
    .zc-homepage .zc-services .zc-heading span {
        text-align: left !important;
        font-size: 30px !important;
        line-height: 1.1 !important;
        letter-spacing: 5px !important;
    }

    .zc-service-arrows {
        justify-content: flex-start !important;
        margin-top: 22px !important;
    }

    .zc-homepage .zc-services-grid {
        gap: 22px !important;
    }

    .zc-homepage .zc-service-card,
    .zc-homepage .zc-service-card:nth-child(1),
    .zc-homepage .zc-service-card:nth-child(4) {
        flex-basis: 100% !important;
    }

    .zc-homepage .zc-service-card img,
    .zc-homepage .zc-service-card:nth-child(1) img,
    .zc-homepage .zc-service-card:nth-child(4) img {
        height: 245px !important;
    }

    .zc-homepage .zc-service-overlay,
    .zc-homepage .zc-service-card:hover .zc-service-overlay {
        padding-top: 16px !important;
    }

    .zc-homepage .zc-service-overlay h3,
    .zc-homepage .zc-service-card:hover .zc-service-overlay h3 {
        font-size: 22px !important;
        letter-spacing: 3px !important;
    }
}

.zc-homepage,
.zc-homepage *,
.zc-homepage button,
.zc-homepage input,
.zc-homepage select,
.zc-homepage textarea {
    font-family: "Poppins", sans-serif !important;
}

.zc-homepage .zc-hero {
    background: #020304 !important;
}

.zc-homepage .zc-hero-bg {
    background: #020304 !important;
}

.zc-homepage .zc-hero-bg-slide,
.zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
    inset: 0 !important;
    display: block !important;
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
    background-position: center center !important;
    filter: brightness(.64) contrast(1.22) saturate(.9) !important;
}

.zc-homepage .zc-hero-bg-slide:not(.active) {
    display: none !important;
}

.zc-homepage .zc-services {
    background: #020304 !important;
    color: #fff !important;
    padding-top: 68px !important;
    padding-bottom: 68px !important;
}

.zc-homepage .zc-services::before {
    display: none !important;
}

.zc-homepage .zc-services .zc-container {
    width: min(1280px, calc(100% - 56px)) !important;
}

.zc-homepage .zc-services .zc-section-top {
    display: block !important;
    margin-bottom: 30px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

.zc-homepage .zc-services .zc-heading {
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: 7px !important;
    text-transform: uppercase !important;
}

.zc-service-arrows {
    display: inline-flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin-top: 34px !important;
}

.zc-service-arrow {
    appearance: none !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--zc-yellow) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}

.zc-service-arrow:hover,
.zc-service-arrow:focus {
    background: transparent !important;
    color: #fff !important;
}

.zc-homepage .zc-services-grid {
    --zc-service-gap: 28px;
    display: flex !important;
    grid-template-columns: none !important;
    gap: var(--zc-service-gap) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
}

.zc-homepage .zc-services-grid::after {
    content: "" !important;
    display: block !important;
    flex: 0 0 calc(20% + 16.8px) !important;
}

.zc-homepage .zc-services-grid::-webkit-scrollbar {
    display: none !important;
}

.zc-homepage .zc-service-card,
.zc-homepage .zc-service-card:nth-child(1),
.zc-homepage .zc-service-card:nth-child(4) {
    flex: 0 0 calc(40% - 22.4px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    scroll-snap-align: start !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #020304 !important;
    box-shadow: none !important;
    transform: none !important;
}

.zc-homepage .zc-service-card:hover {
    transform: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.zc-homepage .zc-service-card::before,
.zc-homepage .zc-service-card::after {
    display: none !important;
}

.zc-homepage .zc-service-card > a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #020304 !important;
}

.zc-homepage .zc-service-card > a::after {
    display: none !important;
}

.zc-homepage .zc-service-card img,
.zc-homepage .zc-service-card:nth-child(1) img,
.zc-homepage .zc-service-card:nth-child(4) img {
    width: 100% !important;
    height: 300px !important;
    min-height: 0 !important;
    object-fit: cover !important;
    display: block !important;
    opacity: 1 !important;
    filter: brightness(.9) contrast(1.08) saturate(.92) !important;
    transform: none !important;
    transition: transform .45s ease, filter .45s ease !important;
}

.zc-homepage .zc-service-card:hover img {
    transform: scale(1.04) !important;
    opacity: 1 !important;
    filter: brightness(.78) contrast(1.16) saturate(.95) !important;
}

.zc-homepage .zc-service-overlay,
.zc-homepage .zc-service-card:hover .zc-service-overlay {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: block !important;
    min-height: 0 !important;
    padding: 20px 0 0 !important;
    background: transparent !important;
    color: #fff !important;
}

.zc-homepage .zc-service-overlay::before,
.zc-homepage .zc-service-number,
.zc-homepage .zc-service-card:hover .zc-service-number,
.zc-homepage .zc-service-overlay h3::before {
    display: none !important;
}

.zc-homepage .zc-service-overlay h3,
.zc-homepage .zc-service-card:hover .zc-service-overlay h3 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-service-overlay p {
    max-width: none !important;
    margin: 0 !important;
    color: #fff !important;
    opacity: .72 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
}

.zc-homepage .zc-service-btn,
.zc-homepage .zc-service-btn:visited {
    width: auto !important;
    min-height: 0 !important;
    margin-top: 26px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-service-btn::after {
    content: ">";
    margin-left: 10px;
    color: var(--zc-yellow);
    font-size: 13px;
    line-height: 1;
}

.zc-homepage .zc-service-btn:hover,
.zc-homepage .zc-service-btn:focus {
    background: transparent !important;
    color: var(--zc-yellow) !important;
    border-color: transparent !important;
    transform: none !important;
}

.zc-business-account {
    background: #fff !important;
    color: #020304 !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

.zc-business-account-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    padding: 34px;
    border: 2px solid #020304;
    border-left: 8px solid var(--zc-yellow);
    background: #fff;
}

.zc-business-account .zc-section-label {
    color: var(--zc-red);
    margin-bottom: 12px;
}

.zc-business-account .zc-section-label::before {
    background: var(--zc-red);
}

.zc-business-account .zc-heading {
    margin: 0;
    color: #020304;
    font-size: 38px;
    line-height: 1.15;
}

.zc-business-account .zc-heading span {
    color: var(--zc-red);
}

.zc-business-account .zc-description {
    max-width: 760px;
    margin: 16px 0 0;
    color: #020304;
}

.zc-business-tag,
.zc-business-tag:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid var(--zc-yellow);
    background: #020304;
    color: var(--zc-yellow);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 1px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.zc-business-tag:hover,
.zc-business-tag:focus {
    border-color: var(--zc-red);
    background: var(--zc-red);
    color: #fff;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .zc-homepage .zc-services .zc-container {
        width: min(100%, calc(100% - 44px)) !important;
    }

    .zc-homepage .zc-services-grid {
        --zc-service-gap: 24px;
    }

    .zc-homepage .zc-services-grid::after {
        flex-basis: calc(20% + 14.4px) !important;
    }

    .zc-homepage .zc-service-card,
    .zc-homepage .zc-service-card:nth-child(1),
    .zc-homepage .zc-service-card:nth-child(4) {
        flex-basis: calc(40% - 19.2px) !important;
    }

    .zc-homepage .zc-service-card img,
    .zc-homepage .zc-service-card:nth-child(1) img,
    .zc-homepage .zc-service-card:nth-child(4) img {
        height: 270px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero-bg-slide {
        background-position: center top !important;
        filter: brightness(.62) contrast(1.22) saturate(.9) !important;
    }

    .zc-homepage .zc-services {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }

    .zc-homepage .zc-services .zc-container {
        width: min(100%, calc(100% - 24px)) !important;
    }

    .zc-homepage .zc-services .zc-heading {
        font-size: 26px !important;
        letter-spacing: 4px !important;
    }

    .zc-service-arrows {
        margin-top: 22px !important;
    }

    .zc-homepage .zc-services-grid {
        --zc-service-gap: 22px;
    }

    .zc-homepage .zc-services-grid::after {
        display: none !important;
    }

    .zc-homepage .zc-service-card,
    .zc-homepage .zc-service-card:nth-child(1),
    .zc-homepage .zc-service-card:nth-child(4) {
        flex-basis: 100% !important;
    }

    .zc-homepage .zc-service-card img,
    .zc-homepage .zc-service-card:nth-child(1) img,
    .zc-homepage .zc-service-card:nth-child(4) img {
        height: 245px !important;
    }

    .zc-homepage .zc-service-overlay,
    .zc-homepage .zc-service-card:hover .zc-service-overlay {
        padding-top: 16px !important;
    }

    .zc-homepage .zc-service-overlay h3,
    .zc-homepage .zc-service-card:hover .zc-service-overlay h3 {
        font-size: 21px !important;
        letter-spacing: 2px !important;
    }

    .zc-business-account {
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }

    .zc-business-account-box {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 22px;
        padding: 24px 18px;
    }

    .zc-business-account .zc-heading {
        font-size: 28px;
    }

    .zc-business-tag {
        width: 100%;
    }
}

.zc-homepage {
    --zc-yellow: #f6e30a;
    --zc-red: #e10c0c;
    --zc-black: #020304;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-btn,
.zc-homepage .zc-submit,
.zc-homepage .zc-review-link,
.zc-homepage .zc-write-review {
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.zc-homepage .zc-hero {
    min-height: auto !important;
    padding: 78px 0 !important;
    background: var(--zc-red) !important;
}

.zc-homepage .zc-hero::before {
    background:
        linear-gradient(90deg, rgba(2,3,4,.96) 0%, rgba(2,3,4,.8) 46%, rgba(2,3,4,.52) 100%) !important;
}

.zc-homepage .zc-hero::after {
    height: 8px !important;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow)) !important;
}

.zc-homepage .zc-hero-bg-slide,
.zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
    opacity: 1 !important;
    background-position: center center !important;
    filter: brightness(.7) contrast(1.28) saturate(.9) !important;
}

.zc-homepage .zc-hero .zc-container {
    width: min(1280px, calc(100% - 56px)) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.zc-homepage .zc-hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 460px) !important;
    gap: 62px !important;
}

.zc-homepage .zc-hero-label {
    width: fit-content !important;
    padding: 15px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    box-shadow: 8px 8px 0 var(--zc-red) !important;
}

.zc-homepage .zc-hero-title,
.zc-homepage .zc-hero-title * {
    color: #fff !important;
}

.zc-homepage .zc-hero-title {
    max-width: 760px !important;
    margin-top: 34px !important;
    margin-bottom: 22px !important;
    font-size: 70px !important;
    line-height: .98 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.zc-homepage .zc-hero-description {
    max-width: 720px !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
    font-weight: 500 !important;
}

.zc-homepage .zc-hero-buttons {
    gap: 16px !important;
}

.zc-homepage .zc-hero .zc-btn {
    min-height: 54px !important;
    padding: 0 28px !important;
    border: 1px solid var(--zc-yellow) !important;
    font-weight: 800 !important;
}

.zc-homepage .zc-hero .zc-btn-primary {
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-hero .zc-btn-dark {
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-booking-card {
    max-width: 460px !important;
    padding: 28px !important;
    border: 1px solid #fff !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 12px 12px 0 var(--zc-yellow) !important;
}

.zc-homepage .zc-booking-card::before {
    height: 8px !important;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow)) !important;
}

.zc-homepage .zc-booking-title {
    color: var(--zc-black) !important;
    font-size: 42px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
}

.zc-homepage .zc-booking-title::before {
    background: var(--zc-red) !important;
}

.zc-homepage .zc-booking-subtitle,
.zc-homepage .zc-form-group label,
.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    color: var(--zc-black) !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    border-color: rgba(2,3,4,.28) !important;
    background: #fff !important;
}

.zc-homepage .zc-submit {
    min-height: 48px !important;
    border-color: var(--zc-black) !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.zc-homepage .zc-submit:hover,
.zc-homepage .zc-submit:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-services {
    background: var(--zc-black) !important;
    padding-top: 74px !important;
    padding-bottom: 76px !important;
}

.zc-homepage .zc-services .zc-container {
    width: min(1800px, calc(100% - 84px)) !important;
}

.zc-homepage .zc-services .zc-section-top {
    margin-bottom: 28px !important;
}

.zc-homepage .zc-services .zc-heading {
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: 8px !important;
}

.zc-homepage .zc-services .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-service-arrows {
    gap: 18px !important;
    margin-top: 34px !important;
}

.zc-homepage .zc-service-arrow {
    width: 32px !important;
    height: 32px !important;
    color: var(--zc-yellow) !important;
    font-size: 25px !important;
}

.zc-homepage .zc-services-grid {
    --zc-service-gap: 28px;
    gap: var(--zc-service-gap) !important;
    padding-bottom: 4px !important;
}

.zc-homepage .zc-services-grid::after {
    flex: 0 0 calc(20% + 16.8px) !important;
}

.zc-homepage .zc-service-card,
.zc-homepage .zc-service-card:nth-child(1),
.zc-homepage .zc-service-card:nth-child(4) {
    flex: 0 0 calc(40% - 22.4px) !important;
}

.zc-homepage .zc-service-card img,
.zc-homepage .zc-service-card:nth-child(1) img,
.zc-homepage .zc-service-card:nth-child(4) img {
    height: 340px !important;
    filter: brightness(.96) contrast(1.1) saturate(.92) !important;
}

.zc-homepage .zc-service-card:nth-child(4) img {
    object-fit: cover !important;
    object-position: center 30% !important;
    transform-origin: center top !important;
}

.zc-homepage .zc-service-overlay,
.zc-homepage .zc-service-card:hover .zc-service-overlay {
    padding-top: 22px !important;
}

.zc-homepage .zc-service-overlay h3,
.zc-homepage .zc-service-card:hover .zc-service-overlay h3 {
    color: #fff !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: 5px !important;
}

.zc-homepage .zc-service-overlay p {
    max-width: 42ch !important;
    color: #fff !important;
    opacity: .68 !important;
}

.zc-homepage .zc-service-btn,
.zc-homepage .zc-service-btn:visited {
    color: #fff !important;
}

.zc-homepage .zc-service-btn:hover,
.zc-homepage .zc-service-btn:focus {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-business-account {
    background: var(--zc-black) !important;
    color: #fff !important;
    padding-top: 58px !important;
    padding-bottom: 62px !important;
}

.zc-homepage .zc-business-account-box {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 38px 42px !important;
    border: 1px solid rgba(246,227,10,.42) !important;
    border-left: 0 !important;
    border-radius: 10px !important;
    background:
        linear-gradient(90deg, rgba(225,12,12,.22), rgba(246,227,10,.08)),
        var(--zc-black) !important;
    box-shadow: 10px 10px 0 var(--zc-red) !important;
}

.zc-homepage .zc-business-account .zc-section-label {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-business-account .zc-section-label::before {
    background: var(--zc-red) !important;
}

.zc-homepage .zc-business-account .zc-heading,
.zc-homepage .zc-business-account .zc-description {
    color: #fff !important;
}

.zc-homepage .zc-business-account .zc-heading {
    font-size: 42px !important;
    font-weight: 900 !important;
}

.zc-homepage .zc-business-account .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-business-account .zc-description {
    opacity: .86 !important;
}

.zc-homepage .zc-business-tag,
.zc-homepage .zc-business-tag:visited {
    min-height: 48px !important;
    border-color: var(--zc-yellow) !important;
    border-radius: 999px !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    box-shadow: 5px 5px 0 var(--zc-red) !important;
}

.zc-homepage .zc-business-tag:hover,
.zc-homepage .zc-business-tag:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-reviews {
    background: #fff !important;
    color: var(--zc-black) !important;
    padding-top: 76px !important;
    padding-bottom: 72px !important;
}

.zc-homepage .zc-reviews::before,
.zc-homepage .zc-reviews::after {
    display: none !important;
}

.zc-homepage .zc-reviews .zc-container {
    width: min(1800px, calc(100% - 84px)) !important;
}

.zc-homepage .zc-review-head {
    max-width: none !important;
    margin: 0 0 104px !important;
    text-align: center !important;
}

.zc-homepage .zc-reviews .zc-section-label {
    display: none !important;
}

.zc-homepage .zc-reviews .zc-heading {
    max-width: 1600px !important;
    margin: 0 auto !important;
    color: var(--zc-black) !important;
    font-size: 70px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.zc-homepage .zc-review-rating-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 28px 0 0 !important;
    color: rgba(2,3,4,.6) !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
}

.zc-homepage .zc-rating-stars,
.zc-homepage .zc-review-summary-stars {
    color: var(--zc-yellow) !important;
    letter-spacing: 2px !important;
}

.zc-homepage .zc-review-stage {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    align-items: end !important;
    gap: 36px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.zc-homepage .zc-review-stage::before {
    display: none !important;
}

.zc-homepage .zc-review-summary {
    align-self: center !important;
    padding: 8px 0 !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-review-brand-mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 86px !important;
    min-height: 38px !important;
    margin-bottom: 18px !important;
    border: 2px solid var(--zc-black) !important;
    border-radius: 10px !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-red) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    font-style: italic !important;
    box-shadow: 4px 4px 0 var(--zc-red) !important;
}

.zc-homepage .zc-review-summary h3 {
    margin: 0 0 8px !important;
    color: var(--zc-black) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

.zc-homepage .zc-review-summary-stars {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 25px !important;
    line-height: 1 !important;
}

.zc-homepage .zc-review-summary-stars span {
    color: rgba(2,3,4,.55) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

.zc-homepage .zc-review-summary p {
    margin: 10px 0 20px !important;
    color: var(--zc-black) !important;
    font-size: 19px !important;
    line-height: 1.4 !important;
}

.zc-homepage .zc-write-review,
.zc-homepage .zc-write-review:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    padding: 0 26px !important;
    border: 1px solid var(--zc-black) !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: var(--zc-black) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.zc-homepage .zc-write-review:hover,
.zc-homepage .zc-write-review:focus {
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-review-wrap {
    overflow: hidden !important;
}

.zc-homepage .zc-reviews-track {
    gap: 24px !important;
    transition: transform .5s ease !important;
    will-change: transform !important;
}

.zc-homepage .zc-review-slide {
    flex: 0 0 calc((100% - 48px) / 3) !important;
}

.zc-homepage .zc-review-card {
    display: flex !important;
    flex-direction: column !important;
    min-height: 310px !important;
    padding: 30px !important;
    border: 1px solid rgba(2,3,4,.08) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(2,3,4,.12) !important;
    transform: none !important;
}

.zc-homepage .zc-review-card:hover {
    border-color: rgba(225,12,12,.32) !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(2,3,4,.16) !important;
    transform: translateY(-4px) !important;
}

.zc-homepage .zc-review-card::before {
    display: none !important;
}

.zc-homepage .zc-review-card::after {
    content: "G" !important;
    position: absolute !important;
    top: 32px !important;
    right: 30px !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    color: var(--zc-red) !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.zc-homepage .zc-stars {
    margin: 18px 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--zc-yellow) !important;
    font-size: 0 !important;
    letter-spacing: 1px !important;
}

.zc-homepage .zc-stars::before {
    content: "★★★★★" !important;
    color: var(--zc-yellow) !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.zc-homepage .zc-review-text {
    min-height: 116px !important;
    margin: 0 !important;
    color: var(--zc-black) !important;
    font-size: 20px !important;
    line-height: 1.42 !important;
    font-weight: 500 !important;
}

.zc-homepage .zc-review-name {
    order: -1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 0 !important;
    color: var(--zc-black) !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.zc-homepage .zc-review-name::before {
    content: "Z" !important;
    width: 58px !important;
    height: 58px !important;
    flex: 0 0 58px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    box-shadow: 4px 4px 0 var(--zc-red) !important;
    font-size: 27px !important;
    line-height: 1 !important;
}

.zc-homepage .zc-review-slide:nth-child(1) .zc-review-name::before { content: "S" !important; }
.zc-homepage .zc-review-slide:nth-child(2) .zc-review-name::before { content: "J" !important; }
.zc-homepage .zc-review-slide:nth-child(3) .zc-review-name::before { content: "E" !important; }
.zc-homepage .zc-review-slide:nth-child(4) .zc-review-name::before { content: "A" !important; }
.zc-homepage .zc-review-slide:nth-child(5) .zc-review-name::before { content: "D" !important; }
.zc-homepage .zc-review-slide:nth-child(6) .zc-review-name::before { content: "P" !important; }
.zc-homepage .zc-review-slide:nth-child(7) .zc-review-name::before { content: "T" !important; }
.zc-homepage .zc-review-slide:nth-child(8) .zc-review-name::before { content: "L" !important; }
.zc-homepage .zc-review-slide:nth-child(9) .zc-review-name::before { content: "M" !important; }
.zc-homepage .zc-review-slide:nth-child(10) .zc-review-name::before { content: "H" !important; }

.zc-homepage .zc-review-role {
    order: -1 !important;
    margin: 4px 0 0 74px !important;
    color: rgba(2,3,4,.48) !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.zc-homepage .zc-review-dots {
    justify-content: center !important;
    margin-top: 28px !important;
}

.zc-homepage button.zc-review-dot {
    border-color: rgba(2,3,4,.28) !important;
    background: #fff !important;
}

.zc-homepage button.zc-review-dot.active {
    border-color: var(--zc-red) !important;
    background: var(--zc-yellow) !important;
}

.zc-homepage .zc-review-actions {
    display: none !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero {
        padding: 64px 0 !important;
    }

    .zc-homepage .zc-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    .zc-homepage .zc-hero-text {
        max-width: 760px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .zc-homepage .zc-hero-label,
    .zc-homepage .zc-hero-buttons {
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
    }

    .zc-homepage .zc-booking-card {
        justify-self: center !important;
    }

    .zc-homepage .zc-services .zc-container,
    .zc-homepage .zc-reviews .zc-container {
        width: min(100%, calc(100% - 44px)) !important;
    }

    .zc-homepage .zc-service-card,
    .zc-homepage .zc-service-card:nth-child(1),
    .zc-homepage .zc-service-card:nth-child(4) {
        flex-basis: calc(40% - 19.2px) !important;
    }

    .zc-homepage .zc-service-card img,
    .zc-homepage .zc-service-card:nth-child(1) img,
    .zc-homepage .zc-service-card:nth-child(4) img {
        height: 280px !important;
    }

    .zc-homepage .zc-service-overlay h3,
    .zc-homepage .zc-service-card:hover .zc-service-overlay h3 {
        font-size: 21px !important;
        letter-spacing: 3px !important;
    }

    .zc-homepage .zc-business-account-box,
    .zc-homepage .zc-review-stage {
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-review-head {
        margin-bottom: 54px !important;
    }

    .zc-homepage .zc-reviews .zc-heading {
        font-size: 46px !important;
    }

    .zc-homepage .zc-review-summary {
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        align-items: center !important;
        gap: 16px !important;
    }

    .zc-homepage .zc-review-summary-stars,
    .zc-homepage .zc-review-summary p {
        margin: 0 !important;
    }

    .zc-homepage .zc-review-slide {
        flex-basis: calc((100% - 24px) / 2) !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero {
        padding: 54px 0 40px !important;
    }

    .zc-homepage .zc-hero .zc-container,
    .zc-homepage .zc-services .zc-container,
    .zc-homepage .zc-reviews .zc-container {
        width: min(100%, calc(100% - 24px)) !important;
    }

    .zc-homepage .zc-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .zc-homepage .zc-hero-text {
        text-align: center !important;
    }

    .zc-homepage .zc-hero-label,
    .zc-homepage .zc-hero-buttons {
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 42px !important;
    }

    .zc-homepage .zc-hero-description {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }

    .zc-homepage .zc-hero-buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-booking-card {
        max-width: none !important;
        padding: 24px 18px !important;
        box-shadow: 0 8px 0 var(--zc-yellow) !important;
    }

    .zc-homepage .zc-booking-title {
        font-size: 31px !important;
    }

    .zc-homepage .zc-services {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .zc-homepage .zc-services .zc-heading {
        font-size: 26px !important;
        letter-spacing: 4px !important;
    }

    .zc-homepage .zc-service-card,
    .zc-homepage .zc-service-card:nth-child(1),
    .zc-homepage .zc-service-card:nth-child(4) {
        flex-basis: 100% !important;
    }

    .zc-homepage .zc-service-card img,
    .zc-homepage .zc-service-card:nth-child(1) img,
    .zc-homepage .zc-service-card:nth-child(4) img {
        height: 238px !important;
    }

    .zc-homepage .zc-service-overlay h3,
    .zc-homepage .zc-service-card:hover .zc-service-overlay h3 {
        font-size: 21px !important;
        letter-spacing: 1.5px !important;
    }

    .zc-homepage .zc-business-account-box {
        grid-template-columns: 1fr !important;
        padding: 28px 18px !important;
        box-shadow: 0 8px 0 var(--zc-red) !important;
    }

    .zc-homepage .zc-business-account .zc-heading {
        font-size: 30px !important;
    }

    .zc-homepage .zc-business-tag {
        width: 100% !important;
    }

    .zc-homepage .zc-reviews {
        padding-top: 54px !important;
        padding-bottom: 52px !important;
    }

    .zc-homepage .zc-review-head {
        margin-bottom: 40px !important;
    }

    .zc-homepage .zc-reviews .zc-heading {
        font-size: 34px !important;
        line-height: 1.12 !important;
    }

    .zc-homepage .zc-review-rating-line {
        display: block !important;
        font-size: 17px !important;
    }

    .zc-homepage .zc-rating-stars {
        display: block !important;
        margin-bottom: 8px !important;
    }

    .zc-homepage .zc-review-stage {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .zc-homepage .zc-review-summary {
        text-align: center !important;
    }

    .zc-homepage .zc-review-summary-stars {
        justify-content: center !important;
    }

    .zc-homepage .zc-review-slide {
        flex-basis: 100% !important;
    }

    .zc-homepage .zc-review-card {
        min-height: 290px !important;
        padding: 24px 20px !important;
    }

    .zc-homepage .zc-review-card::after {
        top: 26px !important;
        right: 20px !important;
        font-size: 25px !important;
    }

    .zc-homepage .zc-review-name {
        max-width: calc(100% - 42px) !important;
        font-size: 19px !important;
    }

    .zc-homepage .zc-review-name::before {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
        font-size: 22px !important;
    }

    .zc-homepage .zc-review-role {
        margin-left: 64px !important;
        font-size: 13px !important;
    }

    .zc-homepage .zc-review-text {
        font-size: 17px !important;
    }
}

.zc-homepage .zc-hero {
    min-height: 760px !important;
    padding: 112px 0 58px !important;
    display: flex !important;
    align-items: center !important;
}

.zc-homepage .zc-hero::before {
    background:
        linear-gradient(180deg, rgba(2,3,4,.68) 0%, rgba(2,3,4,.52) 42%, rgba(2,3,4,.88) 100%),
        linear-gradient(90deg, rgba(2,3,4,.76) 0%, rgba(2,3,4,.38) 50%, rgba(2,3,4,.76) 100%) !important;
}

.zc-homepage .zc-hero-bg-slide,
.zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
    background-position: center center !important;
    filter: brightness(.62) contrast(1.24) saturate(.85) !important;
}

.zc-homepage .zc-hero .zc-container {
    width: min(1800px, calc(100% - 96px)) !important;
}

.zc-homepage .zc-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: center !important;
    gap: 92px !important;
}

.zc-homepage .zc-hero-text {
    width: min(100%, 980px) !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.zc-homepage .zc-hero-label {
    margin: 0 auto 12px !important;
    padding: 10px 26px !important;
    border: 1px solid var(--zc-yellow) !important;
    border-radius: 999px !important;
    background: rgba(2,3,4,.2) !important;
    color: var(--zc-yellow) !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.zc-homepage .zc-hero-title,
.zc-homepage .zc-hero-title *,
.zc-homepage .zc-hero-title span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-hero-title {
    max-width: 980px !important;
    margin: 0 auto 20px !important;
    font-size: 58px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    text-shadow: 0 10px 28px rgba(2,3,4,.58) !important;
}

.zc-homepage .zc-hero-description {
    max-width: 850px !important;
    margin: 0 auto 26px !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
}

.zc-homepage .zc-hero-buttons {
    justify-content: center !important;
    gap: 14px !important;
}

.zc-homepage .zc-hero .zc-btn {
    min-width: 150px !important;
    min-height: 42px !important;
    padding: 0 22px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.zc-homepage .zc-hero .zc-btn-dark {
    border-color: rgba(255,255,255,.58) !important;
    background: rgba(2,3,4,.16) !important;
    color: #fff !important;
}

.zc-homepage .zc-booking-card {
    width: 100% !important;
    max-width: none !important;
    justify-self: center !important;
    padding: 20px 24px 18px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 5px !important;
    background: rgba(2,3,4,.88) !important;
    box-shadow: none !important;
}

.zc-homepage .zc-booking-card::before,
.zc-homepage .zc-booking-card::after,
.zc-homepage .zc-booking-title,
.zc-homepage .zc-booking-subtitle {
    display: none !important;
}

.zc-homepage #zcBookingForm {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 14px !important;
}

.zc-homepage .zc-form-grid {
    display: contents !important;
}

.zc-homepage .zc-form-group,
.zc-homepage .zc-form-group.full {
    grid-column: auto !important;
}

.zc-homepage .zc-form-group.full:last-child {
    grid-column: span 2 !important;
}

.zc-homepage .zc-form-group label {
    margin-bottom: 8px !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .5px !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    border-radius: 0 !important;
    background: rgba(2,3,4,.92) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    box-shadow: none !important;
}

.zc-homepage .zc-form-group textarea {
    min-height: 36px !important;
    resize: vertical;
}

.zc-homepage .zc-form-group input::placeholder,
.zc-homepage .zc-form-group textarea::placeholder {
    color: rgba(255,255,255,.62) !important;
    font-size: 12px !important;
}

.zc-homepage .zc-form-group input:hover,
.zc-homepage .zc-form-group select:hover,
.zc-homepage .zc-form-group textarea:hover,
.zc-homepage .zc-form-group input:focus,
.zc-homepage .zc-form-group select:focus,
.zc-homepage .zc-form-group textarea:focus {
    border-color: var(--zc-yellow) !important;
    background: rgba(2,3,4,.98) !important;
    color: #fff !important;
}

.zc-homepage button.zc-submit,
.zc-homepage .zc-submit {
    grid-column: 3 !important;
    align-self: end !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid var(--zc-yellow) !important;
    border-radius: 0 !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.zc-homepage .zc-form-message {
    grid-column: 1 / -1 !important;
    margin-top: 0 !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero {
        min-height: auto !important;
        padding: 86px 0 48px !important;
    }

    .zc-homepage .zc-hero .zc-container {
        width: min(100%, calc(100% - 44px)) !important;
    }

    .zc-homepage .zc-hero-grid {
        gap: 52px !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 48px !important;
    }

    .zc-homepage #zcBookingForm {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child,
    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero {
        min-height: auto !important;
        padding: 58px 0 38px !important;
    }

    .zc-homepage .zc-hero .zc-container {
        width: min(100%, calc(100% - 24px)) !important;
    }

    .zc-homepage .zc-hero-grid {
        gap: 34px !important;
    }

    .zc-homepage .zc-hero-label {
        padding: 9px 14px !important;
        font-size: 10px !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 36px !important;
        line-height: 1.12 !important;
    }

    .zc-homepage .zc-hero-description {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .zc-homepage .zc-hero-buttons {
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-booking-card {
        padding: 18px 14px !important;
    }

    .zc-homepage #zcBookingForm {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }

    .zc-homepage .zc-form-group,
    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child,
    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        grid-column: 1 / -1 !important;
    }

    .zc-homepage .zc-form-group label {
        font-size: 11px !important;
    }

    .zc-homepage .zc-form-group input,
    .zc-homepage .zc-form-group select,
    .zc-homepage .zc-form-group textarea {
        min-height: 46px !important;
        padding: 11px 12px !important;
        font-size: 15px !important;
    }

    .zc-homepage .zc-form-group textarea {
        min-height: 76px !important;
    }

    .zc-homepage .zc-form-group input::placeholder,
    .zc-homepage .zc-form-group textarea::placeholder {
        font-size: 15px !important;
    }

    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        min-height: 46px !important;
        font-size: 13px !important;
    }
}

.zc-homepage .zc-hero {
    min-height: 720px !important;
    padding: 86px 0 48px !important;
}

.zc-homepage .zc-hero::before {
    background:
        radial-gradient(ellipse at center 30%, rgba(2,3,4,.5) 0%, rgba(2,3,4,.22) 48%, rgba(2,3,4,.42) 100%),
        linear-gradient(180deg, rgba(2,3,4,.24) 0%, rgba(2,3,4,.34) 48%, rgba(2,3,4,.82) 100%) !important;
}

.zc-homepage .zc-hero-bg-slide,
.zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
    background-position: center center !important;
    filter: brightness(.88) contrast(1.12) saturate(.96) !important;
}

.zc-homepage .zc-hero-grid {
    gap: 64px !important;
}

.zc-homepage .zc-hero-label {
    margin: 0 auto 24px !important;
    padding: 13px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    box-shadow: 6px 6px 0 var(--zc-red) !important;
}

.zc-homepage .zc-hero-title {
    max-width: 940px !important;
    margin: 0 auto 20px !important;
    color: #fff !important;
    font-size: 62px !important;
    line-height: 1.04 !important;
    font-weight: 900 !important;
    text-shadow: 0 8px 26px rgba(2,3,4,.68) !important;
}

.zc-homepage .zc-hero-description {
    max-width: 860px !important;
    margin: 0 auto 28px !important;
    color: #fff !important;
    text-shadow: 0 4px 18px rgba(2,3,4,.72) !important;
}

.zc-homepage .zc-hero .zc-btn-primary {
    border-color: var(--zc-yellow) !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-hero .zc-btn-dark {
    border-color: rgba(255,255,255,.66) !important;
    background: rgba(2,3,4,.32) !important;
    color: #fff !important;
}

.zc-homepage .zc-hero .zc-btn:hover,
.zc-homepage .zc-hero .zc-btn:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-booking-card {
    background: rgba(2,3,4,.78) !important;
    border-color: rgba(255,255,255,.38) !important;
    box-shadow: 0 24px 60px rgba(2,3,4,.32) !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    background: rgba(2,3,4,.86) !important;
    border-color: rgba(255,255,255,.42) !important;
}

.zc-homepage button.zc-submit,
.zc-homepage .zc-submit {
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero {
        min-height: auto !important;
        padding: 72px 0 44px !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 50px !important;
    }

    .zc-homepage .zc-hero-grid {
        gap: 48px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero {
        padding: 52px 0 36px !important;
    }

    .zc-homepage .zc-hero::before {
        background:
            radial-gradient(ellipse at center 25%, rgba(2,3,4,.54) 0%, rgba(2,3,4,.34) 52%, rgba(2,3,4,.74) 100%),
            linear-gradient(180deg, rgba(2,3,4,.34) 0%, rgba(2,3,4,.42) 48%, rgba(2,3,4,.88) 100%) !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: center top !important;
        filter: brightness(.82) contrast(1.12) saturate(.95) !important;
    }

    .zc-homepage .zc-hero-grid {
        gap: 30px !important;
    }

    .zc-homepage .zc-hero-label {
        margin-bottom: 18px !important;
        box-shadow: 4px 4px 0 var(--zc-red) !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 38px !important;
        line-height: 1.08 !important;
    }

    .zc-homepage .zc-booking-card {
        background: rgba(2,3,4,.84) !important;
    }
}

.zc-homepage .zc-hero {
    min-height: 760px !important;
    padding: 82px 0 50px !important;
}

.zc-homepage .zc-hero::before {
    background:
        linear-gradient(90deg, rgba(2,3,4,.7) 0%, rgba(2,3,4,.45) 38%, rgba(2,3,4,.18) 72%, rgba(2,3,4,.1) 100%),
        linear-gradient(180deg, rgba(2,3,4,.08) 0%, rgba(2,3,4,.18) 54%, rgba(2,3,4,.58) 100%) !important;
}

.zc-homepage .zc-hero-bg-slide,
.zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
    background-position: center center !important;
    filter: brightness(.98) contrast(1.1) saturate(.98) !important;
}

.zc-homepage .zc-hero .zc-container {
    width: min(1760px, calc(100% - 92px)) !important;
}

.zc-homepage .zc-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 58px !important;
}

.zc-homepage .zc-hero-text {
    width: min(100%, 1260px) !important;
    max-width: 1260px !important;
    margin: 0 !important;
    text-align: left !important;
}

.zc-homepage .zc-hero-label {
    margin: 0 0 18px !important;
    padding: 11px 22px !important;
    border: 1px solid var(--zc-yellow) !important;
    border-radius: 999px !important;
    background: rgba(2,3,4,.24) !important;
    color: var(--zc-yellow) !important;
    box-shadow: none !important;
}

.zc-homepage .zc-hero-title {
    max-width: 1320px !important;
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 86px !important;
    line-height: 1.02 !important;
    font-weight: 500 !important;
    letter-spacing: 13px !important;
    text-transform: uppercase !important;
    text-shadow: 0 8px 30px rgba(2,3,4,.7) !important;
}

.zc-homepage .zc-hero-title span {
    color: var(--zc-yellow) !important;
    font-weight: 600 !important;
}

.zc-homepage .zc-hero-description {
    max-width: 760px !important;
    margin: 0 0 28px !important;
    color: #fff !important;
    text-align: left !important;
    text-shadow: 0 4px 18px rgba(2,3,4,.74) !important;
}

.zc-homepage .zc-hero-buttons {
    justify-content: flex-start !important;
    margin: 0 !important;
}

.zc-homepage .zc-hero .zc-btn-primary {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-hero .zc-btn-dark {
    border-color: rgba(255,255,255,.64) !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}

.zc-homepage .zc-hero .zc-btn:hover,
.zc-homepage .zc-hero .zc-btn:focus {
    border-color: var(--zc-yellow) !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-booking-card {
    width: 100% !important;
    max-width: none !important;
    padding: 22px 26px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.14) !important;
    box-shadow: 0 24px 70px rgba(2,3,4,.28) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.25) !important;
    backdrop-filter: blur(18px) saturate(1.25) !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    border-color: rgba(255,255,255,.46) !important;
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
}

.zc-homepage .zc-form-group input::placeholder,
.zc-homepage .zc-form-group textarea::placeholder {
    color: rgba(255,255,255,.74) !important;
}

.zc-homepage .zc-form-group input:hover,
.zc-homepage .zc-form-group select:hover,
.zc-homepage .zc-form-group textarea:hover,
.zc-homepage .zc-form-group input:focus,
.zc-homepage .zc-form-group select:focus,
.zc-homepage .zc-form-group textarea:focus {
    border-color: var(--zc-yellow) !important;
    background: rgba(2,3,4,.36) !important;
}

.zc-homepage .zc-review-brand-mark {
    display: inline-flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 112px !important;
    margin-bottom: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.zc-homepage .zc-review-brand-logo {
    display: block !important;
    width: 112px !important;
    height: auto !important;
    object-fit: contain !important;
}

.zc-homepage .zc-review-card::after {
    content: "" !important;
    top: 30px !important;
    right: 28px !important;
    width: 34px !important;
    height: 34px !important;
    border: 0 !important;
    background: url("https://zoomcars.org/wp-content/uploads/2026/09/google_png-removebg-preview.png") center / contain no-repeat !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero .zc-container {
        width: min(100%, calc(100% - 44px)) !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 58px !important;
        letter-spacing: 7px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero .zc-container {
        width: min(100%, calc(100% - 24px)) !important;
    }

    .zc-homepage .zc-hero::before {
        background:
            linear-gradient(90deg, rgba(2,3,4,.7) 0%, rgba(2,3,4,.42) 56%, rgba(2,3,4,.22) 100%),
            linear-gradient(180deg, rgba(2,3,4,.18) 0%, rgba(2,3,4,.38) 50%, rgba(2,3,4,.72) 100%) !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 38px !important;
        letter-spacing: 3px !important;
    }

    .zc-homepage .zc-hero-description {
        max-width: none !important;
    }

    .zc-homepage .zc-hero-buttons {
        justify-content: stretch !important;
    }

    .zc-homepage .zc-booking-card {
        padding: 18px 14px !important;
        background: rgba(255,255,255,.16) !important;
    }

    .zc-homepage .zc-review-brand-mark,
    .zc-homepage .zc-review-brand-logo {
        width: 96px !important;
    }

    .zc-homepage .zc-review-card::after {
        top: 24px !important;
        right: 18px !important;
        width: 28px !important;
        height: 28px !important;
    }
}

.zc-homepage {
    font-weight: 400 !important;
}

.zc-homepage p,
.zc-homepage li,
.zc-homepage .zc-description,
.zc-homepage .zc-review-text,
.zc-homepage .zc-faq-answer p,
.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    font-weight: 400 !important;
    word-spacing: 0 !important;
}

.zc-homepage .zc-section-label,
.zc-homepage .zc-hero-label,
.zc-homepage .zc-form-group label,
.zc-homepage .zc-review-role {
    font-weight: 600 !important;
    letter-spacing: 1px !important;
}

.zc-homepage .zc-heading,
.zc-homepage .zc-booking-title,
.zc-homepage .zc-service-overlay h3,
.zc-homepage .zc-why-card h3,
.zc-homepage .zc-faq-question span,
.zc-homepage .zc-review-name {
    font-weight: 700 !important;
}

.zc-homepage .zc-btn,
.zc-homepage .zc-submit,
.zc-homepage .zc-service-btn,
.zc-homepage .zc-business-tag,
.zc-homepage .zc-write-review {
    font-weight: 700 !important;
}

.zc-homepage .zc-hero-title {
    font-weight: 700 !important;
    letter-spacing: 5px !important;
    word-spacing: 0 !important;
}

.zc-homepage .zc-hero-title span {
    font-weight: 700 !important;
}

.zc-homepage .zc-partners {
    background: #fff !important;
    color: var(--zc-black) !important;
    overflow: hidden !important;
}

.zc-homepage .zc-partners .zc-section-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr) !important;
    gap: 64px !important;
    align-items: center !important;
    margin-bottom: 52px !important;
    padding-bottom: 38px !important;
    border-bottom: 1px solid rgba(2,3,4,.14) !important;
}

.zc-homepage .zc-partners .zc-section-top > .zc-description {
    max-width: 610px !important;
    margin: 0 !important;
    padding: 8px 0 8px 30px !important;
    border-left: 5px solid var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 20px !important;
    line-height: 1.7 !important;
}

.zc-homepage .zc-partners .zc-heading {
    max-width: 720px !important;
    color: var(--zc-black) !important;
    font-size: 64px !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

.zc-homepage .zc-partners .zc-heading span {
    display: block !important;
    color: var(--zc-red) !important;
}

.zc-homepage .zc-partner-slider {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(2,3,4,.16) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 24px 70px rgba(2,3,4,.1) !important;
}

.zc-homepage .zc-partner-slider::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2 !important;
    height: 6px !important;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow)) !important;
    pointer-events: none !important;
}

.zc-homepage .zc-partner-track {
    display: flex !important;
    width: max-content !important;
    animation: zc-partners-marquee 28s linear infinite !important;
    will-change: transform !important;
}

.zc-homepage .zc-partner-slider:hover .zc-partner-track {
    animation-play-state: running !important;
}

.zc-homepage .zc-partner-set {
    display: flex !important;
}

.zc-homepage .zc-partner-logo {
    width: 270px !important;
    height: 158px !important;
    flex: 0 0 270px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 32px 38px !important;
    border-right: 1px solid rgba(2,3,4,.12) !important;
    background: #fff !important;
}

.zc-homepage .zc-partner-logo img {
    display: block !important;
    max-width: 100% !important;
    max-height: 86px !important;
    object-fit: contain !important;
    filter: grayscale(1) contrast(1.05) !important;
    opacity: .82 !important;
    transition: filter .25s ease, opacity .25s ease, transform .25s ease !important;
}

.zc-homepage .zc-partner-logo:hover img {
    filter: none !important;
    opacity: 1 !important;
    transform: translateY(-2px) !important;
}

@keyframes zc-partners-marquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

.zc-homepage .zc-review-stage {
    padding: 44px !important;
}

.zc-homepage .zc-reviews-track {
    gap: 26px !important;
}

.zc-homepage .zc-review-slide {
    flex: 0 0 calc((100% - 30px) / 2) !important;
}

.zc-homepage .zc-review-card {
    min-height: 360px !important;
    padding: 36px 34px 32px !important;
}

.zc-homepage .zc-review-card::after {
    top: 34px !important;
    right: 32px !important;
    width: 40px !important;
    height: 40px !important;
}

.zc-homepage .zc-review-name {
    width: calc(100% - 108px) !important;
    max-width: calc(100% - 108px) !important;
    font-size: 23px !important;
}

.zc-homepage .zc-review-role {
    margin-right: 78px !important;
    max-width: calc(100% - 152px) !important;
}

.zc-homepage .zc-review-text {
    min-height: 142px !important;
    padding-right: 6px !important;
    font-size: 19px !important;
    line-height: 1.5 !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero-title {
        letter-spacing: 3px !important;
    }

    .zc-homepage .zc-partners .zc-section-top {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .zc-homepage .zc-partners .zc-heading {
        font-size: 48px !important;
    }

    .zc-homepage .zc-partners .zc-section-top > .zc-description {
        max-width: none !important;
        font-size: 18px !important;
    }

    .zc-homepage .zc-partner-logo {
        width: 230px !important;
        height: 138px !important;
        flex-basis: 230px !important;
        padding: 28px 32px !important;
    }

    .zc-homepage .zc-review-stage {
        padding: 34px !important;
    }

    .zc-homepage .zc-review-slide {
        flex-basis: calc((100% - 26px) / 2) !important;
    }

    .zc-homepage .zc-review-card {
        min-height: 340px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero-title {
        letter-spacing: 1px !important;
    }

    .zc-homepage .zc-partners {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    .zc-homepage .zc-partners .zc-section-top {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin-bottom: 34px !important;
        padding-bottom: 28px !important;
    }

    .zc-homepage .zc-partners .zc-heading {
        font-size: 34px !important;
        line-height: 1.12 !important;
    }

    .zc-homepage .zc-partners .zc-section-top > .zc-description {
        max-width: none !important;
        padding-left: 18px !important;
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    .zc-homepage .zc-partner-logo {
        width: 180px !important;
        height: 112px !important;
        flex-basis: 180px !important;
        padding: 22px 24px !important;
    }

    .zc-homepage .zc-partner-logo img {
        max-height: 66px !important;
    }

    .zc-homepage .zc-review-stage {
        padding: 22px !important;
    }

    .zc-homepage .zc-review-slide {
        flex-basis: 100% !important;
    }

    .zc-homepage .zc-review-card {
        min-height: 320px !important;
        padding: 28px 22px 26px !important;
    }

    .zc-homepage .zc-review-card::after {
        top: 28px !important;
        right: 22px !important;
        width: 32px !important;
        height: 32px !important;
    }

    .zc-homepage .zc-review-name {
        width: calc(100% - 62px) !important;
        max-width: calc(100% - 62px) !important;
        font-size: 20px !important;
    }

    .zc-homepage .zc-review-role {
        margin-right: 52px !important;
        max-width: calc(100% - 116px) !important;
    }

    .zc-homepage .zc-review-text {
        min-height: 128px !important;
        font-size: 17px !important;
        line-height: 1.52 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zc-homepage .zc-partner-track {
        animation: none !important;
    }

    .zc-homepage .zc-partner-slider {
        overflow-x: auto !important;
    }
}

.zc-homepage .zc-why-grid {
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr) !important;
    gap: 56px !important;
    align-items: start !important;
}

.zc-homepage .zc-why-list {
    align-items: stretch !important;
    gap: 22px !important;
}

.zc-homepage .zc-why-card {
    min-height: 250px !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 28px 24px 28px 26px !important;
}

.zc-homepage .zc-why-icon {
    width: 58px !important;
    height: 58px !important;
    flex: 0 0 58px !important;
}

.zc-homepage .zc-why-card h3 {
    margin: 0 0 11px !important;
    font-size: 18px !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
}

.zc-homepage .zc-why-card p {
    max-width: 42ch !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
}

.zc-homepage .zc-app {
    background: #fff !important;
    color: var(--zc-black) !important;
    padding-top: 78px !important;
    padding-bottom: 78px !important;
}

.zc-homepage .zc-app::before {
    background:
        linear-gradient(90deg, rgba(246,227,10,.12), transparent 42%, rgba(225,12,12,.08)),
        repeating-linear-gradient(90deg, rgba(2,3,4,.035) 0 1px, transparent 1px 118px) !important;
}

.zc-homepage .zc-app-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(300px, .82fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(2,3,4,.16) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(2,3,4,.16) !important;
}

.zc-homepage .zc-app-grid > div:first-child {
    min-height: 100% !important;
    padding: 58px 60px !important;
    background:
        linear-gradient(135deg, rgba(225,12,12,.2), rgba(246,227,10,.08)),
        var(--zc-black) !important;
}

.zc-homepage .zc-app .zc-heading {
    max-width: 620px !important;
    color: #fff !important;
    font-size: 56px !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
}

.zc-homepage .zc-app .zc-description {
    max-width: 560px !important;
    margin: 24px 0 28px !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    opacity: .88 !important;
}

.zc-homepage .zc-app-highlights {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 30px !important;
}

.zc-homepage .zc-app-highlights span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(246,227,10,.58) !important;
    border-radius: 999px !important;
    color: var(--zc-yellow) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
}

.zc-homepage .zc-app .zc-btn-primary,
.zc-homepage .zc-app .zc-btn-primary:visited {
    border-color: var(--zc-yellow) !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-app .zc-btn-dark,
.zc-homepage .zc-app .zc-btn-dark:visited {
    border-color: #fff !important;
    background: transparent !important;
    color: #fff !important;
}

.zc-homepage .zc-app .zc-btn-primary:hover,
.zc-homepage .zc-app .zc-btn-primary:focus,
.zc-homepage .zc-app .zc-btn-dark:hover,
.zc-homepage .zc-app .zc-btn-dark:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-app-phone {
    min-height: 520px !important;
    align-items: center !important;
    padding: 42px !important;
    background:
        linear-gradient(135deg, rgba(246,227,10,.16), transparent 40%),
        #fff !important;
}

.zc-homepage .zc-app-phone::before {
    inset: 32px !important;
    border-color: rgba(2,3,4,.14) !important;
    background: transparent !important;
    transform: none !important;
}

.zc-homepage .zc-app-phone a {
    padding: 22px !important;
    border-color: rgba(2,3,4,.16) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 12px 12px 0 var(--zc-yellow) !important;
}

.zc-homepage .zc-app-phone a:hover,
.zc-homepage .zc-app-phone a:focus {
    box-shadow: 12px 12px 0 var(--zc-red) !important;
}

.zc-homepage .zc-app-phone img {
    width: min(330px, 100%) !important;
    max-height: 460px !important;
    filter: drop-shadow(0 18px 34px rgba(2,3,4,.18)) !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-why-grid,
    .zc-homepage .zc-app-grid {
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-why-card {
        min-height: 226px !important;
    }

    .zc-homepage .zc-app-grid > div:first-child {
        padding: 46px !important;
    }

    .zc-homepage .zc-app .zc-heading {
        font-size: 46px !important;
    }

    .zc-homepage .zc-app-phone {
        min-height: 420px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-why-grid,
    .zc-homepage .zc-why-list,
    .zc-homepage .zc-app-grid {
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-why-grid {
        gap: 34px !important;
    }

    .zc-homepage .zc-why-card {
        min-height: auto !important;
        grid-template-columns: 52px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 22px 18px !important;
    }

    .zc-homepage .zc-why-icon {
        width: 50px !important;
        height: 50px !important;
        flex-basis: 50px !important;
        box-shadow: 4px 4px 0 var(--zc-red) !important;
    }

    .zc-homepage .zc-why-icon svg {
        width: 24px !important;
        height: 24px !important;
    }

    .zc-homepage .zc-why-card h3 {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .zc-homepage .zc-why-card p {
        max-width: none !important;
        font-size: 13px !important;
        line-height: 1.58 !important;
    }

    .zc-homepage .zc-app {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .zc-homepage .zc-app-grid > div:first-child {
        padding: 34px 20px !important;
    }

    .zc-homepage .zc-app .zc-heading {
        font-size: 34px !important;
        line-height: 1.1 !important;
    }

    .zc-homepage .zc-app-highlights,
    .zc-homepage .zc-app-buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-app-highlights span,
    .zc-homepage .zc-app-buttons .zc-btn {
        justify-content: center !important;
        width: 100% !important;
    }

    .zc-homepage .zc-app-phone {
        min-height: auto !important;
        padding: 28px 18px 34px !important;
    }

    .zc-homepage .zc-app-phone::before {
        inset: 18px !important;
    }

    .zc-homepage .zc-app-phone a {
        padding: 16px !important;
        box-shadow: 8px 8px 0 var(--zc-yellow) !important;
    }

    .zc-homepage .zc-app-phone img {
        width: min(260px, 100%) !important;
        max-height: 380px !important;
    }
}

.zc-homepage .zc-booking-card {
    width: min(100%, 1220px) !important;
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding: 26px !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    border-radius: 14px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.08)),
        rgba(2,3,4,.42) !important;
    box-shadow: 0 28px 80px rgba(2,3,4,.34) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.25) !important;
    backdrop-filter: blur(18px) saturate(1.25) !important;
}

.zc-homepage .zc-booking-card::before {
    display: block !important;
    content: "" !important;
    height: 5px !important;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow)) !important;
}

.zc-homepage .zc-booking-card::after {
    display: none !important;
}

.zc-homepage .zc-booking-title,
.zc-homepage .zc-booking-subtitle {
    display: block !important;
}

.zc-homepage .zc-booking-title {
    margin: 0 0 8px !important;
    padding-left: 18px !important;
    color: #fff !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

.zc-homepage .zc-booking-title::before {
    display: block !important;
    top: 3px !important;
    bottom: 3px !important;
    width: 5px !important;
    background: var(--zc-red) !important;
}

.zc-homepage .zc-booking-subtitle {
    margin: 0 0 22px !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    opacity: .9 !important;
}

.zc-homepage #zcBookingForm {
    display: block !important;
}

.zc-homepage .zc-form-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.zc-homepage .zc-form-group,
.zc-homepage .zc-form-group.full,
.zc-homepage .zc-form-group.full:last-child {
    grid-column: span 1 !important;
}

.zc-homepage .zc-form-group.full {
    grid-column: span 2 !important;
}

.zc-homepage .zc-form-group label {
    margin-bottom: 7px !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    letter-spacing: .8px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    min-height: 44px !important;
    padding: 10px 13px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.13) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

.zc-homepage .zc-form-group select option {
    background: #fff !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-form-group input::placeholder,
.zc-homepage .zc-form-group textarea::placeholder {
    color: rgba(255,255,255,.76) !important;
    font-size: 13px !important;
}

.zc-homepage .zc-form-group input:hover,
.zc-homepage .zc-form-group select:hover,
.zc-homepage .zc-form-group textarea:hover,
.zc-homepage .zc-form-group input:focus,
.zc-homepage .zc-form-group select:focus,
.zc-homepage .zc-form-group textarea:focus {
    border-color: var(--zc-yellow) !important;
    background: rgba(2,3,4,.38) !important;
    box-shadow: 0 0 0 3px rgba(246,227,10,.14) !important;
}

.zc-homepage .zc-form-group textarea {
    min-height: 88px !important;
}

.zc-homepage button.zc-submit,
.zc-homepage .zc-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(100%, 320px) !important;
    min-height: 48px !important;
    margin: 18px 0 0 auto !important;
    padding: 0 24px !important;
    border: 1px solid var(--zc-yellow) !important;
    border-radius: 8px !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

.zc-homepage button.zc-submit:hover,
.zc-homepage button.zc-submit:focus,
.zc-homepage .zc-submit:hover,
.zc-homepage .zc-submit:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child {
        grid-column: 1 / -1 !important;
    }

    .zc-homepage .zc-form-group.zc-location-field {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero {
        align-items: flex-start !important;
        min-height: auto !important;
        padding: 0 0 34px !important;
        background: var(--zc-black) !important;
    }

    .zc-homepage .zc-hero-bg {
        height: 430px !important;
        bottom: auto !important;
    }

    .zc-homepage .zc-hero::before {
        height: 430px !important;
        bottom: auto !important;
        background:
            linear-gradient(180deg, rgba(2,3,4,.12) 0%, rgba(2,3,4,.2) 48%, rgba(2,3,4,.76) 100%),
            linear-gradient(90deg, rgba(2,3,4,.4), rgba(2,3,4,.12), rgba(2,3,4,.3)) !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        inset: 0 !important;
        background-position: center top !important;
        background-size: cover !important;
        filter: brightness(1) contrast(1.08) saturate(.98) !important;
        transform: none !important;
    }

    .zc-homepage .zc-hero-content {
        width: 100% !important;
        padding-top: 245px !important;
    }

    .zc-homepage .zc-hero-grid {
        gap: 24px !important;
    }

    .zc-homepage .zc-hero-text {
        width: 100% !important;
        max-width: none !important;
        text-align: center !important;
    }

    .zc-homepage .zc-hero-label {
        max-width: 100% !important;
        white-space: normal !important;
        font-size: 10px !important;
        line-height: 1.35 !important;
    }

    .zc-homepage .zc-hero-title {
        margin-bottom: 14px !important;
        font-size: 34px !important;
        line-height: 1.08 !important;
        text-shadow: 0 8px 24px rgba(2,3,4,.9) !important;
    }

    .zc-homepage .zc-hero-description {
        margin-bottom: 20px !important;
        font-size: 14px !important;
        line-height: 1.62 !important;
        text-shadow: 0 5px 18px rgba(2,3,4,.9) !important;
    }

    .zc-homepage .zc-booking-card {
        padding: 22px 16px !important;
        border-radius: 12px !important;
        background:
            linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.08)),
            rgba(2,3,4,.68) !important;
    }

    .zc-homepage .zc-booking-title {
        font-size: 24px !important;
    }

    .zc-homepage .zc-booking-subtitle {
        font-size: 13px !important;
    }

    .zc-homepage .zc-form-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .zc-homepage .zc-form-group,
    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child {
        grid-column: 1 / -1 !important;
    }

    .zc-homepage .zc-form-group label {
        font-size: 10px !important;
    }

    .zc-homepage .zc-form-group input,
    .zc-homepage .zc-form-group select,
    .zc-homepage .zc-form-group textarea {
        min-height: 48px !important;
        font-size: 14px !important;
    }

    .zc-homepage .zc-form-group input::placeholder,
    .zc-homepage .zc-form-group textarea::placeholder {
        font-size: 14px !important;
    }

    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        width: 100% !important;
        min-height: 50px !important;
        margin-top: 16px !important;
    }
}

.zc-homepage .zc-section .zc-section-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 13px !important;
    margin-bottom: 18px !important;
    color: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-section .zc-section-label::before {
    width: 42px !important;
    height: 3px !important;
    background: var(--zc-red) !important;
}

.zc-homepage .zc-section .zc-heading,
.zc-homepage .zc-section .zc-heading span {
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.zc-homepage .zc-section .zc-heading {
    max-width: 760px !important;
    font-size: clamp(38px, 4vw, 62px) !important;
    line-height: 1.08 !important;
}

.zc-homepage .zc-services .zc-section-label,
.zc-homepage .zc-why .zc-section-label,
.zc-homepage .zc-business-account .zc-section-label,
.zc-homepage .zc-app .zc-section-label {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-services .zc-heading,
.zc-homepage .zc-why .zc-heading,
.zc-homepage .zc-business-account .zc-heading,
.zc-homepage .zc-app .zc-heading {
    color: #fff !important;
}

.zc-homepage .zc-services .zc-heading span,
.zc-homepage .zc-why .zc-heading span,
.zc-homepage .zc-business-account .zc-heading span,
.zc-homepage .zc-app .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-about .zc-heading,
.zc-homepage .zc-partners .zc-heading,
.zc-homepage .zc-reviews .zc-heading,
.zc-homepage .zc-faq .zc-heading,
.zc-homepage .zc-cta .zc-heading {
    color: var(--zc-black) !important;
}

.zc-homepage .zc-about .zc-heading span,
.zc-homepage .zc-partners .zc-heading span,
.zc-homepage .zc-reviews .zc-heading span,
.zc-homepage .zc-faq .zc-heading span,
.zc-homepage .zc-cta .zc-heading span {
    color: var(--zc-red) !important;
}

.zc-homepage .zc-service-overlay h3,
.zc-homepage .zc-why-card h3,
.zc-homepage .zc-review-name,
.zc-homepage .zc-booking-title,
.zc-homepage .zc-faq-question {
    font-weight: 700 !important;
}

.zc-homepage .zc-faq {
    position: relative !important;
    overflow: hidden !important;
    padding-top: 84px !important;
    padding-bottom: 84px !important;
    background: #fff !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-faq::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(90deg, rgba(246,227,10,.1), transparent 42%, rgba(225,12,12,.06)),
        repeating-linear-gradient(90deg, rgba(2,3,4,.035) 0 1px, transparent 1px 116px) !important;
    pointer-events: none !important;
}

.zc-homepage .zc-faq .zc-container {
    position: relative !important;
    z-index: 1 !important;
}

.zc-homepage .zc-faq-grid {
    display: grid !important;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr) !important;
    gap: 44px !important;
    align-items: stretch !important;
    width: 100% !important;
    padding: 38px !important;
    border: 1px solid rgba(2,3,4,.16) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(2,3,4,.12) !important;
}

.zc-homepage .zc-faq-grid > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 38px !important;
    border-radius: 8px !important;
    background:
        linear-gradient(135deg, rgba(225,12,12,.2), rgba(246,227,10,.08)),
        var(--zc-black) !important;
    color: #fff !important;
}

.zc-homepage .zc-faq-grid > div:first-child .zc-section-label,
.zc-homepage .zc-faq-grid > div:first-child .zc-heading,
.zc-homepage .zc-faq-grid > div:first-child .zc-description {
    color: #fff !important;
}

.zc-homepage .zc-faq-grid > div:first-child .zc-section-label {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-faq-grid > div:first-child .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-faq-grid > div:first-child .zc-description {
    max-width: 520px !important;
    margin: 22px 0 28px !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    opacity: .88 !important;
}

.zc-homepage .zc-faq-grid > div:first-child .zc-btn-dark,
.zc-homepage .zc-faq-grid > div:first-child .zc-btn-dark:visited {
    width: fit-content !important;
    border-color: var(--zc-yellow) !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-faq-grid > div:first-child .zc-btn-dark:hover,
.zc-homepage .zc-faq-grid > div:first-child .zc-btn-dark:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-faq-list {
    gap: 14px !important;
}

.zc-homepage .zc-faq-item {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(2,3,4,.14) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(2,3,4,.08) !important;
}

.zc-homepage .zc-faq-item::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 4px !important;
    background: var(--zc-yellow) !important;
    transition: background .25s ease !important;
}

.zc-homepage .zc-faq-item.active::before,
.zc-homepage .zc-faq-item:hover::before {
    background: var(--zc-red) !important;
}

.zc-homepage button.zc-faq-question,
.zc-homepage button.zc-faq-question:hover,
.zc-homepage button.zc-faq-question:focus,
.zc-homepage button.zc-faq-question:active {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    min-height: 70px !important;
    padding: 20px 22px 20px 26px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--zc-black) !important;
    font-size: 16px !important;
    line-height: 1.42 !important;
    font-weight: 600 !important;
    text-align: left !important;
    white-space: normal !important;
    box-shadow: none !important;
}

.zc-homepage button.zc-faq-question:hover,
.zc-homepage button.zc-faq-question:focus,
.zc-homepage .zc-faq-item.active button.zc-faq-question {
    background: var(--zc-black) !important;
    color: #fff !important;
}

.zc-homepage button.zc-faq-question:hover *,
.zc-homepage button.zc-faq-question:focus *,
.zc-homepage .zc-faq-item.active button.zc-faq-question * {
    visibility: visible !important;
    opacity: 1 !important;
}

.zc-homepage .zc-faq-plus {
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid var(--zc-yellow) !important;
    border-radius: 50% !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease !important;
}

.zc-homepage button.zc-faq-question:hover .zc-faq-plus,
.zc-homepage button.zc-faq-question:focus .zc-faq-plus {
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-faq-item.active .zc-faq-plus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
    transform: rotate(45deg) !important;
}

.zc-homepage .zc-faq-answer {
    display: grid !important;
    grid-template-rows: 0fr !important;
    background: #fff !important;
    color: var(--zc-black) !important;
    transition: grid-template-rows .28s ease !important;
}

.zc-homepage .zc-faq-answer-inner {
    min-height: 0 !important;
    overflow: hidden !important;
}

.zc-homepage .zc-faq-answer p {
    margin: 0 !important;
    padding: 10px 26px 22px 30px !important;
    color: var(--zc-black) !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
    font-weight: 400 !important;
}

.zc-homepage .zc-faq-item.active .zc-faq-answer {
    grid-template-rows: 1fr !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-section .zc-heading {
        font-size: 44px !important;
    }

    .zc-homepage .zc-faq-grid {
        grid-template-columns: 1fr !important;
        padding: 28px !important;
    }

    .zc-homepage .zc-faq-grid > div:first-child {
        padding: 32px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-section .zc-section-label {
        font-size: 10px !important;
        letter-spacing: 1.4px !important;
    }

    .zc-homepage .zc-section .zc-heading {
        font-size: 32px !important;
        line-height: 1.12 !important;
    }

    .zc-homepage .zc-faq {
        padding-top: 54px !important;
        padding-bottom: 54px !important;
    }

    .zc-homepage .zc-faq-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 14px !important;
        box-shadow: 0 18px 42px rgba(2,3,4,.1) !important;
    }

    .zc-homepage .zc-faq-grid > div:first-child {
        padding: 26px 18px !important;
    }

    .zc-homepage .zc-faq-grid > div:first-child .zc-description {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .zc-homepage .zc-faq-grid > div:first-child .zc-btn-dark {
        width: 100% !important;
    }

    .zc-homepage .zc-faq-list {
        gap: 10px !important;
    }

    .zc-homepage button.zc-faq-question,
    .zc-homepage button.zc-faq-question:hover,
    .zc-homepage button.zc-faq-question:focus,
    .zc-homepage button.zc-faq-question:active {
        align-items: center !important;
        gap: 12px !important;
        min-height: 62px !important;
        padding: 16px 14px 16px 18px !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }

    .zc-homepage .zc-faq-plus {
        flex-basis: 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        font-size: 20px !important;
    }

    .zc-homepage .zc-faq-answer p {
        padding: 8px 18px 18px 22px !important;
        font-size: 13px !important;
        line-height: 1.68 !important;
    }
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero .zc-container {
        width: min(1440px, calc(100% - 96px)) !important;
    }

    .zc-homepage .zc-hero-grid {
        gap: 50px !important;
    }

    .zc-homepage .zc-booking-card {
        box-sizing: border-box !important;
        width: calc(100% - 48px) !important;
        max-width: 1120px !important;
        padding: 28px !important;
    }

    .zc-homepage .zc-booking-title {
        font-size: 28px !important;
    }

    .zc-homepage .zc-booking-subtitle {
        margin-bottom: 20px !important;
    }

    .zc-homepage #zcBookingForm {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-form-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px 16px !important;
    }

    .zc-homepage .zc-form-group,
    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child {
        grid-column: span 1 !important;
    }

    .zc-homepage .zc-form-group:nth-child(11) {
        grid-column: span 2 !important;
    }

    .zc-homepage .zc-form-group input,
    .zc-homepage .zc-form-group select,
    .zc-homepage .zc-form-group textarea {
        min-height: 42px !important;
        padding: 9px 12px !important;
        font-size: 13px !important;
    }

    .zc-homepage .zc-form-group textarea {
        min-height: 76px !important;
    }

    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        justify-self: end !important;
        width: min(100%, 280px) !important;
        min-height: 44px !important;
        margin-top: 16px !important;
        font-size: 14px !important;
    }
}

.zc-homepage .zc-cta,
.zc-homepage .zc-cta-content {
    color: #fff !important;
}

.zc-homepage .zc-cta .zc-section-label {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-cta .zc-heading {
    color: #fff !important;
    text-shadow: 0 10px 28px rgba(2,3,4,.55) !important;
}

.zc-homepage .zc-cta .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-cta p {
    color: #fff !important;
    opacity: .88 !important;
}

.zc-homepage,
.zc-homepage * {
    box-sizing: border-box !important;
}

.zc-homepage {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero .zc-container {
        width: min(1320px, calc(100% - 72px)) !important;
    }

    .zc-homepage .zc-booking-card {
        width: min(100%, 980px) !important;
        max-width: 980px !important;
        min-height: 0 !important;
        padding: 24px 26px !important;
    }

    .zc-homepage .zc-booking-title {
        margin-bottom: 6px !important;
        font-size: 26px !important;
    }

    .zc-homepage .zc-booking-subtitle {
        margin-bottom: 16px !important;
        font-size: 13px !important;
    }

    .zc-homepage #zcBookingForm {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px 14px !important;
        align-items: end !important;
    }

    .zc-homepage .zc-form-grid {
        display: contents !important;
    }

    .zc-homepage .zc-form-group,
    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child,
    .zc-homepage .zc-form-group:nth-child(11) {
        grid-column: span 1 !important;
        min-width: 0 !important;
    }

    .zc-homepage .zc-form-group label {
        margin-bottom: 6px !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
    }

    .zc-homepage .zc-form-group input,
    .zc-homepage .zc-form-group select,
    .zc-homepage .zc-form-group textarea {
        min-height: 40px !important;
        padding: 8px 11px !important;
        font-size: 12px !important;
    }

    .zc-homepage .zc-form-group textarea {
        min-height: 72px !important;
    }

    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        grid-column: span 1 !important;
        align-self: end !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 16px !important;
        font-size: 12px !important;
    }

    .zc-homepage .zc-form-message {
        grid-column: 1 / -1 !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-booking-card {
        width: min(100%, 760px) !important;
        max-width: 760px !important;
    }

    .zc-homepage #zcBookingForm {
        display: block !important;
    }

    .zc-homepage .zc-form-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 13px !important;
    }

    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child {
        grid-column: 1 / -1 !important;
    }

    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        width: 100% !important;
        margin-top: 16px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage #zcBookingForm {
        display: block !important;
    }

    .zc-homepage .zc-form-grid {
        display: grid !important;
    }
}

.zc-homepage .zc-about {
    position: relative !important;
    isolation: isolate !important;
    padding-top: 96px !important;
    padding-bottom: 104px !important;
    background:
        linear-gradient(135deg, rgba(246,227,10,.12), rgba(255,255,255,0) 34%),
        #fff !important;
}

.zc-homepage .zc-about::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background: repeating-linear-gradient(90deg, rgba(2,3,4,.035) 0 1px, transparent 1px 118px) !important;
}

.zc-homepage .zc-about-grid {
    grid-template-columns: minmax(330px, .92fr) minmax(0, 1.08fr) !important;
    gap: 68px !important;
    align-items: stretch !important;
}

.zc-homepage .zc-about-image::before {
    content: "" !important;
    position: absolute !important;
    inset: 24px -22px -22px 22px !important;
    z-index: -1 !important;
    border-radius: 8px !important;
    background: var(--zc-yellow) !important;
}

.zc-homepage .zc-about-image::after {
    content: "" !important;
    position: absolute !important;
    right: -30px !important;
    top: 42px !important;
    width: 7px !important;
    height: 150px !important;
    background: var(--zc-red) !important;
}

.zc-homepage .zc-about-image a,
.zc-homepage .zc-about-image-frame {
    display: block !important;
    height: 100% !important;
    overflow: hidden !important;
    border: 1px solid var(--zc-black) !important;
    border-radius: 8px !important;
    background: var(--zc-black) !important;
}

.zc-homepage .zc-about-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    object-fit: cover !important;
    filter: brightness(.96) contrast(1.1) saturate(.96) !important;
    transition: transform .45s ease !important;
}

.zc-homepage .zc-about-image a:hover img {
    transform: scale(1.035) !important;
}

.zc-homepage .zc-about-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 52px !important;
    border: 1px solid rgba(2,3,4,.16) !important;
    border-top: 6px solid var(--zc-red) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(135deg, rgba(246,227,10,.16), rgba(255,255,255,0) 38%),
        #fff !important;
    box-shadow: 0 28px 80px rgba(2,3,4,.14) !important;
}

.zc-homepage .zc-about .zc-heading {
    font-weight: 700 !important;
}

.zc-homepage .zc-about .zc-description {
    max-width: 680px !important;
    color: var(--zc-black) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
}

.zc-homepage .zc-about-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 30px !important;
}

.zc-homepage .zc-about-stats .zc-stat {
    min-height: 134px !important;
    padding: 24px 18px !important;
    border: 1px solid rgba(246,227,10,.4) !important;
    border-top: 5px solid var(--zc-yellow) !important;
    border-radius: 8px !important;
    background: var(--zc-black) !important;
    color: #fff !important;
    box-shadow: 8px 8px 0 rgba(225,12,12,.95) !important;
}

.zc-homepage .zc-about-stats .zc-stat strong {
    color: var(--zc-yellow) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
}

.zc-homepage .zc-about-stats .zc-stat span {
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.zc-homepage .zc-app {
    position: relative !important;
    isolation: isolate !important;
    padding-top: 94px !important;
    padding-bottom: 98px !important;
    background: var(--zc-black) !important;
    color: #fff !important;
}

.zc-homepage .zc-app::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background:
        linear-gradient(135deg, rgba(225,12,12,.26), rgba(2,3,4,0) 42%),
        linear-gradient(315deg, rgba(246,227,10,.18), rgba(2,3,4,0) 44%) !important;
}

.zc-homepage .zc-app-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr) !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(246,227,10,.28) !important;
    border-radius: 8px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
        var(--zc-black) !important;
    box-shadow: 0 36px 90px rgba(2,3,4,.5) !important;
}

.zc-homepage .zc-app-grid > div:first-child {
    min-height: 100% !important;
    padding: 66px 68px !important;
    background: transparent !important;
}

.zc-homepage .zc-app .zc-section-label,
.zc-homepage .zc-app .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-app .zc-heading {
    color: #fff !important;
    font-weight: 700 !important;
}

.zc-homepage .zc-app .zc-description {
    max-width: 600px !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    opacity: .9 !important;
}

.zc-homepage .zc-app-highlights span {
    min-height: 38px !important;
    border: 1px solid rgba(246,227,10,.62) !important;
    border-left: 4px solid var(--zc-red) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.08) !important;
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-app-phone {
    position: relative !important;
    min-height: 560px !important;
    padding: 52px !important;
    border-left: 1px solid rgba(246,227,10,.25) !important;
    background:
        linear-gradient(135deg, var(--zc-yellow), rgba(246,227,10,.5)),
        #fff !important;
}

.zc-homepage .zc-app-phone::before {
    content: "" !important;
    position: absolute !important;
    inset: 34px !important;
    border: 1px solid rgba(2,3,4,.2) !important;
    border-radius: 8px !important;
    background: transparent !important;
    transform: none !important;
}

.zc-homepage .zc-app-phone a {
    position: relative !important;
    z-index: 1 !important;
    display: inline-flex !important;
    padding: 24px !important;
    border: 1px solid rgba(2,3,4,.18) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 14px 14px 0 var(--zc-red) !important;
}

.zc-homepage .zc-app-phone img {
    width: min(370px, 100%) !important;
    max-height: 520px !important;
    object-fit: contain !important;
}

.zc-homepage .zc-partner-logo img[src*="02_49_40-AM-1-2.webp"] {
    transform: scale(1.3) !important;
}

.zc-homepage .zc-partner-logo:hover img[src*="02_49_40-AM-1-2.webp"] {
    transform: translateY(-2px) scale(1.3) !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-about-grid,
    .zc-homepage .zc-app-grid {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
    }

    .zc-homepage .zc-about-content,
    .zc-homepage .zc-app-grid > div:first-child {
        padding: 42px !important;
    }

    .zc-homepage .zc-app-phone {
        min-height: 430px !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(246,227,10,.25) !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-about,
    .zc-homepage .zc-app {
        padding-top: 56px !important;
        padding-bottom: 60px !important;
    }

    .zc-homepage .zc-about-grid,
    .zc-homepage .zc-app-grid {
        gap: 28px !important;
    }

    .zc-homepage .zc-about-image::before,
    .zc-homepage .zc-about-image::after {
        display: none !important;
    }

    .zc-homepage .zc-about-image img {
        min-height: 320px !important;
        height: 320px !important;
    }

    .zc-homepage .zc-about-content,
    .zc-homepage .zc-app-grid > div:first-child {
        padding: 28px 20px !important;
    }

    .zc-homepage .zc-about-stats {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .zc-homepage .zc-about-stats .zc-stat {
        min-height: 0 !important;
        box-shadow: 6px 6px 0 var(--zc-red) !important;
    }

    .zc-homepage .zc-app .zc-description {
        font-size: 15px !important;
    }

    .zc-homepage .zc-app-phone {
        min-height: auto !important;
        padding: 32px 20px 36px !important;
    }

    .zc-homepage .zc-app-phone::before {
        inset: 18px !important;
    }

    .zc-homepage .zc-app-phone a {
        padding: 16px !important;
        box-shadow: 8px 8px 0 var(--zc-red) !important;
    }

    .zc-homepage .zc-app-phone img {
        width: min(280px, 100%) !important;
        max-height: 390px !important;
    }
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero {
        min-height: 100vh !important;
        padding-top: 104px !important;
        padding-bottom: 90px !important;
    }

    .zc-homepage .zc-hero-grid {
        gap: 0 !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: center 46% !important;
        filter: brightness(.72) contrast(1.18) saturate(.96) !important;
    }

    .zc-homepage .zc-booking-card {
        margin: clamp(125px, 10vw, 180px) auto 0 !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-booking-card {
        margin-top: 286px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-booking-card {
        margin-top: 48px !important;
    }
}

.zc-homepage .zc-partner-logo {
    width: 300px !important;
    height: 162px !important;
    flex-basis: 300px !important;
    padding: 20px 28px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.zc-homepage .zc-partner-logo img {
    width: auto !important;
    max-width: 94% !important;
    max-height: 104px !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
    mix-blend-mode: multiply !important;
}

.zc-homepage .zc-partner-logo img[src*="cross-country"] {
    width: 96% !important;
    max-width: 96% !important;
    max-height: 118px !important;
}

.zc-homepage .zc-partner-logo img[src*="South-Western-Ambulance"],
.zc-homepage .zc-partner-logo img[src*="Bristol-City-Council"] {
    max-height: 112px !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-partner-logo {
        width: 260px !important;
        height: 144px !important;
        flex-basis: 260px !important;
        padding: 18px 24px !important;
    }

    .zc-homepage .zc-partner-logo img {
        max-height: 92px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-partner-logo {
        width: 210px !important;
        height: 118px !important;
        flex-basis: 210px !important;
        padding: 14px 18px !important;
    }

    .zc-homepage .zc-partner-logo img {
        max-width: 96% !important;
        max-height: 78px !important;
    }
}

.zc-homepage {
    position: relative !important;
}

.zc-homepage .zc-site-header,
.zc-homepage .zc-site-header * {
    box-sizing: border-box !important;
    font-family: "Poppins", sans-serif !important;
}

.zc-homepage .zc-site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 70 !important;
    min-height: 92px !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 0 clamp(22px, 4vw, 48px) !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    background:
        linear-gradient(180deg, rgba(2,3,4,.9), rgba(2,3,4,.28)) !important;
    color: #fff !important;
}

.zc-homepage .zc-header-menu,
.zc-homepage .zc-menu-close {
    appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    cursor: pointer !important;
}

.zc-homepage .zc-header-menu {
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 13px !important;
    min-height: 48px !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-header-menu em {
    font-style: normal !important;
}

.zc-homepage .zc-header-menu-bars {
    width: 31px !important;
    display: grid !important;
    gap: 7px !important;
}

.zc-homepage .zc-header-menu-bars span {
    display: block !important;
    width: 31px !important;
    height: 3px !important;
    background: #fff !important;
}

.zc-homepage .zc-header-logo {
    justify-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.zc-homepage .zc-header-logo img {
    width: min(180px, 18vw) !important;
    max-height: 58px !important;
    object-fit: contain !important;
}

.zc-homepage .zc-header-actions {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 28px !important;
}

.zc-homepage .zc-header-signin,
.zc-homepage .zc-menu-nav a {
    color: #fff !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-header-signin {
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
}

.zc-homepage .zc-header-book {
    min-height: 58px !important;
    min-width: 170px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 28px !important;
    border: 1px solid var(--zc-yellow) !important;
    border-radius: 4px !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: .25s ease !important;
}

.zc-homepage .zc-header-book:hover,
.zc-homepage .zc-header-book:focus,
.zc-homepage .zc-header-signin:hover,
.zc-homepage .zc-header-signin:focus {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-header-book:hover,
.zc-homepage .zc-header-book:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
}

.zc-homepage .zc-menu-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 998 !important;
    visibility: hidden !important;
    background: rgba(2,3,4,.58) !important;
    opacity: 0 !important;
    transition: opacity .32s ease, visibility .32s ease !important;
}

.zc-homepage .zc-menu-panel {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 999 !important;
    width: min(760px, 54vw) !important;
    overflow-y: auto !important;
    visibility: hidden !important;
    padding: 38px clamp(30px, 5vw, 78px) 54px !important;
    background: var(--zc-black) !important;
    color: #fff !important;
    transform: translateX(-104%) !important;
    transition: transform .42s ease !important;
}

.zc-homepage.zc-menu-active .zc-menu-backdrop {
    visibility: visible !important;
    opacity: 1 !important;
}

.zc-homepage.zc-menu-active .zc-menu-panel {
    visibility: visible !important;
    transform: translateX(0) !important;
}

.zc-homepage .zc-menu-panel-head {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin-bottom: clamp(64px, 11vh, 132px) !important;
}

.zc-homepage .zc-menu-panel-logo img {
    width: 118px !important;
    max-height: 62px !important;
    object-fit: contain !important;
}

.zc-homepage .zc-menu-panel-book {
    justify-self: end !important;
    min-height: 58px !important;
    min-width: 150px !important;
}

.zc-homepage .zc-menu-close {
    justify-self: end !important;
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    font-size: 44px !important;
    line-height: .8 !important;
    font-weight: 300 !important;
}

.zc-homepage .zc-menu-nav {
    display: grid !important;
    gap: clamp(26px, 4.2vh, 42px) !important;
}

.zc-homepage .zc-menu-nav a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
    color: #fff !important;
    font-size: clamp(30px, 3.4vw, 48px) !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: 6px !important;
}

.zc-homepage .zc-menu-nav a[data-zc-arrow]::after {
    content: "" !important;
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
    border-right: 3px solid #fff !important;
    border-bottom: 3px solid #fff !important;
    transform: rotate(45deg) translateY(-4px) !important;
    transition: border-color .2s ease, transform .2s ease !important;
}

.zc-homepage .zc-menu-nav a:hover,
.zc-homepage .zc-menu-nav a:focus {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-menu-nav a[data-zc-arrow]:hover::after,
.zc-homepage .zc-menu-nav a[data-zc-arrow]:focus::after {
    border-color: var(--zc-yellow) !important;
    transform: rotate(45deg) translate(3px, -4px) !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-site-header {
        min-height: 82px !important;
        grid-template-columns: auto 1fr auto !important;
        padding: 0 22px !important;
    }

    .zc-homepage .zc-header-menu {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }

    .zc-homepage .zc-header-menu em {
        display: none !important;
    }

    .zc-homepage .zc-header-logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
    }

    .zc-homepage .zc-header-logo img {
        width: 120px !important;
    }

    .zc-homepage .zc-header-actions {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        margin-right: 18px !important;
    }

    .zc-homepage .zc-header-signin {
        display: none !important;
    }

    .zc-homepage .zc-header-book {
        min-width: 144px !important;
        min-height: 54px !important;
        padding: 0 22px !important;
        font-size: 13px !important;
    }

    .zc-homepage .zc-menu-panel {
        width: min(520px, 100vw) !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-site-header {
        min-height: 72px !important;
        padding: 0 14px !important;
        gap: 12px !important;
    }

    .zc-homepage .zc-header-logo img {
        width: 92px !important;
    }

    .zc-homepage .zc-header-actions {
        margin-right: 10px !important;
    }

    .zc-homepage .zc-header-book {
        min-width: 132px !important;
        min-height: 50px !important;
        padding: 0 16px !important;
        font-size: 12px !important;
        letter-spacing: 1.5px !important;
    }

    .zc-homepage .zc-header-menu-bars {
        width: 26px !important;
        gap: 6px !important;
    }

    .zc-homepage .zc-header-menu-bars span {
        width: 26px !important;
        height: 3px !important;
    }

    .zc-homepage .zc-menu-panel {
        width: 100vw !important;
        padding: 26px 24px 44px !important;
    }

    .zc-homepage .zc-menu-panel-head {
        grid-template-columns: auto 1fr auto !important;
        margin-bottom: 76px !important;
    }

    .zc-homepage .zc-menu-panel-logo img {
        width: 96px !important;
    }

    .zc-homepage .zc-menu-panel-book {
        min-width: 130px !important;
        min-height: 52px !important;
    }

    .zc-homepage .zc-menu-close {
        width: 38px !important;
        height: 38px !important;
        font-size: 38px !important;
    }

    .zc-homepage .zc-menu-nav {
        gap: 28px !important;
    }

    .zc-homepage .zc-menu-nav a {
        font-size: clamp(26px, 8vw, 34px) !important;
        line-height: 1.18 !important;
        letter-spacing: 3px !important;
    }
}

.zc-homepage .zc-header-signin:visited,
.zc-homepage .zc-menu-nav a:visited {
    color: #fff !important;
}

.zc-homepage .zc-header-book:visited {
    color: var(--zc-black) !important;
}

.zc-homepage .zc-header-book:hover,
.zc-homepage .zc-header-book:focus,
.zc-homepage .zc-menu-nav a:hover,
.zc-homepage .zc-menu-nav a:focus {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-header-book:hover,
.zc-homepage .zc-header-book:focus {
    color: #fff !important;
}

.zc-homepage .zc-site-header {
    z-index: 5000 !important;
    pointer-events: auto !important;
}

.zc-homepage .zc-header-menu,
.zc-homepage .zc-header-book,
.zc-homepage .zc-header-signin {
    position: relative !important;
    z-index: 5001 !important;
    pointer-events: auto !important;
}

.zc-homepage .zc-menu-backdrop {
    z-index: 99998 !important;
}

.zc-homepage .zc-menu-panel {
    z-index: 99999 !important;
}

.zc-homepage.zc-menu-active {
    overflow: visible !important;
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero {
        min-height: 960px !important;
        padding: 132px 0 86px !important;
        align-items: flex-start !important;
    }

    .zc-homepage .zc-hero::before {
        background:
            linear-gradient(90deg, var(--zc-black) 0%, rgba(2,3,4,.92) 32%, rgba(2,3,4,.44) 53%, rgba(2,3,4,.08) 100%),
            linear-gradient(180deg, rgba(2,3,4,.12) 0%, rgba(2,3,4,.06) 48%, rgba(2,3,4,.38) 100%) !important;
    }

    .zc-homepage .zc-hero-bg {
        left: 38% !important;
        right: 0 !important;
        background: var(--zc-black) !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 54% center !important;
        filter: brightness(.96) contrast(1.1) saturate(.98) !important;
    }

    .zc-homepage .zc-hero .zc-container {
        width: min(1500px, calc(100% - 88px)) !important;
    }

    .zc-homepage .zc-hero-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 620px) minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-items: start !important;
        gap: 0 !important;
    }

    .zc-homepage .zc-hero-text {
        grid-column: 1 !important;
        max-width: 600px !important;
        margin: 86px 0 0 !important;
        text-align: left !important;
    }

    .zc-homepage .zc-hero-label {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .zc-homepage .zc-hero-title {
        max-width: 590px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        font-size: clamp(62px, 6vw, 96px) !important;
        line-height: .98 !important;
    }

    .zc-homepage .zc-hero-description {
        max-width: 580px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        font-size: 18px !important;
        line-height: 1.72 !important;
    }

    .zc-homepage .zc-hero-buttons {
        justify-content: flex-start !important;
    }

    .zc-homepage .zc-booking-card {
        grid-column: 1 !important;
        width: min(100%, 620px) !important;
        max-width: 620px !important;
        margin: 98px 0 0 !important;
    }

    .zc-homepage #zcBookingForm {
        display: block !important;
    }

    .zc-homepage .zc-form-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .zc-homepage .zc-form-group,
    .zc-homepage .zc-form-group.full,
    .zc-homepage .zc-form-group.full:last-child,
    .zc-homepage .zc-form-group:nth-child(11) {
        grid-column: auto !important;
    }

    .zc-homepage .zc-form-group.full:last-child {
        grid-column: 1 / -1 !important;
    }

    .zc-homepage .zc-form-group.zc-location-field {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .zc-homepage button.zc-submit,
    .zc-homepage .zc-submit {
        width: 100% !important;
        max-width: none !important;
        margin-top: 14px !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero {
        min-height: auto !important;
        padding: 0 0 58px !important;
        align-items: flex-start !important;
    }

    .zc-homepage .zc-hero-bg {
        left: 0 !important;
        height: 600px !important;
        bottom: auto !important;
    }

    .zc-homepage .zc-hero::before {
        height: 600px !important;
        bottom: auto !important;
        background:
            linear-gradient(180deg, rgba(2,3,4,.08) 0%, rgba(2,3,4,.18) 48%, rgba(2,3,4,.76) 100%),
            linear-gradient(90deg, rgba(2,3,4,.46), rgba(2,3,4,.08), rgba(2,3,4,.22)) !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 60% top !important;
        filter: brightness(.98) contrast(1.08) saturate(.98) !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 620px !important;
    }

    .zc-homepage .zc-hero-text {
        max-width: 720px !important;
        margin: 28px auto 0 !important;
        text-align: center !important;
    }

    .zc-homepage .zc-hero-description {
        max-width: 720px !important;
        font-size: 18px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-site-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        padding: 0 12px !important;
        overflow: visible !important;
    }

    .zc-homepage .zc-header-logo {
        order: 1 !important;
        flex: 0 0 auto !important;
        justify-self: auto !important;
    }

    .zc-homepage .zc-header-actions {
        order: 2 !important;
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        margin-right: 8px !important;
    }

    .zc-homepage .zc-header-book {
        min-width: 112px !important;
        min-height: 48px !important;
        padding: 0 12px !important;
        font-size: 11px !important;
        letter-spacing: 1px !important;
    }

    .zc-homepage .zc-header-menu {
        order: 3 !important;
        display: inline-flex !important;
        justify-self: end !important;
        flex: 0 0 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        padding: 0 !important;
    }

    .zc-homepage .zc-header-menu-bars,
    .zc-homepage .zc-header-menu-bars span {
        width: 24px !important;
    }

    .zc-homepage .zc-hero {
        min-height: auto !important;
        padding: 0 0 42px !important;
        align-items: flex-start !important;
    }

    .zc-homepage .zc-hero-bg {
        left: 0 !important;
        height: 540px !important;
        bottom: auto !important;
    }

    .zc-homepage .zc-hero::before {
        height: 540px !important;
        bottom: auto !important;
        background:
            linear-gradient(180deg, rgba(2,3,4,.04) 0%, rgba(2,3,4,.16) 50%, rgba(2,3,4,.78) 100%),
            linear-gradient(90deg, rgba(2,3,4,.42), rgba(2,3,4,.08), rgba(2,3,4,.24)) !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 61% top !important;
        filter: brightness(.98) contrast(1.08) saturate(.98) !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 558px !important;
    }

    .zc-homepage .zc-hero-text {
        width: 100% !important;
        max-width: none !important;
        margin: 24px auto 0 !important;
        text-align: center !important;
    }

    .zc-homepage .zc-hero-title {
        font-size: 38px !important;
        line-height: 1.06 !important;
    }

    .zc-homepage .zc-hero-description {
        max-width: 100% !important;
        font-size: 16px !important;
        line-height: 1.68 !important;
    }

    .zc-homepage .zc-booking-card {
        margin-top: 36px !important;
    }
}

.zc-homepage .zc-review-head {
    margin-bottom: 0 !important;
}

.zc-homepage .zc-review-stage {
    margin-top: 14px !important;
}

.zc-homepage .zc-review-rating-line {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
}

.zc-homepage .zc-about {
    background:
        linear-gradient(135deg, rgba(246,227,10,.1), transparent 36%),
        #fff !important;
}

.zc-homepage .zc-about-grid {
    gap: 52px !important;
    align-items: center !important;
}

.zc-homepage .zc-about-content {
    border: 1px solid rgba(246,227,10,.28) !important;
    border-top: 6px solid var(--zc-yellow) !important;
    border-left: 6px solid var(--zc-red) !important;
    background:
        linear-gradient(135deg, rgba(225,12,12,.18), transparent 42%),
        var(--zc-black) !important;
    color: #fff !important;
    box-shadow: 18px 18px 0 var(--zc-yellow), 0 34px 90px rgba(2,3,4,.22) !important;
}

.zc-homepage .zc-about .zc-section-label,
.zc-homepage .zc-about .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-about .zc-heading,
.zc-homepage .zc-about .zc-description {
    color: #fff !important;
}

.zc-homepage .zc-about-image a,
.zc-homepage .zc-about-image-frame {
    box-shadow: 14px 14px 0 var(--zc-red) !important;
}

.zc-homepage .zc-about-stats .zc-stat {
    border-color: rgba(2,3,4,.12) !important;
    border-top-color: var(--zc-red) !important;
    background: #fff !important;
    color: var(--zc-black) !important;
    box-shadow: none !important;
}

.zc-homepage .zc-about-stats .zc-stat strong {
    color: var(--zc-red) !important;
}

.zc-homepage .zc-about-stats .zc-stat span {
    color: var(--zc-black) !important;
}

.zc-homepage .zc-app-grid {
    border: 1px solid rgba(246,227,10,.32) !important;
    background:
        linear-gradient(135deg, rgba(225,12,12,.18), transparent 46%),
        var(--zc-black) !important;
    box-shadow: 0 38px 100px rgba(2,3,4,.54) !important;
}

.zc-homepage .zc-app-grid > div:first-child {
    padding: clamp(42px, 5vw, 74px) !important;
}

.zc-homepage .zc-app .zc-description {
    max-width: 650px !important;
    font-size: 18px !important;
}

.zc-homepage .zc-app-phone {
    background:
        linear-gradient(135deg, var(--zc-yellow), rgba(246,227,10,.58)),
        #fff !important;
}

.zc-homepage .zc-app-phone a {
    transform: rotate(-2deg) !important;
    transition: transform .35s ease, box-shadow .35s ease !important;
}

.zc-homepage .zc-app-phone a:hover,
.zc-homepage .zc-app-phone a:focus {
    transform: rotate(0deg) translateY(-5px) !important;
}

@media (max-width: 767px) {
    .zc-homepage .zc-review-stage {
        margin-top: 14px !important;
    }

    .zc-homepage .zc-about-content {
        box-shadow: 8px 8px 0 var(--zc-yellow) !important;
    }

    .zc-homepage .zc-app .zc-description {
        font-size: 15px !important;
    }
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero {
        min-height: 900px !important;
        padding: 0 !important;
        align-items: stretch !important;
        background: var(--zc-black) !important;
    }

    .zc-homepage .zc-hero::before {
        background:
            linear-gradient(90deg, var(--zc-black) 0%, var(--zc-black) 34%, rgba(2,3,4,.76) 39%, rgba(2,3,4,.2) 52%, rgba(2,3,4,.03) 100%),
            linear-gradient(180deg, rgba(2,3,4,.02) 0%, rgba(2,3,4,.04) 54%, rgba(2,3,4,.18) 100%) !important;
    }

    .zc-homepage .zc-hero-bg {
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 33% !important;
        background: var(--zc-white) !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 56% center !important;
        background-size: cover !important;
        filter: brightness(1.03) contrast(1.08) saturate(.98) !important;
    }

    .zc-homepage .zc-hero-content {
        min-height: 900px !important;
    }

    .zc-homepage .zc-hero .zc-container {
        width: min(1440px, calc(100% - 88px)) !important;
        height: 100% !important;
        padding: 0 !important;
    }

    .zc-homepage .zc-hero-grid {
        min-height: 900px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 500px) minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-content: start !important;
        align-items: start !important;
        gap: 0 !important;
    }

    .zc-homepage .zc-hero-text {
        grid-column: 1 !important;
        max-width: 470px !important;
        margin: 148px 0 0 !important;
        text-align: left !important;
    }

    .zc-homepage .zc-hero-label {
        border: 1px solid var(--zc-yellow) !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: var(--zc-yellow) !important;
    }

    .zc-homepage .zc-hero-title {
        max-width: 470px !important;
        font-size: clamp(58px, 5.2vw, 88px) !important;
        line-height: .98 !important;
        letter-spacing: 1.5px !important;
    }

    .zc-homepage .zc-hero-description {
        max-width: 500px !important;
        font-size: 17px !important;
        line-height: 1.68 !important;
    }

    .zc-homepage .zc-booking-card {
        grid-column: 1 !important;
        width: min(100%, 500px) !important;
        max-width: 500px !important;
        margin: 70px 0 0 !important;
        padding: 22px !important;
    }

    .zc-homepage .zc-booking-card::before {
        margin: -22px -22px 18px !important;
    }

    .zc-homepage .zc-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 12px !important;
    }

    .zc-homepage .zc-form-group input,
    .zc-homepage .zc-form-group select,
    .zc-homepage .zc-form-group textarea {
        min-height: 42px !important;
        font-size: 12px !important;
    }
}

.zc-homepage .zc-reviews {
    padding-bottom: 44px !important;
}

.zc-homepage .zc-faq {
    padding-top: 44px !important;
}

@media (max-width: 767px) {
    .zc-homepage .zc-reviews {
        padding-bottom: 32px !important;
    }

    .zc-homepage .zc-faq {
        padding-top: 32px !important;
    }
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero {
        min-height: 860px !important;
        background:
            linear-gradient(135deg, rgba(246,227,10,.22), #fff 35%, #fff 42%, var(--zc-black) 42%) !important;
    }

    .zc-homepage .zc-hero::before {
        background:
            linear-gradient(90deg, #fff 0%, #fff 38%, rgba(255,255,255,.88) 46%, rgba(255,255,255,.16) 58%, rgba(255,255,255,0) 68%),
            linear-gradient(180deg, rgba(2,3,4,.01) 0%, rgba(2,3,4,.04) 64%, rgba(2,3,4,.16) 100%) !important;
    }

    .zc-homepage .zc-hero-bg {
        left: clamp(540px, 41vw, 720px) !important;
        background: #fff !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 57% center !important;
        filter: brightness(1.07) contrast(1.06) saturate(1) !important;
    }

    .zc-homepage .zc-hero-content,
    .zc-homepage .zc-hero-grid {
        min-height: 860px !important;
    }

    .zc-homepage .zc-hero-grid {
        grid-template-columns: minmax(0, 480px) minmax(0, 1fr) !important;
    }

    .zc-homepage .zc-hero-text {
        max-width: 455px !important;
        margin-top: 132px !important;
        color: var(--zc-black) !important;
    }

    .zc-homepage .zc-hero-label {
        border: 1px solid var(--zc-black) !important;
        background: var(--zc-yellow) !important;
        color: var(--zc-black) !important;
    }

    .zc-homepage .zc-hero-title {
        max-width: 455px !important;
        color: var(--zc-black) !important;
        font-size: clamp(54px, 4.9vw, 82px) !important;
        text-shadow: none !important;
    }

    .zc-homepage .zc-hero-title span {
        color: var(--zc-red) !important;
    }

    .zc-homepage .zc-hero-description {
        max-width: 455px !important;
        color: var(--zc-black) !important;
        font-size: 18px !important;
        line-height: 1.65 !important;
        text-shadow: none !important;
    }

    .zc-homepage .zc-booking-card {
        width: min(100%, 460px) !important;
        max-width: 460px !important;
        margin-top: 52px !important;
        border: 1px solid rgba(2,3,4,.18) !important;
        background:
            linear-gradient(135deg, rgba(246,227,10,.18), rgba(255,255,255,.9) 36%, rgba(255,255,255,.76)),
            rgba(255,255,255,.88) !important;
        color: var(--zc-black) !important;
        box-shadow: 12px 12px 0 var(--zc-yellow), 0 26px 70px rgba(2,3,4,.18) !important;
        -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
        backdrop-filter: blur(14px) saturate(1.12) !important;
    }

    .zc-homepage .zc-booking-title,
    .zc-homepage .zc-booking-subtitle,
    .zc-homepage .zc-form-group label {
        color: var(--zc-black) !important;
    }

    .zc-homepage .zc-form-group input,
    .zc-homepage .zc-form-group select,
    .zc-homepage .zc-form-group textarea {
        border-color: rgba(2,3,4,.24) !important;
        background: rgba(255,255,255,.86) !important;
        color: var(--zc-black) !important;
    }

    .zc-homepage .zc-form-group input::placeholder,
    .zc-homepage .zc-form-group textarea::placeholder {
        color: rgba(2,3,4,.58) !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero {
        background: #fff !important;
        color: var(--zc-black) !important;
    }

    .zc-homepage .zc-hero-bg,
    .zc-homepage .zc-hero::before {
        height: 470px !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 60% top !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 492px !important;
    }

    .zc-homepage .zc-hero-title {
        color: var(--zc-black) !important;
        text-shadow: none !important;
    }

    .zc-homepage .zc-hero-title span {
        color: var(--zc-red) !important;
    }

    .zc-homepage .zc-hero-description {
        color: var(--zc-black) !important;
        text-shadow: none !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero {
        background: #fff !important;
        color: var(--zc-black) !important;
    }

    .zc-homepage .zc-hero-bg,
    .zc-homepage .zc-hero::before {
        height: 370px !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 60% top !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 392px !important;
    }

    .zc-homepage .zc-hero-title {
        color: var(--zc-black) !important;
        text-shadow: none !important;
    }

    .zc-homepage .zc-hero-title span {
        color: var(--zc-red) !important;
    }

    .zc-homepage .zc-hero-description {
        color: var(--zc-black) !important;
        text-shadow: none !important;
    }
}

.zc-homepage .zc-service-overlay p,
.zc-homepage .zc-services .zc-description {
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    opacity: 1 !important;
}

.zc-homepage .zc-hero-buttons .zc-btn-dark,
.zc-homepage .zc-hero-buttons .zc-btn-dark:visited {
    display: inline-flex !important;
    border-color: var(--zc-black) !important;
    background: var(--zc-black) !important;
    color: #fff !important;
}

.zc-homepage .zc-booking-card {
    border: 1px solid rgba(2,3,4,.18) !important;
    background:
        linear-gradient(135deg, rgba(246,227,10,.18), rgba(255,255,255,.9) 36%, rgba(255,255,255,.76)),
        rgba(255,255,255,.9) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-booking-title,
.zc-homepage .zc-booking-subtitle,
.zc-homepage .zc-form-group label {
    color: var(--zc-black) !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    border-color: rgba(2,3,4,.24) !important;
    background: rgba(255,255,255,.88) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-form-group input::placeholder,
.zc-homepage .zc-form-group textarea::placeholder {
    color: rgba(2,3,4,.58) !important;
}

.zc-homepage .zc-reviews {
    padding-bottom: 26px !important;
}

.zc-homepage .zc-faq {
    padding-top: 26px !important;
}

@media (max-width: 767px) {
    .zc-homepage .zc-service-overlay p,
    .zc-homepage .zc-services .zc-description {
        font-size: 16px !important;
        line-height: 1.68 !important;
    }

    .zc-homepage .zc-reviews {
        padding-bottom: 22px !important;
    }

    .zc-homepage .zc-faq {
        padding-top: 22px !important;
    }
}

.zc-homepage .zc-about {
    position: relative !important;
    isolation: isolate !important;
    padding: 116px 0 !important;
    background: #f7f6f2 !important;
    overflow: hidden !important;
}

.zc-homepage .zc-about::before {
    content: "" !important;
    position: absolute !important;
    top: -240px !important;
    right: -220px !important;
    z-index: -1 !important;
    width: 560px !important;
    height: 560px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(246,227,10,.3), rgba(246,227,10,0) 70%) !important;
    pointer-events: none !important;
}

.zc-homepage .zc-about::after {
    content: "" !important;
    position: absolute !important;
    bottom: -260px !important;
    left: -220px !important;
    z-index: -1 !important;
    width: 520px !important;
    height: 520px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(225,12,12,.12), rgba(225,12,12,0) 70%) !important;
    pointer-events: none !important;
}

.zc-homepage .zc-about-grid {
    grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr) !important;
    gap: 76px !important;
    align-items: center !important;
}

.zc-homepage .zc-about-image {
    position: relative !important;
    isolation: isolate !important;
}

.zc-homepage .zc-about-image::before,
.zc-homepage .zc-about-image::after {
    display: none !important;
}

.zc-homepage .zc-about-image a,
.zc-homepage .zc-about-image-frame {
    display: block !important;
    height: 100% !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: var(--zc-black) !important;
    box-shadow: 0 44px 90px -32px rgba(2,3,4,.42) !important;
}

.zc-homepage .zc-about-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    object-fit: cover !important;
    filter: brightness(.98) contrast(1.06) saturate(1.02) !important;
    transform: scale(1) !important;
    transition: transform .6s ease !important;
}

.zc-homepage .zc-about-image a:hover img {
    transform: scale(1.045) !important;
}

.zc-homepage .zc-about-badge {
    position: absolute !important;
    right: -22px !important;
    bottom: -26px !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 20px 26px !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 24px 56px -18px rgba(2,3,4,.34) !important;
}

.zc-homepage .zc-about-badge strong {
    color: var(--zc-red) !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

.zc-homepage .zc-about-badge span {
    color: var(--zc-black) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: .3px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-about-content {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-about .zc-section-label {
    color: var(--zc-red) !important;
}

.zc-homepage .zc-about .zc-heading,
.zc-homepage .zc-about .zc-description {
    color: var(--zc-black) !important;
}

.zc-homepage .zc-about .zc-heading span {
    color: var(--zc-red) !important;
}

.zc-homepage .zc-about .zc-description {
    max-width: 560px !important;
    margin: 20px 0 0 !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    opacity: .82 !important;
}

.zc-homepage .zc-about .zc-description + .zc-description {
    margin-top: 12px !important;
}

.zc-homepage .zc-about-features {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 24px !important;
    margin: 34px 0 36px !important;
    padding: 0 !important;
}

.zc-homepage .zc-feature-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    color: var(--zc-black) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
}

.zc-homepage .zc-feature-icon {
    flex: 0 0 26px !important;
    width: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 1px !important;
    border-radius: 50% !important;
    background: var(--zc-black) !important;
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-feature-icon svg {
    width: 13px !important;
    height: 13px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.zc-homepage .zc-about-cta,
.zc-homepage .zc-about-cta:visited {
    display: inline-flex !important;
    border-radius: 8px !important;
    border-color: var(--zc-black) !important;
}

.zc-homepage .zc-about-cta:hover,
.zc-homepage .zc-about-cta:focus {
    border-color: var(--zc-red) !important;
}

.zc-homepage .zc-app {
    position: relative !important;
    isolation: isolate !important;
    padding: 112px 0 !important;
    background:
        radial-gradient(1100px 520px at 12% -10%, rgba(246,227,10,.09), transparent 60%),
        radial-gradient(900px 520px at 105% 105%, rgba(225,12,12,.16), transparent 60%),
        var(--zc-black) !important;
    overflow: hidden !important;
}

.zc-homepage .zc-app::before {
    display: none !important;
}

.zc-homepage .zc-app-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .8fr) !important;
    align-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 24px !important;
    background: linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.015)) !important;
    box-shadow: 0 54px 120px -42px rgba(2,3,4,.72) !important;
    overflow: hidden !important;
}

.zc-homepage .zc-app-grid::before,
.zc-homepage .zc-app-grid::after {
    display: none !important;
}

.zc-homepage .zc-app-grid > div:first-child {
    min-height: 0 !important;
    padding: 66px 60px !important;
    background: transparent !important;
}

.zc-homepage .zc-app .zc-section-label {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-app .zc-heading {
    max-width: 520px !important;
    color: #fff !important;
    font-size: clamp(34px, 3.4vw, 48px) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    font-weight: 700 !important;
}

.zc-homepage .zc-app .zc-heading span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-app .zc-description {
    max-width: 480px !important;
    margin: 20px 0 22px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    opacity: 1 !important;
}

.zc-homepage .zc-app-rating {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 26px !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.zc-homepage .zc-app-rating-stars {
    color: var(--zc-yellow) !important;
    font-size: 15px !important;
    letter-spacing: 1px !important;
}

.zc-homepage .zc-app-highlights {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 34px !important;
}

.zc-homepage .zc-app-highlights span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 15px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.85) !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

.zc-homepage .zc-app-buttons {
    display: flex !important;
    gap: 14px !important;
}

.zc-homepage .zc-app .zc-btn {
    min-height: 56px !important;
    padding: 0 26px !important;
    border-radius: 12px !important;
}

.zc-homepage .zc-app .zc-btn-primary,
.zc-homepage .zc-app .zc-btn-primary:visited {
    border: 1px solid #fff !important;
    background: #fff !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-app .zc-btn-dark,
.zc-homepage .zc-app .zc-btn-dark:visited {
    border: 1px solid rgba(255,255,255,.28) !important;
    background: transparent !important;
    color: #fff !important;
}

.zc-homepage .zc-app .zc-btn-primary:hover,
.zc-homepage .zc-app .zc-btn-primary:focus,
.zc-homepage .zc-app .zc-btn-dark:hover,
.zc-homepage .zc-app .zc-btn-dark:focus {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

.zc-homepage .zc-app-phone {
    position: relative !important;
    min-height: 560px !important;
    padding: 50px !important;
    background: transparent !important;
}

.zc-homepage .zc-app-phone::before {
    content: "" !important;
    position: absolute !important;
    inset: 30px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(246,227,10,.22), rgba(246,227,10,0) 68%) !important;
    transform: none !important;
    filter: blur(4px) !important;
}

.zc-homepage .zc-app-phone a {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: transform .35s ease !important;
}

.zc-homepage .zc-app-phone a:hover,
.zc-homepage .zc-app-phone a:focus {
    box-shadow: none !important;
    transform: translateY(-8px) !important;
}

.zc-homepage .zc-app-phone img {
    filter: drop-shadow(0 44px 64px rgba(2,3,4,.55)) !important;
}

.zc-homepage .zc-app-toast {
    position: absolute !important;
    left: 6% !important;
    bottom: 16% !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    max-width: 220px !important;
    padding: 13px 16px !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 24px 50px -16px rgba(2,3,4,.5) !important;
    animation: zc-float 4.8s ease-in-out infinite !important;
}

.zc-homepage .zc-app-toast-icon {
    flex: 0 0 30px !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-app-toast-icon svg {
    width: 15px !important;
    height: 15px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 3 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.zc-homepage .zc-app-toast-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.zc-homepage .zc-app-toast-text strong {
    color: var(--zc-black) !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

.zc-homepage .zc-app-toast-text em {
    color: rgba(2,3,4,.58) !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

@media (min-width: 768px) and (max-width: 1100px) {

    .zc-homepage .zc-about-grid {
        grid-template-columns: 1fr !important;
        gap: 46px !important;
    }

    .zc-homepage .zc-about-image img {
        min-height: 440px !important;
    }

    .zc-homepage .zc-about-content {
        max-width: 720px !important;
    }

    .zc-homepage .zc-app-grid {
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-app-grid > div:first-child {
        padding: 52px !important;
    }

    .zc-homepage .zc-app .zc-heading,
    .zc-homepage .zc-app .zc-description {
        max-width: 620px !important;
    }

    .zc-homepage .zc-app-phone {
        min-height: 420px !important;
    }
}

@media (max-width: 767px) {

    .zc-homepage .zc-about {
        padding: 60px 0 66px !important;
    }

    .zc-homepage .zc-about::before,
    .zc-homepage .zc-about::after {
        width: 320px !important;
        height: 320px !important;
    }

    .zc-homepage .zc-about-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .zc-homepage .zc-about-image img {
        min-height: 300px !important;
        height: 300px !important;
    }

    .zc-homepage .zc-about-image a,
    .zc-homepage .zc-about-image-frame {
        border-radius: 16px !important;
    }

    .zc-homepage .zc-about-badge {
        right: 14px !important;
        bottom: -20px !important;
        padding: 14px 18px !important;
        border-radius: 12px !important;
        gap: 10px !important;
    }

    .zc-homepage .zc-about-badge strong {
        font-size: 24px !important;
    }

    .zc-homepage .zc-about-badge span {
        font-size: 9.5px !important;
    }

    .zc-homepage .zc-about-content {
        margin-top: 8px !important;
    }

    .zc-homepage .zc-about .zc-description {
        max-width: none !important;
        font-size: 14px !important;
        line-height: 1.75 !important;
    }

    .zc-homepage .zc-about-features {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        margin: 26px 0 28px !important;
    }

    .zc-homepage .zc-about-cta {
        width: 100% !important;
    }

    .zc-homepage .zc-app {
        padding: 52px 0 58px !important;
    }

    .zc-homepage .zc-app-grid {
        grid-template-columns: 1fr !important;
        border-radius: 18px !important;
    }

    .zc-homepage .zc-app-grid > div:first-child {
        padding: 34px 20px !important;
    }

    .zc-homepage .zc-app .zc-heading {
        max-width: none !important;
        font-size: 30px !important;
        line-height: 1.16 !important;
    }

    .zc-homepage .zc-app .zc-description {
        max-width: none !important;
        font-size: 15px !important;
    }

    .zc-homepage .zc-app-rating {
        margin-bottom: 20px !important;
    }

    .zc-homepage .zc-app-highlights {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .zc-homepage .zc-app-buttons {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .zc-homepage .zc-app-highlights span {
        width: 100% !important;
        justify-content: center !important;
    }

    .zc-homepage .zc-app-buttons .zc-btn {
        width: auto !important;
        min-width: min(210px, 100%) !important;
        max-width: 100% !important;
        min-height: 46px !important;
        padding: 0 18px !important;
        font-size: 12px !important;
        letter-spacing: 1px !important;
        justify-content: center !important;
    }

    .zc-homepage .zc-app-buttons .zc-btn svg,
    .zc-homepage .zc-app-buttons .zc-btn img {
        display: block !important;
        flex: 0 0 22px !important;
        width: 22px !important;
        height: 22px !important;
        max-width: 22px !important;
        max-height: 22px !important;
        object-fit: contain !important;
    }

    .zc-homepage .zc-app-phone {
        min-height: 0 !important;
        padding: 30px 18px 40px !important;
    }

    .zc-homepage .zc-app-phone::before {
        inset: 16px !important;
    }

    .zc-homepage .zc-app-phone img {
        width: min(255px, 100%) !important;
        max-height: 370px !important;
    }

    .zc-homepage .zc-app-toast {
        left: 50% !important;
        bottom: auto !important;
        top: 8px !important;
        transform: translateX(-50%) !important;
        max-width: none !important;
        width: calc(100% - 60px) !important;
        animation: none !important;
    }
}

.zc-homepage .zc-site-header {
    position: fixed !important;
    background: linear-gradient(180deg, rgba(2,3,4,.78), rgba(2,3,4,.1)) !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    transition: background .3s ease, box-shadow .3s ease, border-color .3s ease !important;
}

.zc-homepage .zc-site-header.zc-header-scrolled {
    background: rgba(2,3,4,.94) !important;
    border-bottom-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 14px 34px rgba(2,3,4,.35) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
}

.zc-homepage .zc-hero {
    background: var(--zc-black) !important;
    padding-bottom: 70px !important;
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero {
        padding-bottom: 90px !important;
    }
}

.zc-homepage .zc-hero::before {
    background: linear-gradient(90deg, rgba(2,3,4,.72) 0%, rgba(2,3,4,.56) 38%, rgba(2,3,4,.22) 62%, rgba(2,3,4,0) 82%) !important;
}

.zc-homepage .zc-hero-bg {
    left: 0 !important;
    background: var(--zc-black) !important;
}

.zc-homepage .zc-hero-bg-slide,
.zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
    background-position: center center !important;
    filter: brightness(1.05) contrast(1.02) saturate(1.05) !important;
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero::before {
        background: linear-gradient(90deg, rgba(2,3,4,.78) 0%, rgba(2,3,4,.60) 40%, rgba(2,3,4,.24) 64%, rgba(2,3,4,0) 84%) !important;
    }

    .zc-homepage .zc-hero-bg-slide,
    .zc-homepage .zc-hero-bg:not(.is-js-ready) .zc-hero-bg-slide {
        background-position: 20% center !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-hero-bg,
    .zc-homepage .zc-hero::before {
        top: 30px !important;
        height: 340px !important;
    }

    .zc-homepage .zc-hero::before {
        background: linear-gradient(90deg, rgba(2,3,4,.42) 0%, rgba(2,3,4,.24) 56%, rgba(2,3,4,0) 84%) !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 392px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero-bg,
    .zc-homepage .zc-hero::before {
        top: 24px !important;
        height: 250px !important;
    }

    .zc-homepage .zc-hero::before {
        background: linear-gradient(90deg, rgba(2,3,4,.36) 0%, rgba(2,3,4,.20) 56%, rgba(2,3,4,0) 84%) !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 296px !important;
    }
}

.zc-homepage .zc-hero-text,
.zc-homepage .zc-hero-title,
.zc-homepage .zc-hero-title *,
.zc-homepage .zc-hero-description {
    color: #fff !important;
    text-shadow: 0 6px 22px rgba(2,3,4,.6) !important;
}

.zc-homepage .zc-hero-title span {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-hero-label {
    border-color: var(--zc-yellow) !important;
    background: rgba(246,227,10,.14) !important;
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-hero-buttons .zc-btn-dark,
.zc-homepage .zc-hero-buttons .zc-btn-dark:visited {
    border-color: rgba(255,255,255,.55) !important;
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
}

.zc-homepage .zc-hero-buttons .zc-btn-dark:hover,
.zc-homepage .zc-hero-buttons .zc-btn-dark:focus {
    border-color: var(--zc-yellow) !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
}

.zc-homepage .zc-booking-card {
    border: 1px solid rgba(255,255,255,.22) !important;
    background:
        linear-gradient(150deg, rgba(255,255,255,.14), rgba(255,255,255,.04)),
        rgba(2,3,4,.62) !important;
    color: #fff !important;
    box-shadow: 0 34px 80px -22px rgba(2,3,4,.6) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
}

.zc-homepage .zc-booking-title,
.zc-homepage .zc-booking-subtitle,
.zc-homepage .zc-form-group label {
    color: #fff !important;
}

.zc-homepage .zc-form-group input,
.zc-homepage .zc-form-group select,
.zc-homepage .zc-form-group textarea {
    border-color: rgba(255,255,255,.28) !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}

.zc-homepage .zc-form-group select option {
    background: var(--zc-black) !important;
    color: #fff !important;
}

.zc-homepage .zc-form-group input::placeholder,
.zc-homepage .zc-form-group textarea::placeholder {
    color: rgba(255,255,255,.62) !important;
}

.zc-homepage .zc-form-group input:hover,
.zc-homepage .zc-form-group select:hover,
.zc-homepage .zc-form-group textarea:hover,
.zc-homepage .zc-form-group input:focus,
.zc-homepage .zc-form-group select:focus,
.zc-homepage .zc-form-group textarea:focus {
    border-color: var(--zc-red) !important;
    background: rgba(2,3,4,.46) !important;
    box-shadow: none !important;
}

.zc-homepage .zc-menu-nav {
    gap: clamp(18px, 2.6vh, 26px) !important;
}

.zc-homepage .zc-menu-nav a {
    font-size: clamp(20px, 1.8vw, 27px) !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
}

.zc-homepage .zc-menu-nav a[data-zc-arrow]::after {
    display: none !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-menu-nav a {
        font-size: clamp(19px, 5vw, 24px) !important;
        letter-spacing: 1px !important;
    }
}

.zc-homepage .zc-btn,
.zc-homepage .zc-service-btn,
.zc-homepage .zc-submit,
.zc-homepage .zc-business-tag,
.zc-homepage .zc-write-review,
.zc-homepage .zc-review-link,
.zc-homepage .zc-header-book {
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.zc-homepage .zc-description {
    font-size: 18px !important;
    line-height: 1.85 !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-description {
        font-size: 17px !important;
        line-height: 1.8 !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-btn,
    .zc-homepage .zc-service-btn,
    .zc-homepage .zc-submit,
    .zc-homepage .zc-business-tag,
    .zc-homepage .zc-write-review,
    .zc-homepage .zc-review-link,
    .zc-homepage .zc-header-book {
        font-size: 13px !important;
        letter-spacing: 1.5px !important;
    }

    .zc-homepage .zc-description {
        font-size: 16px !important;
        line-height: 1.75 !important;
    }
}

.zc-homepage .zc-airport-badge {
    position: absolute;
    top: 120px;
    right: clamp(20px, 4vw, 56px);
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 8px;
    background: linear-gradient(160deg, #1852d6, #0a2d85);
    box-shadow: 0 16px 34px -10px rgba(2,3,4,.65);
}

.zc-homepage .zc-airport-badge-icon svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    transform: rotate(45deg);
    display: block;
}

.zc-homepage .zc-airport-badge-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.zc-homepage .zc-airport-badge-text strong {
    color: #fff;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.zc-homepage .zc-airport-badge-text em {
    color: var(--zc-yellow);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .3px;
    text-transform: uppercase;
    font-style: normal;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-airport-badge {
        top: 96px;
        padding: 9px 13px;
        gap: 8px;
    }

    .zc-homepage .zc-airport-badge-icon svg {
        width: 17px;
        height: 17px;
    }

    .zc-homepage .zc-airport-badge-text strong {
        font-size: 9px;
    }

    .zc-homepage .zc-airport-badge-text em {
        font-size: 10px;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-airport-badge {
        top: 86px;
        right: 14px;
        padding: 8px 11px;
        border-radius: 6px;
    }

    .zc-homepage .zc-airport-badge-icon svg {
        width: 15px;
        height: 15px;
    }

    .zc-homepage .zc-airport-badge-text strong {
        font-size: 8px;
    }

    .zc-homepage .zc-airport-badge-text em {
        font-size: 9px;
    }
}

.zc-homepage .zc-site-header {
    position: fixed !important;
    min-height: 118px !important;
    padding: 0 clamp(28px, 4.5vw, 64px) !important;
    background: linear-gradient(180deg, rgba(2,3,4,.7) 0%, rgba(2,3,4,.42) 60%, rgba(2,3,4,0) 100%) !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
    transition: background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease, min-height .35s ease !important;
}

.zc-homepage .zc-site-header::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow)) !important;
    opacity: 0 !important;
    transition: opacity .35s ease !important;
}

.zc-homepage .zc-site-header.zc-header-scrolled {
    min-height: 92px !important;
    background: rgba(2,3,4,.95) !important;
    box-shadow: 0 18px 40px rgba(2,3,4,.4) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
}

.zc-homepage .zc-site-header.zc-header-scrolled::after {
    opacity: 1 !important;
}

.zc-homepage .zc-header-logo img {
    width: min(232px, 19vw) !important;
    max-height: 78px !important;
    transition: max-height .35s ease !important;
}

.zc-homepage .zc-header-scrolled .zc-header-logo img {
    max-height: 62px !important;
}

.zc-homepage .zc-header-book {
    min-height: 58px !important;
    min-width: 174px !important;
    padding: 0 36px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #fff4a3, var(--zc-yellow) 55%, #f0d400) !important;
    color: var(--zc-black) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 1.6px !important;
    box-shadow: 0 14px 30px -8px rgba(246,227,10,.55), 0 3px 8px rgba(2,3,4,.28) !important;
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease !important;
}

.zc-homepage .zc-header-book:hover,
.zc-homepage .zc-header-book:focus {
    background: linear-gradient(135deg, var(--zc-red), #b40909) !important;
    color: #fff !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 36px -8px rgba(225,12,12,.55), 0 4px 10px rgba(2,3,4,.32) !important;
}

.zc-homepage .zc-header-menu-bars {
    gap: 6px !important;
}

.zc-homepage .zc-header-menu-bars span {
    border-radius: 2px !important;
}

.zc-homepage .zc-header-menu {
    letter-spacing: 2.5px !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-site-header {
        min-height: 96px !important;
    }

    .zc-homepage .zc-site-header.zc-header-scrolled {
        min-height: 80px !important;
    }

    .zc-homepage .zc-header-logo img {
        width: min(168px, 30vw) !important;
        max-height: 62px !important;
    }

    .zc-homepage .zc-header-scrolled .zc-header-logo img {
        max-height: 50px !important;
    }

    .zc-homepage .zc-header-book {
        min-height: 50px !important;
        padding: 0 24px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-site-header {
        min-height: 84px !important;
        padding: 0 16px !important;
    }

    .zc-homepage .zc-site-header.zc-header-scrolled {
        min-height: 70px !important;
    }

    .zc-homepage .zc-header-logo img {
        width: 130px !important;
        max-height: 50px !important;
    }

    .zc-homepage .zc-header-scrolled .zc-header-logo img {
        max-height: 42px !important;
    }

    .zc-homepage .zc-header-book {
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 0 16px !important;
        font-size: 10px !important;
        letter-spacing: 1px !important;
        white-space: nowrap !important;
    }
}

.zc-homepage .zc-airport-badge {
    top: 180px !important;
    padding: 13px 18px !important;
    gap: 12px !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-airport-badge {
        position: absolute !important;
        top: 384px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        padding: 10px 14px !important;
        gap: 9px !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 414px !important;
    }

    .zc-homepage .zc-hero-label {
        margin-top: 32px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-airport-badge {
        position: absolute !important;
        top: 288px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        padding: 9px 12px !important;
        gap: 8px !important;
    }

    .zc-homepage .zc-hero-content {
        padding-top: 332px !important;
    }

    .zc-homepage .zc-hero-label {
        margin-top: 18px !important;
    }
}

.zc-homepage .zc-menu-panel-head {
    grid-template-columns: auto 1fr !important;
}

@media (min-width: 1101px) {
    .zc-homepage .zc-hero-label {
        margin-top: 60px !important;
    }
}

.zc-homepage .zc-site-header::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 1px !important;
    background: rgba(255,255,255,.16) !important;
    pointer-events: none !important;
}

.zc-homepage .zc-header-logo {
    transition: transform .3s ease !important;
}

.zc-homepage .zc-header-logo:hover {
    transform: scale(1.045) !important;
}

.zc-homepage .zc-header-menu-bars span {
    transition: background .25s ease !important;
}

.zc-homepage .zc-header-menu:hover .zc-header-menu-bars span {
    background: var(--zc-yellow) !important;
}

.zc-homepage .zc-header-menu:hover em {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-header-menu em {
    transition: color .25s ease !important;
}

.zc-homepage .zc-header-book {
    gap: 9px !important;
}

.zc-homepage .zc-header-book::after {
    content: "→" !important;
    display: inline-block !important;
    font-size: 15px !important;
    line-height: 1 !important;
    transition: transform .3s ease !important;
}

.zc-homepage .zc-header-book:hover::after,
.zc-homepage .zc-header-book:focus::after {
    transform: translateX(4px) !important;
}

@media (max-width: 767px) {
    .zc-homepage .zc-header-book {
        min-height: 36px !important;
        padding: 0 13px !important;
        font-size: 11px !important;
        letter-spacing: .6px !important;
        gap: 5px !important;
    }

    .zc-homepage .zc-header-book::after {
        font-size: 10px !important;
    }

    .zc-homepage .zc-header-menu-bars {
        width: 20px !important;
        gap: 5px !important;
    }

    .zc-homepage .zc-header-menu-bars span {
        width: 20px !important;
        height: 2px !important;
    }
}

@media (max-width: 767px) {
    .zc-elementor-mobile-height-fix {
        --min-height: 0px !important;
        display: block !important;
        min-height: 0 !important;
        min-block-size: 0 !important;
        height: 2000px !important;
        block-size: 2000px !important;
        max-height: none !important;
        max-block-size: none !important;
        margin-bottom: 0 !important;
        margin-block-end: 0 !important;
        padding-bottom: 0 !important;
        padding-block-end: 0 !important;
        overflow: visible !important;
    }

    .elementor-widget-html.zc-elementor-mobile-height-fix,
    .elementor-widget-container.zc-elementor-mobile-height-fix,
    .e-con.zc-elementor-mobile-height-fix,
    .elementor-section.zc-elementor-mobile-height-fix,
    .elementor-container.zc-elementor-mobile-height-fix,
    .elementor-column.zc-elementor-mobile-height-fix,
    .elementor-widget-wrap.zc-elementor-mobile-height-fix,
    .elementor-top-section.zc-elementor-mobile-height-fix {
        min-height: 0 !important;
        min-block-size: 0 !important;
        height: 2000px !important;
        block-size: 2000px !important;
        max-height: none !important;
        max-block-size: none !important;
        margin-bottom: 0 !important;
        margin-block-end: 0 !important;
        padding-bottom: 0 !important;
        padding-block-end: 0 !important;
        overflow: visible !important;
    }

    .elementor-widget-html.zc-elementor-mobile-height-fix {
        align-self: auto !important;
        flex: 0 1 auto !important;
    }

    .elementor-widget-html.zc-elementor-mobile-height-fix > .elementor-widget-container,
    .elementor-widget-html.zc-elementor-mobile-height-fix .zc-homepage {
        --min-height: 0px !important;
        display: flow-root !important;
        min-height: 0 !important;
        min-block-size: 0 !important;
        height: auto !important;
        block-size: auto !important;
        max-height: none !important;
        max-block-size: none !important;
        margin-bottom: 0 !important;
        margin-block-end: 0 !important;
        padding-bottom: 0 !important;
        padding-block-end: 0 !important;
    }
}

.zc-homepage .zc-airport-badge {
    border-radius: 999px !important;
    padding: 12px 22px 12px 18px !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .zc-homepage .zc-airport-badge {
        padding: 10px 20px 10px 16px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-airport-badge {
        padding: 9px 18px 9px 14px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-hero-label {
        margin-top: 80px !important;
    }

    .zc-homepage .zc-airport-badge {
        top: 335px !important;
    }

    .zc-homepage .zc-hero-bg,
    .zc-homepage .zc-hero::before {
        top: 15px !important;
        height: 340px !important;
    }
}

.zc-homepage .zc-airport-badge {
    position: absolute;
    border: 2px solid rgba(255,255,255,.55) !important;
    background: linear-gradient(160deg, #2f6fff, #0a2d85 65%, #071f5c) !important;
    box-shadow:
        0 20px 44px -10px rgba(10,45,133,.7),
        0 0 0 4px rgba(255,255,255,.08),
        inset 0 1px 0 rgba(255,255,255,.4) !important;
}

.zc-homepage .zc-airport-badge::after {
    content: "✓" !important;
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    width: 22px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    border: 2px solid #fff !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 6px 14px rgba(2,3,4,.4) !important;
}

.zc-homepage .zc-airport-badge-text strong,
.zc-homepage .zc-airport-badge-text em {
    font-weight: 900 !important;
    letter-spacing: .5px !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-airport-badge::after {
        top: -6px !important;
        right: -6px !important;
        width: 18px !important;
        height: 18px !important;
        font-size: 10px !important;
        border-width: 1.5px !important;
    }
}

/* ================================================
   FINAL AIRPORT LABEL + PARTNER MARQUEE FIX
================================================ */

.zc-homepage .zc-airport-badge {
    overflow: visible !important;
    border: 1px solid rgba(2,3,4,.2) !important;
    border-radius: 4px 14px 14px 4px !important;
    background:
        linear-gradient(90deg, var(--zc-yellow) 0 6px, transparent 6px),
        linear-gradient(135deg, #fff 0%, #fff 58%, rgba(246,227,10,.34) 100%) !important;
    box-shadow:
        0 18px 42px rgba(2,3,4,.18),
        inset 0 -4px 0 var(--zc-red) !important;
    color: var(--zc-black) !important;
    gap: 18px !important;
    padding: 19px 28px 17px 22px !important;
}

.zc-homepage .zc-airport-badge::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: -7px !important;
    z-index: -1 !important;
    width: 14px !important;
    height: 14px !important;
    border: 1px solid rgba(2,3,4,.2) !important;
    border-left: 0 !important;
    border-bottom: 0 !important;
    background: #fff !important;
    transform: translateY(-50%) rotate(45deg) !important;
}

.zc-homepage .zc-airport-badge::after {
    content: "OFFICIAL PARTNER" !important;
    top: -13px !important;
    right: auto !important;
    bottom: auto !important;
    left: 18px !important;
    width: auto !important;
    height: 26px !important;
    padding: 0 13px !important;
    border: 1px solid var(--zc-black) !important;
    border-radius: 4px !important;
    background: var(--zc-black) !important;
    color: var(--zc-yellow) !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    letter-spacing: .9px !important;
    box-shadow: 3px 3px 0 var(--zc-red) !important;
}

.zc-homepage .zc-airport-badge-icon {
    width: 50px !important;
    height: 50px !important;
    display: grid !important;
    place-items: center !important;
    border: 2px solid var(--zc-black) !important;
    border-radius: 50% !important;
    background: var(--zc-yellow) !important;
    box-shadow: 4px 4px 0 var(--zc-red) !important;
}

.zc-homepage .zc-airport-badge-icon svg {
    width: 25px !important;
    height: 25px !important;
    fill: var(--zc-black) !important;
}

.zc-homepage .zc-airport-badge-text {
    padding-left: 17px !important;
    border-left: 1px dashed rgba(2,3,4,.32) !important;
}

.zc-homepage .zc-airport-badge-text strong {
    color: var(--zc-black) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .75px !important;
}

.zc-homepage .zc-airport-badge-text em {
    color: var(--zc-red) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
}

.zc-homepage .zc-partner-track {
    --zc-partner-distance: 2100px;
    --zc-partner-speed: 30s;
    gap: 0 !important;
    animation: zc-partners-marquee var(--zc-partner-speed) linear infinite !important;
    transform: translate3d(0,0,0);
}

.zc-homepage .zc-partner-slider:hover .zc-partner-track {
    animation-play-state: running !important;
}

.zc-homepage .zc-partner-set {
    flex: 0 0 auto !important;
    min-width: max-content !important;
}

@keyframes zc-partners-marquee {
    from {
        transform: translate3d(0,0,0);
    }

    to {
        transform: translate3d(calc(0px - var(--zc-partner-distance)),0,0);
    }
}

@media (max-width: 1100px) {
    .zc-homepage .zc-airport-badge {
        gap: 14px !important;
        padding: 16px 22px 14px 18px !important;
    }

    .zc-homepage .zc-airport-badge-icon {
        width: 43px !important;
        height: 43px !important;
    }

    .zc-homepage .zc-airport-badge-icon svg {
        width: 21px !important;
        height: 21px !important;
    }

    .zc-homepage .zc-airport-badge::after {
        left: 18px !important;
        height: 23px !important;
        font-size: 8.5px !important;
    }

    .zc-homepage .zc-partner-track {
        --zc-partner-distance: 1820px;
        --zc-partner-speed: 28s;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-airport-badge {
        gap: 12px !important;
        padding: 14px 17px 12px 15px !important;
    }

    .zc-homepage .zc-airport-badge-text {
        padding-left: 12px !important;
    }

    .zc-homepage .zc-airport-badge-text strong {
        font-size: 9.5px !important;
    }

    .zc-homepage .zc-airport-badge-text em {
        font-size: 10.5px !important;
    }

    .zc-homepage .zc-partner-track {
        --zc-partner-distance: 1470px;
        --zc-partner-speed: 28s;
    }
}

/* ================================================
   CLIENT BADGE REDESIGN: PREMIUM NAVY LABEL
================================================ */

.zc-homepage .zc-airport-badge {
    isolation: isolate !important;
    overflow: hidden !important;
    border: 1px solid rgba(246,227,10,.58) !important;
    border-radius: 999px !important;
    background:
        linear-gradient(135deg, #002251 0%, #031733 62%, var(--zc-black) 100%) !important;
    box-shadow:
        0 20px 48px rgba(0,34,81,.42),
        0 0 0 1px rgba(255,255,255,.08) inset,
        0 1px 0 rgba(255,255,255,.22) inset !important;
    color: #fff !important;
    gap: 16px !important;
    padding: 16px 24px 16px 18px !important;
}

.zc-homepage .zc-airport-badge::before {
    content: "" !important;
    position: absolute !important;
    inset: 8px auto 8px 9px !important;
    z-index: -1 !important;
    width: 5px !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, var(--zc-yellow), var(--zc-red)) !important;
    transform: none !important;
}

.zc-homepage .zc-airport-badge::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 18px !important;
    bottom: auto !important;
    left: 56px !important;
    width: auto !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, rgba(255,255,255,.62), rgba(255,255,255,0)) !important;
    box-shadow: none !important;
}

.zc-homepage .zc-airport-badge-icon {
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(246,227,10,.88) !important;
    border-radius: 50% !important;
    background: var(--zc-yellow) !important;
    box-shadow:
        0 10px 24px rgba(2,3,4,.26),
        4px 4px 0 var(--zc-red) !important;
}

.zc-homepage .zc-airport-badge-icon svg {
    width: 23px !important;
    height: 23px !important;
    fill: var(--zc-black) !important;
}

.zc-homepage .zc-airport-badge-text {
    padding-left: 14px !important;
    border-left: 1px solid rgba(255,255,255,.24) !important;
}

.zc-homepage .zc-airport-badge-text strong {
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

.zc-homepage .zc-airport-badge-text em {
    color: var(--zc-yellow) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-airport-badge {
        gap: 13px !important;
        padding: 14px 20px 14px 16px !important;
    }

    .zc-homepage .zc-airport-badge-icon {
        width: 42px !important;
        height: 42px !important;
    }

    .zc-homepage .zc-airport-badge-icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    .zc-homepage .zc-airport-badge-text strong {
        font-size: 9.5px !important;
    }

    .zc-homepage .zc-airport-badge-text em {
        font-size: 11px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-airport-badge {
        max-width: calc(100% - 26px) !important;
        gap: 10px !important;
        padding: 12px 15px 12px 14px !important;
    }

    .zc-homepage .zc-airport-badge::before {
        left: 7px !important;
        width: 4px !important;
    }

    .zc-homepage .zc-airport-badge-icon {
        width: 38px !important;
        height: 38px !important;
        box-shadow: 3px 3px 0 var(--zc-red) !important;
    }

    .zc-homepage .zc-airport-badge-icon svg {
        width: 18px !important;
        height: 18px !important;
    }

    .zc-homepage .zc-airport-badge-text {
        padding-left: 10px !important;
    }

    .zc-homepage .zc-airport-badge-text strong {
        font-size: 8.5px !important;
        letter-spacing: .7px !important;
    }

    .zc-homepage .zc-airport-badge-text em {
        font-size: 10px !important;
        letter-spacing: .45px !important;
    }
}

/* ================================================
   CLIENT BADGE REDESIGN: OFFICIAL AIRPORT PLAQUE
================================================ */

.zc-homepage .zc-airport-badge {
    display: inline-grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    align-items: stretch !important;
    min-width: 360px !important;
    min-height: 78px !important;
    isolation: isolate !important;
    overflow: hidden !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.38) !important;
    border-radius: 18px !important;
    background: #002251 !important;
    box-shadow:
        0 24px 56px rgba(0,34,81,.42),
        0 8px 20px rgba(2,3,4,.22),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
    color: #fff !important;
    -webkit-backdrop-filter: blur(12px) saturate(1.08) !important;
    backdrop-filter: blur(12px) saturate(1.08) !important;
}

.zc-homepage .zc-airport-badge::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 0 auto !important;
    z-index: 3 !important;
    width: auto !important;
    height: 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, var(--zc-yellow) 0 44%, var(--zc-red) 44% 100%) !important;
    transform: none !important;
}

.zc-homepage .zc-airport-badge::after {
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    z-index: -1 !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 17px !important;
    background:
        radial-gradient(circle at 88% 14%, rgba(246,227,10,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,0) 34%),
        linear-gradient(135deg, #002251 0%, #042f67 55%, #00152f 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(246,227,10,.16) !important;
}

.zc-homepage .zc-airport-badge-icon {
    width: auto !important;
    height: auto !important;
    min-height: 78px !important;
    display: grid !important;
    place-items: center !important;
    flex: initial !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.9)) !important;
    box-shadow:
        inset -1px 0 0 rgba(0,34,81,.24),
        inset 0 4px 0 var(--zc-yellow) !important;
}

.zc-homepage .zc-airport-badge-icon img {
    display: block !important;
    width: 100% !important;
    max-width: 84px !important;
    height: 48px !important;
    object-fit: contain !important;
}

.zc-homepage .zc-airport-badge-icon svg {
    display: none !important;
}

.zc-homepage .zc-airport-badge-text {
    display: grid !important;
    align-content: center !important;
    gap: 4px !important;
    min-width: 0 !important;
    padding: 16px 22px 14px 20px !important;
    border-left: 0 !important;
}

.zc-homepage .zc-airport-badge-text::before {
    content: "BRISTOL AIRPORT" !important;
    color: var(--zc-yellow) !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 1.7px !important;
}

.zc-homepage .zc-airport-badge-text strong {
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: .15px !important;
    text-transform: none !important;
}

.zc-homepage .zc-airport-badge-text em {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: rgba(255,255,255,.9) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-style: normal !important;
    font-weight: 500 !important;
    letter-spacing: .35px !important;
}

.zc-homepage .zc-airport-badge-text em::before {
    content: "" !important;
    width: 30px !important;
    height: 2px !important;
    flex: 0 0 30px !important;
    background: var(--zc-red) !important;
}

.zc-homepage .zc-airport-badge-text em::after {
    display: none !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-airport-badge {
        grid-template-columns: 100px minmax(0, 1fr) !important;
        min-width: 330px !important;
        min-height: 70px !important;
        border-radius: 16px !important;
    }

    .zc-homepage .zc-airport-badge-icon {
        min-height: 70px !important;
        padding: 12px 14px !important;
    }

    .zc-homepage .zc-airport-badge-icon img {
        max-width: 76px !important;
        height: 44px !important;
    }

    .zc-homepage .zc-airport-badge-text {
        padding: 14px 18px 12px 17px !important;
    }

    .zc-homepage .zc-airport-badge-text strong {
        font-size: 15px !important;
    }

    .zc-homepage .zc-airport-badge-text em {
        font-size: 11px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-airport-badge {
        grid-template-columns: 78px minmax(0, 1fr) !important;
        min-width: min(318px, calc(100% - 24px)) !important;
        max-width: calc(100% - 24px) !important;
        min-height: 60px !important;
        border-radius: 14px !important;
    }

    .zc-homepage .zc-airport-badge::before {
        height: 3px !important;
    }

    .zc-homepage .zc-airport-badge-icon {
        min-height: 60px !important;
        padding: 10px !important;
    }

    .zc-homepage .zc-airport-badge-icon img {
        max-width: 62px !important;
        height: 36px !important;
    }

    .zc-homepage .zc-airport-badge-text {
        gap: 3px !important;
        padding: 11px 12px 10px 13px !important;
    }

    .zc-homepage .zc-airport-badge-text::before {
        font-size: 7px !important;
        letter-spacing: 1.15px !important;
    }

    .zc-homepage .zc-airport-badge-text strong {
        font-size: 11px !important;
        line-height: 1.12 !important;
    }

    .zc-homepage .zc-airport-badge-text em {
        font-size: 8.8px !important;
        letter-spacing: .15px !important;
    }

    .zc-homepage .zc-airport-badge-text em::before {
        width: 18px !important;
        flex-basis: 18px !important;
    }
}

.zc-account-route-lock {
    overflow: hidden !important;
}

.zc-account-route-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(2,3,4,.66);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

.zc-account-route-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.zc-account-route-modal {
    position: relative;
    width: min(820px, 100%);
    max-height: min(88vh, 720px);
    overflow-y: auto;
    font-family: "Poppins", sans-serif;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 10px;
    background: #fff;
    color: var(--zc-black);
    box-shadow: 0 34px 110px rgba(2,3,4,.45);
    transform: translateY(18px) scale(.985);
    transition: transform .22s ease;
}

.zc-account-route-overlay.is-open .zc-account-route-modal {
    transform: translateY(0) scale(1);
}

.zc-account-route-head {
    position: relative;
    padding: clamp(24px, 3.2vw, 36px) clamp(24px, 4vw, 44px);
    background:
        linear-gradient(135deg, rgba(214,0,0,.22), transparent 42%),
        var(--zc-black);
    color: #fff;
}

.zc-account-route-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    color: var(--zc-yellow);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.zc-account-route-kicker::before {
    content: "";
    width: 34px;
    height: 3px;
    background: var(--zc-red);
}

.zc-account-route-head h2 {
    max-width: 680px;
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: 0;
}

.zc-account-route-head p {
    max-width: 640px;
    margin: 12px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    line-height: 1.65;
    font-weight: 500;
}

.zc-account-route-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.26);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

.zc-account-route-close:hover,
.zc-account-route-close:focus {
    border-color: var(--zc-yellow);
    background: var(--zc-yellow);
    color: var(--zc-black);
}

.zc-account-route-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: clamp(20px, 3vw, 30px);
    background: linear-gradient(180deg, #fff, #fffdf2);
}

.zc-account-route-card {
    position: relative;
    display: grid;
    align-content: start;
    gap: 15px;
    min-height: 235px;
    padding: clamp(22px, 2.6vw, 30px);
    border: 1px solid rgba(2,3,4,.12);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(255,234,0,.12), transparent 42%),
        #fff;
    color: var(--zc-black);
    text-decoration: none;
    box-shadow: 0 16px 42px rgba(2,3,4,.1);
}

.zc-account-route-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow));
}

.zc-account-route-card span {
    color: var(--zc-red);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.zc-account-route-card strong {
    color: var(--zc-black);
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.18;
    font-weight: 600;
    letter-spacing: 0;
}

.zc-account-route-card p {
    margin: 0;
    color: rgba(2,3,4,.68);
    font-size: 15px;
    line-height: 1.7;
    font-weight: 500;
}

.zc-account-route-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: auto;
    padding: 0 20px;
    border-radius: 5px !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 12px;
    line-height: 1;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .2px;
    text-decoration: none !important;
    text-transform: uppercase;
    transform: none !important;
    transition: background .2s ease, color .2s ease !important;
}

.zc-homepage .zc-btn,
.zc-homepage .zc-submit,
.zc-homepage .zc-service-btn,
.zc-homepage .zc-business-tag,
.zc-homepage .zc-write-review,
.zc-homepage .zc-header-book {
    border-radius: 5px !important;
}

.zc-account-route-action:hover,
.zc-account-route-action:focus-visible {
    background: var(--zc-red) !important;
    color: #fff !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .zc-account-route-overlay {
        align-items: start;
        padding: 16px;
        overflow-y: auto;
    }

    .zc-account-route-modal {
        max-height: none;
        margin: 16px 0;
    }

    .zc-account-route-head {
        padding: 24px 18px;
    }

    .zc-account-route-head h2 {
        font-size: 26px;
    }

    .zc-account-route-body {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 14px;
    }

    .zc-account-route-card {
        min-height: auto;
        padding: 22px 16px 18px;
    }
}

/* ================================================
   FINAL HOMEPAGE HEADER SYNC WITH BUSINESS PAGE
================================================ */

.zc-homepage .zc-site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 5000 !important;
    min-height: 118px !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 0 clamp(28px, 4.5vw, 64px) !important;
    overflow: visible !important;
    border: 0 !important;
    background: linear-gradient(180deg, rgba(2,3,4,.7) 0%, rgba(2,3,4,.42) 60%, rgba(2,3,4,0) 100%) !important;
    color: var(--zc-white, #fff) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
    pointer-events: auto !important;
    transition: background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease, min-height .35s ease !important;
}

.zc-homepage .zc-site-header::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 1px !important;
    background: rgba(255,255,255,.16) !important;
    pointer-events: none !important;
}

.zc-homepage .zc-site-header::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, var(--zc-red), var(--zc-yellow)) !important;
    opacity: 0 !important;
    transition: opacity .35s ease !important;
}

.zc-homepage .zc-site-header.zc-header-scrolled {
    min-height: 92px !important;
    background: rgba(2,3,4,.95) !important;
    box-shadow: 0 18px 40px rgba(2,3,4,.4) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
    backdrop-filter: blur(14px) saturate(1.2) !important;
}

.zc-homepage .zc-site-header.zc-header-scrolled::after {
    opacity: 1 !important;
}

.zc-homepage .zc-header-menu,
.zc-homepage .zc-menu-close {
    appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--zc-white, #fff) !important;
    cursor: pointer !important;
}

.zc-homepage .zc-header-menu {
    position: relative !important;
    z-index: 5001 !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 13px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 48px !important;
    flex: initial !important;
    order: initial !important;
    grid-column: auto !important;
    grid-row: auto !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    pointer-events: auto !important;
}

.zc-homepage .zc-header-menu em {
    display: inline !important;
    font-style: normal !important;
    transition: color .25s ease !important;
}

.zc-homepage .zc-header-menu-bars {
    width: 31px !important;
    display: grid !important;
    gap: 6px !important;
}

.zc-homepage .zc-header-menu-bars span {
    display: block !important;
    width: 31px !important;
    height: 3px !important;
    border-radius: 2px !important;
    background: var(--zc-white, #fff) !important;
    transition: background .25s ease !important;
}

.zc-homepage .zc-header-menu:hover .zc-header-menu-bars span,
.zc-homepage .zc-header-menu:focus .zc-header-menu-bars span {
    background: var(--zc-yellow) !important;
}

.zc-homepage .zc-header-menu:hover em,
.zc-homepage .zc-header-menu:focus em {
    color: var(--zc-yellow) !important;
}

.zc-homepage .zc-header-logo {
    justify-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: initial !important;
    order: initial !important;
    grid-column: auto !important;
    grid-row: auto !important;
    text-decoration: none !important;
    transition: transform .3s ease !important;
}

.zc-homepage .zc-header-logo:hover,
.zc-homepage .zc-header-logo:focus {
    transform: scale(1.045) !important;
}

.zc-homepage .zc-header-logo img {
    width: min(232px, 19vw) !important;
    max-height: 78px !important;
    object-fit: contain !important;
    transition: max-height .35s ease !important;
}

.zc-homepage .zc-header-scrolled .zc-header-logo img {
    max-height: 62px !important;
}

.zc-homepage .zc-header-actions {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 28px !important;
    flex: initial !important;
    order: initial !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
}

.zc-homepage .zc-header-book {
    position: relative !important;
    z-index: 5001 !important;
    min-height: 54px !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 32px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #fff4a3, var(--zc-yellow) 55%, #f0d400) !important;
    color: var(--zc-black) !important;
    box-shadow: 0 14px 30px -8px rgba(246,227,10,.55), 0 3px 8px rgba(2,3,4,.28) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 1.6px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    pointer-events: auto !important;
    white-space: nowrap !important;
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease !important;
}

.zc-homepage .zc-header-book::after {
    content: "\2192" !important;
    display: inline-block !important;
    font-size: 15px !important;
    line-height: 1 !important;
    transition: transform .3s ease !important;
}

.zc-homepage .zc-header-book:hover,
.zc-homepage .zc-header-book:focus {
    background: linear-gradient(135deg, var(--zc-red), #b40909) !important;
    color: var(--zc-white, #fff) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 36px -8px rgba(225,12,12,.55), 0 4px 10px rgba(2,3,4,.32) !important;
}

.zc-homepage .zc-header-book:hover::after,
.zc-homepage .zc-header-book:focus::after {
    transform: translateX(4px) !important;
}

.zc-homepage .zc-menu-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99998 !important;
    visibility: hidden !important;
    background: rgba(2,3,4,.58) !important;
    opacity: 0 !important;
    transition: opacity .32s ease, visibility .32s ease !important;
}

.zc-homepage .zc-menu-panel {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 99999 !important;
    width: min(760px, 54vw) !important;
    overflow-y: auto !important;
    visibility: hidden !important;
    padding: 38px clamp(30px, 5vw, 78px) 54px !important;
    background: var(--zc-black) !important;
    color: var(--zc-white, #fff) !important;
    transform: translateX(-104%) !important;
    transition: transform .42s ease !important;
}

.zc-homepage.zc-menu-active .zc-menu-backdrop {
    visibility: visible !important;
    opacity: 1 !important;
}

.zc-homepage.zc-menu-active .zc-menu-panel {
    visibility: visible !important;
    transform: translateX(0) !important;
}

.zc-homepage.zc-menu-active {
    overflow: visible !important;
}

.zc-homepage .zc-menu-panel-head {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    gap: 18px !important;
    margin-bottom: clamp(64px, 11vh, 132px) !important;
}

.zc-homepage .zc-menu-panel-logo img {
    width: 118px !important;
    max-height: 62px !important;
    object-fit: contain !important;
}

.zc-homepage .zc-menu-close {
    justify-self: end !important;
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    font-size: 44px !important;
    line-height: .8 !important;
    font-weight: 300 !important;
}

.zc-homepage .zc-menu-nav {
    display: grid !important;
    gap: clamp(26px, 4.2vh, 42px) !important;
}

.zc-homepage .zc-menu-nav a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    color: var(--zc-white, #fff) !important;
    font-size: 25px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: 6px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: color .2s ease, transform .2s ease !important;
}

.zc-homepage .zc-menu-nav a[data-zc-arrow]::after {
    display: none !important;
}

.zc-homepage .zc-menu-nav a:hover,
.zc-homepage .zc-menu-nav a:focus {
    color: var(--zc-yellow) !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-site-header {
        min-height: 96px !important;
        grid-template-columns: auto 1fr auto !important;
        padding: 0 22px !important;
    }

    .zc-homepage .zc-site-header.zc-header-scrolled {
        min-height: 80px !important;
    }

    .zc-homepage .zc-header-menu {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
    }

    .zc-homepage .zc-header-menu em {
        display: none !important;
    }

    .zc-homepage .zc-header-logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
    }

    .zc-homepage .zc-header-logo img {
        width: min(168px, 30vw) !important;
        max-height: 62px !important;
    }

    .zc-homepage .zc-header-scrolled .zc-header-logo img {
        max-height: 50px !important;
    }

    .zc-homepage .zc-header-actions {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        margin-right: 18px !important;
    }

    .zc-homepage .zc-header-book {
        min-width: 156px !important;
        min-height: 54px !important;
        padding: 0 27px !important;
        font-size: 14px !important;
    }

    .zc-homepage .zc-menu-panel {
        width: min(520px, 100vw) !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-site-header {
        min-height: 84px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        padding: 0 16px !important;
        overflow: visible !important;
    }

    .zc-homepage .zc-site-header.zc-header-scrolled {
        min-height: 70px !important;
    }

    .zc-homepage .zc-header-logo {
        order: 1 !important;
        flex: 0 0 auto !important;
        justify-self: auto !important;
    }

    .zc-homepage .zc-header-logo img {
        width: 130px !important;
        max-height: 50px !important;
    }

    .zc-homepage .zc-header-scrolled .zc-header-logo img {
        max-height: 42px !important;
    }

    .zc-homepage .zc-header-actions {
        order: 2 !important;
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        margin-right: 8px !important;
    }

    .zc-homepage .zc-header-book {
        min-width: 120px !important;
        min-height: 40px !important;
        padding: 0 15px !important;
        font-size: 11px !important;
        letter-spacing: .6px !important;
        gap: 5px !important;
        white-space: nowrap !important;
    }

    .zc-homepage .zc-header-book::after {
        font-size: 10px !important;
    }

    .zc-homepage .zc-header-menu {
        order: 3 !important;
        display: inline-flex !important;
        justify-self: end !important;
        flex: 0 0 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        padding: 0 !important;
    }

    .zc-homepage .zc-header-menu-bars {
        width: 20px !important;
        gap: 5px !important;
    }

    .zc-homepage .zc-header-menu-bars span {
        width: 20px !important;
        height: 2px !important;
    }

    .zc-homepage .zc-menu-panel {
        width: 100vw !important;
        padding: 26px 24px 44px !important;
    }

    .zc-homepage .zc-menu-panel-head {
        grid-template-columns: auto 1fr !important;
        margin-bottom: 76px !important;
    }

    .zc-homepage .zc-menu-panel-logo img {
        width: 96px !important;
    }

    .zc-homepage .zc-menu-close {
        width: 38px !important;
        height: 38px !important;
        font-size: 38px !important;
    }

    .zc-homepage .zc-menu-nav {
        gap: 28px !important;
    }

    .zc-homepage .zc-menu-nav a {
        font-size: 25px !important;
        line-height: 1.18 !important;
        letter-spacing: 3px !important;
    }
}

/* Final homepage CTA consistency */
.zc-homepage #zcBusinessAccountRouteModal a.zc-account-route-action,
.zc-homepage #zcBusinessAccountRouteModal a.zc-account-route-action:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 28px !important;
    border-color: var(--zc-yellow) !important;
    border-radius: 5px !important;
    background: var(--zc-yellow) !important;
    color: var(--zc-black) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    transform: none !important;
}

.zc-homepage #zcBusinessAccountRouteModal a.zc-account-route-action::after {
    content: "\2192";
    font-size: 15px;
    line-height: 1;
    transform: none !important;
}

.zc-homepage #zcBusinessAccountRouteModal a.zc-account-route-action:hover,
.zc-homepage #zcBusinessAccountRouteModal a.zc-account-route-action:focus,
.zc-homepage #zcBusinessAccountRouteModal a.zc-account-route-action:focus-visible {
    border-color: var(--zc-red) !important;
    background: var(--zc-red) !important;
    color: #fff !important;
    transform: none !important;
}

.zc-homepage :is(.zc-btn, .zc-submit, .zc-service-btn, .zc-business-tag, .zc-write-review, .zc-header-book) {
    border-radius: 5px !important;
}

/* Full-row fields must span the complete booking form width. */
.zc-homepage #zcBookingForm .zc-form-grid > .zc-form-group.full {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

.zc-homepage #zcBookingForm .zc-form-group.full > input,
.zc-homepage #zcBookingForm .zc-form-group.full > textarea {
    width: 100% !important;
}

/* Keep the primary header action prominent at every viewport size. */
.zc-homepage .zc-header-book {
    font-size: 18px !important;
}

@media (max-width: 1100px) {
    .zc-homepage .zc-header-book {
        font-size: 18px !important;
    }
}

@media (max-width: 767px) {
    .zc-homepage .zc-header-book {
        font-size: 18px !important;
    }
}

/* Accessibility and layout-stability refinements. */
.zc-homepage .zc-review-dots {
    gap: 2px !important;
}

.zc-homepage button.zc-review-dot,
.zc-homepage button.zc-review-dot.active,
.zc-homepage button.zc-review-dot:hover,
.zc-homepage button.zc-review-dot:focus {
    position: relative !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    overflow: visible !important;
}

.zc-homepage button.zc-review-dot::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: 13px !important;
    height: 13px !important;
    border: 1px solid rgba(2,3,4,.38) !important;
    border-radius: 50% !important;
    background: #fff !important;
    transform: translate(-50%, -50%) !important;
}

.zc-homepage button.zc-review-dot.active::before,
.zc-homepage button.zc-review-dot:hover::before,
.zc-homepage button.zc-review-dot:focus-visible::before {
    border-color: #b90909 !important;
    background: var(--zc-yellow) !important;
}

.zc-homepage .zc-global-footer-bottom p:last-child {
    color: #b90909 !important;
    font-weight: 800 !important;
}

/* Compact homepage footer styles; avoids loading the full shared page bundle. */
.zc-global-footer { position: relative; overflow: hidden; border-top: 4px solid var(--zc-yellow); background: #fff; color: var(--zc-black); }
.zc-global-footer::before { content: ""; position: absolute; inset: -4px auto auto 0; width: 34%; height: 4px; background: var(--zc-red); }
.zc-global-footer-inner { display: grid; grid-template-columns: minmax(260px,1.25fr) minmax(170px,.72fr) minmax(190px,.82fr) minmax(230px,.95fr); gap: clamp(30px,4vw,64px); padding-top: 64px; padding-bottom: 58px; }
.zc-global-footer-inner > * { min-width: 0; }
.zc-global-footer-brand img { width: 184px; max-height: 76px; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(2,3,4,.2)); }
.zc-global-footer-brand .zc-global-footer-partner { max-width: 290px; margin: 22px 0 0; color: var(--zc-black); font-size: 15px; line-height: 1.5; font-weight: 700; }
.zc-global-footer-socials { display: flex; align-items: center; gap: 10px; margin-top: 16px; }
.zc-global-footer-socials a { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(2,3,4,.18); border-radius: 6px; background: #fff; color: var(--zc-black); transition: .2s ease; }
.zc-global-footer-socials a:hover, .zc-global-footer-socials a:focus-visible { border-color: var(--zc-red); background: var(--zc-red); color: #fff; transform: translateY(-3px); }
.zc-global-footer-socials a:focus-visible { outline: 3px solid rgba(255,224,0,.75); outline-offset: 3px; }
.zc-global-footer-socials svg { width: 19px; height: 19px; fill: currentColor; }
.zc-global-footer h2 { position: relative; margin: 0 0 20px; padding-left: 14px; color: var(--zc-black); font-size: 12px; line-height: 1.25; font-weight: 800; letter-spacing: 1.7px; text-transform: uppercase; }
.zc-global-footer h2::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(180deg,var(--zc-red),var(--zc-yellow)); }
.zc-global-footer-nav { display: grid; align-content: start; }
.zc-global-footer-nav a { position: relative; width: 100%; min-height: 44px; padding: 11px 0; border-bottom: 1px solid rgba(2,3,4,.1); color: rgba(2,3,4,.72); font-size: 13px; line-height: 1.45; font-weight: 600; text-decoration: none; transition: .2s ease; }
.zc-global-footer-nav a::before { content: ""; position: absolute; top: 50%; left: 0; width: 0; height: 2px; background: var(--zc-red); transform: translateY(-50%); transition: width .2s ease; }
.zc-global-footer-nav a:hover, .zc-global-footer-nav a:focus-visible { padding-left: 18px; color: var(--zc-red); }
.zc-global-footer-nav a:hover::before, .zc-global-footer-nav a:focus-visible::before { width: 10px; }
.zc-global-footer-contact { align-self: start; padding: 28px; border: 1px solid rgba(246,227,10,.55); border-radius: 8px; background: #fffceb; box-shadow: 0 18px 44px rgba(2,3,4,.08); }
.zc-global-footer-contact strong { display: block; margin-bottom: 10px; color: var(--zc-red); font-size: 20px; }
.zc-global-footer-contact span { display: block; color: rgba(2,3,4,.66); font-size: 12px; line-height: 1.7; font-weight: 600; }
.zc-global-footer .zc-global-footer-book { min-width: 156px; min-height: 48px; margin-top: 22px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; background: var(--zc-black); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 1px; text-decoration: none; text-transform: uppercase; }
.zc-global-footer .zc-global-footer-book:hover, .zc-global-footer .zc-global-footer-book:focus-visible { background: var(--zc-red); }
.zc-global-footer-bottom { border-top: 1px solid rgba(2,3,4,.1); background: #f3f3f0; }
.zc-global-footer-bottom .zc-container { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.zc-global-footer-bottom p { margin: 0; color: rgba(2,3,4,.7); font-size: 11px; line-height: 1.6; font-weight: 600; }

@media (max-width: 900px) {
    .zc-global-footer-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 36px; padding-top: 52px; padding-bottom: 48px; }
    .zc-global-footer-contact { height: 100%; }
}

@media (max-width: 560px) {
    .zc-global-footer-inner { grid-template-columns: minmax(0,1fr); gap: 0; padding-top: 42px; padding-bottom: 34px; }
    .zc-global-footer-brand { padding-bottom: 32px; }
    .zc-global-footer-brand img { width: 160px; }
    .zc-global-footer-brand .zc-global-footer-partner { max-width: 100%; margin-top: 18px; font-size: 14px; }
    .zc-global-footer-nav { position: relative; padding: 28px 0; }
    .zc-global-footer-nav::before, .zc-global-footer-contact::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg,var(--zc-red),var(--zc-yellow)); }
    .zc-global-footer h2 { margin-bottom: 12px; }
    .zc-global-footer-contact { position: relative; margin-top: 2px; padding: 28px 24px; }
    .zc-global-footer-bottom .zc-container { min-height: 94px; padding: 20px 0; flex-direction: column; justify-content: center; gap: 8px; text-align: center; }
}

/* Footer/menu links (maslan /#zc-services) se aane par section ki heading fixed header ke peeche na chhupe */
#zc-services, #zc-reviews, #zc-booking { scroll-margin-top: 110px; }
@media (max-width: 760px) {
    #zc-services, #zc-reviews, #zc-booking { scroll-margin-top: 96px; }
}

/* =====================================================================
   Booking form: "Add Stop +" aur Stop field
   Label aur input wahi .zc-form-group styles use karte hain jo baqi fields,
   is liye font size, weight aur family bilkul same rehte hain.
   ===================================================================== */
.zc-homepage .zc-stop-field {
    display: flex;
    flex-direction: column;
}

.zc-homepage .zc-stop-field[hidden],
.zc-homepage .zc-add-stop[hidden] {
    display: none;
}

.zc-homepage .zc-stop-input-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.zc-homepage .zc-add-stop,
.zc-homepage .zc-cancel-stop {
    min-height: 44px;
    padding: 0 22px;
    border: 1px solid var(--zc-red);
    border-radius: 6px;
    background: transparent;
    color: var(--zc-red);
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .7px;
    line-height: 1.2;
    text-transform: uppercase;
    cursor: pointer;
    transition: .25s;
}

.zc-homepage .zc-add-stop {
    width: 100%;
}

.zc-homepage .zc-add-stop:hover,
.zc-homepage .zc-cancel-stop:hover {
    background: var(--zc-red);
    color: #fff;
}

.zc-homepage .zc-add-stop:focus-visible,
.zc-homepage .zc-cancel-stop:focus-visible {
    outline: 3px solid rgba(246,227,10,.45);
    outline-offset: 2px;
}

/* Zoom Cars: Flight Number (optional) - home.css ke bilkul aakhir mein paste karein */
.zc-homepage .zc-flight-field input {
    text-transform: uppercase;
    letter-spacing: .5px;
}

.zc-homepage .zc-flight-field input::placeholder {
    text-transform: none;
    letter-spacing: 0;
}

.zc-homepage .zc-optional {
    font-weight: 400;
    opacity: .7;
    text-transform: none;
    letter-spacing: 0;
}

.zc-homepage .zc-field-hint {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.4;
    opacity: .75;
}


/* Desktop (1101px+): Flight Number poori line (100%) leta hai.
   Tablet aur mobile par pehle jaisa rehta hai. */
@media (min-width: 1101px) {
    .zc-homepage #zcBookingForm .zc-form-group.zc-flight-field {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: none !important;
    }
}

/* Zoom Cars: Trustpilot link under "Write a review" - home.css ke bilkul aakhir mein paste karein */
.zc-homepage .zc-trustpilot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    margin: 16px 0 0 !important;
    color: rgba(2, 3, 4, .62) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.zc-homepage .zc-trustpilot-link,
.zc-homepage .zc-trustpilot-link:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #020304 !important;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(0, 182, 122, .55);
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    transition: text-decoration-color .2s ease, color .2s ease;
}

.zc-homepage .zc-trustpilot-link:hover,
.zc-homepage .zc-trustpilot-link:focus-visible {
    color: #020304 !important;
    text-decoration-color: #00b67a;
}

.zc-homepage .zc-trustpilot-link:focus-visible {
    outline: 2px solid #00b67a;
    outline-offset: 3px;
    border-radius: 2px;
}

.zc-homepage .zc-trustpilot-star {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: #00b67a; /* Trustpilot green */
}

/* Mobile: summary centre mein ho to yeh line bhi centre mein */
@media (max-width: 767px) {
    .zc-homepage .zc-trustpilot {
        justify-content: center;
        text-align: center;
    }
}
