/*
 * VORIK Public Home
 * Extrait de templates/public/home.php
 */

/* VORIK DOCUMENT RESET V1 */
    html {
        margin: 0;
        padding: 0;
        background: #ffffff;
        text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%;
    }

    body {
        margin: 0;
        padding: 0;
        min-width: 0;
        background: #ffffff;
    }

    .vorik-home {
        --vorik-navy: #0b1f3a;
        --vorik-navy-soft: #18385f;
        --vorik-blue: #2d6fca;
        --vorik-yellow: #f4c64e;
        --vorik-yellow-dark: #dba92d;
        --vorik-white: #ffffff;
        --vorik-neutral: #f4f7fb;
        --vorik-neutral-blue: #eaf2fc;
        --vorik-text: #17283f;
        --vorik-muted: #5d6d82;
        --vorik-line: #d8e1eb;
        --vorik-green: #19755c;
        --vorik-radius: 1rem;
        --vorik-radius-large: 1.5rem;
        --vorik-shadow: 0 1rem 2.8rem rgba(11, 31, 58, 0.12);
        --vorik-container: 74rem;
        color: var(--vorik-text);
        background: var(--vorik-white);
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.55;
        overflow-wrap: break-word;
    }

    .vorik-home *,
    .vorik-home *::before,
    .vorik-home *::after {
        box-sizing: border-box;
    }

    .vorik-home a {
        color: inherit;
    }

    .vorik-home a:focus-visible,
    .vorik-home button:focus-visible,
    .vorik-home input:focus-visible,
    .vorik-home select:focus-visible,
    .vorik-home summary:focus-visible {
        outline: 3px solid var(--vorik-yellow);
        outline-offset: 3px;
    }

    .vorik-home svg {
        display: block;
        max-width: 100%;
    }

    .vorik-container {
        width: min(calc(100% - 2rem), var(--vorik-container));
        margin-right: auto;
        margin-left: auto;
    }

    .vorik-skip-link {
        position: absolute;
        z-index: 100;
        top: 0.75rem;
        left: 0.75rem;
        padding: 0.75rem 1rem;
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
        border-radius: 0.5rem;
        font-weight: 800;
        text-decoration: none;
        transform: translateY(-180%);
    }

    .vorik-skip-link:focus {
        transform: translateY(0);
    }

    .vorik-header {
        position: relative;
        z-index: 10;
        color: var(--vorik-white);
        background: var(--vorik-navy);
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .vorik-header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 4.75rem;
    }

    .vorik-brand {
        display: inline-flex;
        align-items: center;
        gap: 0.65rem;
        color: inherit;
        text-decoration: none;
    }

    .vorik-brand-mark {
        display: grid;
        width: 2.35rem;
        height: 2.35rem;
        place-items: center;
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
        border-radius: 0.72rem;
        font-size: 1.05rem;
        font-weight: 900;
        letter-spacing: -0.08em;
    }

    .vorik-brand-copy {
        display: grid;
        gap: 0.08rem;
    }

    .vorik-brand-name {
        font-size: 1.08rem;
        font-weight: 900;
        letter-spacing: 0.12em;
        line-height: 1;
    }

    .vorik-brand-tagline {
        color: #c6d5e7;
        font-size:.74rem;
        line-height: 1.1;
    }

    .vorik-nav {
        display: none;
        align-items: center;
        gap: 1.15rem;
    }

    .vorik-nav-link {
        color: #d7e3f0;
        font-size: 0.9rem;
        font-weight: 700;
        text-decoration: none;
    }

    .vorik-nav-link:hover {
        color: var(--vorik-yellow);
    }

    .vorik-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.9rem;
        gap: 0.5rem;
        padding: 0.72rem 1rem;
        border: 1px solid transparent;
        border-radius: 0.7rem;
        font: inherit;
        font-size: 0.92rem;
        font-weight: 800;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
    }

    .vorik-button:hover {
        transform: translateY(-1px);
    }

    .vorik-button-primary {
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
    }

    .vorik-button-primary:hover {
        background: #ffd96f;
    }

    .vorik-button-secondary {
        color: var(--vorik-navy);
        background: var(--vorik-white);
        border-color: #abc0d8;
    }

    .vorik-button-secondary:hover {
        background: var(--vorik-neutral-blue);
        border-color: var(--vorik-blue);
    }

    .vorik-mobile-menu {
        position: relative;
    }

    .vorik-mobile-menu summary {
        display: inline-flex;
        align-items: center;
        min-height: 2.8rem;
        padding: 0.65rem 0.8rem;
        color: var(--vorik-white);
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: 0.65rem;
        font-size: 0.9rem;
        font-weight: 800;
        cursor: pointer;
        list-style: none;
    }

    .vorik-mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .vorik-mobile-menu summary::after {
        margin-left: 0.55rem;
        content: "⌄";
        font-size: 1.1rem;
    }

    .vorik-mobile-menu[open] summary::after {
        content: "⌃";
    }

    .vorik-mobile-panel {
        position: absolute;
        top: calc(100% + 0.55rem);
        right: 0;
        display: grid;
        width: min(19rem, calc(100vw - 2rem));
        gap: 0.2rem;
        padding: 0.7rem;
        color: var(--vorik-text);
        background: var(--vorik-white);
        border: 1px solid var(--vorik-line);
        border-radius: 0.8rem;
        box-shadow: var(--vorik-shadow);
    }

    .vorik-mobile-panel a {
        padding: 0.7rem;
        border-radius: 0.5rem;
        font-weight: 700;
        text-decoration: none;
    }

    .vorik-mobile-panel a:hover {
        background: var(--vorik-neutral);
    }

    .vorik-hero {
        padding: clamp(3rem, 7vw, 6.4rem) 0 clamp(4.5rem, 8vw, 7.2rem);
        color: var(--vorik-white);
        background:
            radial-gradient(circle at 86% 18%, rgba(75, 141, 231, 0.42), transparent 22rem),
            radial-gradient(circle at 66% 90%, rgba(244, 198, 78, 0.12), transparent 20rem),
            var(--vorik-navy);
    }

    .vorik-hero-grid,
    .vorik-trust-layout,
    .vorik-tracking-layout,
    .vorik-app-layout {
        display: grid;
        align-items: center;
        gap: clamp(2rem, 5vw, 5rem);
    }

    .vorik-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        margin: 0 0 1rem;
        color: var(--vorik-blue);
        font-size: 0.78rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .vorik-eyebrow::before {
        width: 0.55rem;
        height: 0.55rem;
        content: "";
        background: var(--vorik-yellow);
        border-radius: 50%;
    }

    .vorik-hero .vorik-eyebrow {
        color: #d8e7f9;
    }

    .vorik-hero h1,
    .vorik-section-heading h2,
    .vorik-tracking-content h2,
    .vorik-final-cta h2 {
        margin: 0;
        font-weight: 900;
        letter-spacing: -0.045em;
        line-height: 1.07;
    }

    .vorik-hero h1 {
        max-width: 10ch;
        font-size: clamp(2.5rem, 6vw, 4.75rem);
    }

    .vorik-highlight {
        color: var(--vorik-yellow);
    }

    .vorik-hero-text {
        max-width: 39rem;
        margin: 1.25rem 0 0;
        color: #d9e6f4;
        font-size: clamp(1rem, 2vw, 1.17rem);
    }

    .vorik-hero-actions,
    .vorik-final-cta-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        margin-top: 1.75rem;
    }

    .vorik-hero .vorik-button-secondary {
        color: var(--vorik-white);
        background: transparent;
        border-color: rgba(255, 255, 255, 0.55);
    }

    .vorik-hero .vorik-button-secondary:hover {
        background: rgba(255, 255, 255, 0.11);
        border-color: var(--vorik-white);
    }

    .vorik-hero-note {
        display: flex;
        align-items: flex-start;
        gap: 0.65rem;
        max-width: 38rem;
        margin: 1.4rem 0 0;
        color: #c8d9eb;
        font-size: 0.88rem;
    }

    .vorik-hero-note svg {
        flex: 0 0 auto;
        margin-top: 0.15rem;
        color: var(--vorik-yellow);
    }

    .vorik-hero-visual {
        position: relative;
        min-height: 20rem;
    }

    .vorik-visual-orb {
        position: absolute;
        top: 0;
        right: 4%;
        width: min(21rem, 72vw);
        aspect-ratio: 1;
        background: linear-gradient(145deg, #3f8be3, #173c70);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 50%;
    }

    .vorik-route-card {
        position: relative;
        z-index: 2;
        max-width: 25rem;
        margin: 1.8rem auto 0;
        padding: 1.25rem;
        color: var(--vorik-text);
        background: rgba(255, 255, 255, 0.97);
        border: 1px solid rgba(255, 255, 255, 0.7);
        border-radius: var(--vorik-radius-large);
        box-shadow: 0 1.5rem 3rem rgba(1, 15, 35, 0.25);
    }

    .vorik-route-card-title {
        margin: 0 0 0.8rem;
        font-size: 0.88rem;
        font-weight: 900;
    }

    .vorik-route-item {
        display: grid;
        grid-template-columns: 1rem minmax(0, 1fr);
        gap: 0.7rem;
        align-items: start;
        padding: 0.8rem 0;
        border-top: 1px solid var(--vorik-line);
    }

    .vorik-route-pin {
        width: 0.78rem;
        height: 0.78rem;
        margin-top: 0.3rem;
        border: 3px solid var(--vorik-blue);
        border-radius: 50%;
    }

    .vorik-route-pin-arrival {
        background: var(--vorik-yellow);
        border-color: var(--vorik-yellow-dark);
        border-radius: 0.2rem;
    }

    .vorik-route-label {
        display: block;
        color: var(--vorik-muted);
        font-size: 0.74rem;
    }

    .vorik-route-value {
        display: block;
        font-size: 0.9rem;
        font-weight: 800;
    }

    .vorik-car-illustration {
        position: absolute;
        z-index: 3;
        right: 0;
        bottom: 0;
        width:180px;
    }

    .vorik-booking-section {
        position: relative;
        z-index: 4;
        padding-bottom: clamp(3.5rem, 8vw, 6.5rem);
        background: var(--vorik-neutral);
    }

    .vorik-booking {
        padding: clamp(1.25rem, 3vw, 2rem);
        background: var(--vorik-white);
        border: 1px solid var(--vorik-line);
        border-radius: var(--vorik-radius-large);
        box-shadow: var(--vorik-shadow);
    }

    .vorik-booking-heading {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem 1rem;
        margin-bottom: 1.25rem;
    }

    .vorik-booking-heading h2 {
        margin: 0;
        font-size: clamp(1.3rem, 3vw, 1.65rem);
        letter-spacing: -0.025em;
    }

    .vorik-booking-heading p,
    .vorik-booking-help {
        margin: 0;
        color: var(--vorik-muted);
        font-size: 0.86rem;
    }

    .vorik-service-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
        margin: 0 0 1rem;
        padding: 0;
        border: 0;
    }

    .vorik-service-options legend {
        width: 100%;
        margin-bottom: 0.55rem;
        font-size: 0.9rem;
        font-weight: 900;
    }

    .vorik-service-option {
        position: relative;
        min-width: 0;
    }

    .vorik-service-option input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
    }

    .vorik-service-option span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        padding: 0.55rem;
        color: var(--vorik-muted);
        border: 1px solid var(--vorik-line);
        border-radius: 0.65rem;
        font-size: 0.86rem;
        font-weight: 800;
        text-align: center;
        cursor: pointer;
    }

    .vorik-service-option input:checked + span {
        color: var(--vorik-navy);
        background: #fff8df;
        border-color: var(--vorik-yellow-dark);
    }

    .vorik-service-option input:focus-visible + span {
        outline: 3px solid var(--vorik-yellow);
        outline-offset: 2px;
    }

    .vorik-booking-fields {
        display: grid;
        gap: 0.85rem;
    }

    .vorik-field {
        display: grid;
        gap: 0.4rem;
        min-width: 0;
    }

    .vorik-field label {
        font-size: 0.84rem;
        font-weight: 900;
    }

    .vorik-field input,
    .vorik-field select {
        width: 100%;
        min-height: 3rem;
        padding: 0.65rem 0.75rem;
        color: var(--vorik-text);
        background: var(--vorik-white);
        border: 1px solid #b7c6d7;
        border-radius: 0.6rem;
        font: inherit;
    }

    .vorik-field input::placeholder {
        color: #718096;
        opacity: 1;
    }

    .vorik-booking-submit {
        width: 100%;
        min-height: 3.1rem;
        margin-top: 0.85rem;
    }

    .vorik-booking-help {
        margin-top: 0.85rem;
    }

    .vorik-section {
        padding: clamp(3.5rem, 8vw, 6.75rem) 0;
    }

    .vorik-section-soft {
        background: var(--vorik-neutral);
    }

    .vorik-section-heading {
        max-width: 46rem;
        margin-bottom: 2rem;
    }

    .vorik-section-heading h2,
    .vorik-tracking-content h2,
    .vorik-final-cta h2 {
        color: var(--vorik-navy);
        font-size: clamp(1.9rem, 4vw, 3.1rem);
    }

    .vorik-section-heading p {
        margin: 0.9rem 0 0;
        color: var(--vorik-muted);
    }

    .vorik-service-grid,
    .vorik-vehicle-grid,
    .vorik-trust-grid,
    .vorik-partner-grid {
        display: grid;
        gap: 1rem;
    }

    .vorik-service-card,
    .vorik-vehicle-card,
    .vorik-partner-card {
        min-width: 0;
        background: var(--vorik-white);
        border: 1px solid var(--vorik-line);
        border-radius: var(--vorik-radius);
    }

    .vorik-service-card {
        display: flex;
        flex-direction: column;
        padding: 1.35rem;
        transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    }

    .vorik-service-card:hover {
        border-color: #a9c5e4;
        box-shadow: 0 0.85rem 2rem rgba(11, 31, 58, 0.08);
        transform: translateY(-2px);
    }

    .vorik-service-icon {
        display: grid;
        width: 2.8rem;
        height: 2.8rem;
        place-items: center;
        margin-bottom: 1rem;
        color: var(--vorik-navy);
        background: #fff4c8;
        border-radius: 0.75rem;
    }

    .vorik-service-card h3,
    .vorik-vehicle-card h3,
    .vorik-trust-card h3,
    .vorik-partner-card h3 {
        margin: 0;
        color: var(--vorik-navy);
        font-size: 1.08rem;
        letter-spacing: -0.015em;
    }

    .vorik-service-card p,
    .vorik-vehicle-card p,
    .vorik-partner-card p {
        margin: 0.65rem 0 1rem;
        color: var(--vorik-muted);
        font-size: 0.91rem;
    }

    .vorik-card-link {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: auto;
        color: var(--vorik-navy-soft);
        font-size: 0.88rem;
        font-weight: 900;
        text-decoration: none;
    }

    .vorik-card-link:hover {
        color: var(--vorik-blue);
        text-decoration: underline;
    }

    .vorik-trust-intro {
        padding: clamp(1.5rem, 4vw, 2.5rem);
        color: var(--vorik-white);
        background: var(--vorik-navy);
        border-radius: var(--vorik-radius-large);
    }

    .vorik-trust-intro h2 {
        margin: 0;
        font-size: clamp(1.75rem, 4vw, 2.7rem);
        letter-spacing: -0.035em;
        line-height: 1.12;
    }

    .vorik-trust-intro p {
        margin: 1rem 0 0;
        color: #d7e4f2;
    }

    .vorik-trust-intro a {
        color: var(--vorik-yellow);
        font-weight: 800;
    }

    .vorik-trust-grid {
        align-content: center;
        gap: 1.25rem;
    }

    .vorik-trust-card {
        display: grid;
        grid-template-columns: 2.5rem minmax(0, 1fr);
        gap: 0.8rem;
        align-items: start;
    }

    .vorik-trust-number {
        display: grid;
        width: 2.15rem;
        height: 2.15rem;
        place-items: center;
        color: var(--vorik-navy);
        background: #fff1bf;
        border-radius: 50%;
        font-size: 0.78rem;
        font-weight: 900;
    }

    .vorik-trust-card p {
        margin: 0.45rem 0 0;
        color: var(--vorik-muted);
        font-size: 0.91rem;
    }

    .vorik-vehicle-card {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .vorik-vehicle-media {
        display: grid;
        min-height: 11rem;
        aspect-ratio: 16 / 9;
        place-items: center;
        padding:.8rem;
        color: var(--vorik-navy-soft);
        background: linear-gradient(135deg, #dcecff, #f8fbff);
        border-bottom: 1px solid var(--vorik-line);
    }

    .vorik-vehicle-content {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 1.25rem;
    }

    .vorik-illustration-label {
        display: inline-flex;
        width: fit-content;
        margin-bottom: 0.75rem;
        padding: 0.28rem 0.5rem;
        color: var(--vorik-muted);
        background: var(--vorik-neutral);
        border-radius: 0.35rem;
        font-size:.74rem;
        font-weight: 900;
        text-transform: uppercase;
    }

    .vorik-vehicle-list {
        display: grid;
        gap: 0.35rem;
        margin: auto 0 0;
        padding: 0;
        color: var(--vorik-muted);
        font-size: 0.84rem;
        list-style: none;
    }

    .vorik-vehicle-list li::before {
        margin-right: 0.45rem;
        color: var(--vorik-green);
        content: "•";
        font-weight: 900;
    }

    .vorik-tracking {
        padding: clamp(1.75rem, 5vw, 4rem);
        color: var(--vorik-white);
        background: linear-gradient(125deg, var(--vorik-navy), var(--vorik-navy-soft));
        border-radius: var(--vorik-radius-large);
    }

    .vorik-tracking-content h2 {
        color: var(--vorik-white);
    }

    .vorik-tracking-content p {
        max-width: 43rem;
        margin: 0.9rem 0 0;
        color: #d8e5f3;
    }

    .vorik-tracking .vorik-button-secondary,
    .vorik-final-cta .vorik-button-secondary {
        color: var(--vorik-white);
        background: transparent;
        border-color: rgba(255, 255, 255, 0.68);
    }

    .vorik-tracking .vorik-button-secondary:hover,
    .vorik-final-cta .vorik-button-secondary:hover {
        background: rgba(255, 255, 255, 0.12);
    }

    .vorik-app-copy p {
        max-width: 39rem;
        color: var(--vorik-muted);
    }

    .vorik-status {
        display: inline-flex;
        margin-bottom: 0.8rem;
        padding: 0.35rem 0.6rem;
        color: var(--vorik-green);
        background: #e7f5ef;
        border-radius: 2rem;
        font-size: 0.78rem;
        font-weight: 900;
    }

    .vorik-phone {
        width: min(16rem, 70vw);
        margin: auto;
        padding: 0.55rem;
        background: var(--vorik-navy);
        border: 0.35rem solid #2d496e;
        border-radius: 2rem;
        box-shadow: var(--vorik-shadow);
    }

    .vorik-phone-speaker {
        width: 4.25rem;
        height: 0.35rem;
        margin: 0 auto 0.55rem;
        background: #8798ae;
        border-radius: 2rem;
    }

    .vorik-phone-screen {
        display: grid;
        gap: 0.8rem;
        min-height: 22rem;
        padding:.8rem;
        color: var(--vorik-navy);
        background: #f7faff;
        border-radius: 1.35rem;
    }

    .vorik-phone-route {
        min-height: 8rem;
        background:
            linear-gradient(35deg, transparent 45%, #9cc4ef 46%, #9cc4ef 51%, transparent 52%),
            linear-gradient(125deg, transparent 44%, #c8def5 45%, #c8def5 50%, transparent 51%),
            #e6f1fc;
        border-radius: 1rem;
    }

    .vorik-phone-line {
        height: 0.75rem;
        background: #d6e4f2;
        border-radius: 2rem;
    }

    .vorik-phone-line-short {
        width: 65%;
    }

    .vorik-phone-action {
        min-height: 2.6rem;
        background: var(--vorik-yellow);
        border-radius: 0.65rem;
    }

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

    .vorik-partner-card {
        padding: 1.1rem;
    }

    .vorik-partner-icon {
        margin-bottom: 0.7rem;
        color: var(--vorik-yellow-dark);
        font-size: 1.25rem;
        font-weight: 900;
    }

    .vorik-final-cta {
        padding: clamp(2rem, 6vw, 4.2rem);
        color: var(--vorik-white);
        background: var(--vorik-navy);
        border-radius: var(--vorik-radius-large);
        text-align: center;
    }

    .vorik-final-cta h2 {
        color: var(--vorik-white);
    }

    .vorik-final-cta p {
        max-width: 42rem;
        margin: 1rem auto 1.5rem;
        color: #d4e1ef;
    }

    .vorik-final-cta-actions {
        justify-content: center;
    }

    .vorik-footer {
        padding: 3rem 0 1.5rem;
        color: #d2deec;
        background: #071629;
    }

    .vorik-footer-grid {
        display: grid;
        gap: 2rem;
    }

    .vorik-footer .vorik-brand {
        color: var(--vorik-white);
    }

    .vorik-footer .vorik-brand-tagline {
        color: #b5c8dc;
    }

    .vorik-footer-summary {
        max-width: 21rem;
        margin: 1rem 0 0;
        font-size: 0.88rem;
    }

    .vorik-footer-heading {
        margin: 0 0 0.7rem;
        color: var(--vorik-white);
        font-size: 0.9rem;
    }

    .vorik-footer-links {
        display: grid;
        gap: 0.48rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .vorik-footer-links a {
        color: #d2deec;
        font-size: 0.87rem;
        text-decoration: none;
    }

    .vorik-footer-links a:hover {
        color: var(--vorik-yellow);
        text-decoration: underline;
    }

    .vorik-footer-bottom {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0.75rem;
        margin-top: 2.5rem;
        padding-top: 1.25rem;
        border-top: 1px solid #29415e;
        color: #aebed1;
        font-size: 0.8rem;
    }

    @media (min-width: 40rem) {
        .vorik-service-options {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .vorik-booking-fields,
        .vorik-service-grid,
        .vorik-vehicle-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .vorik-footer-grid {
            grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 52rem) {
        .vorik-nav {
            display: flex;
        }

        .vorik-mobile-menu {
            display: none;
        }

        .vorik-hero-grid {
            grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.8fr);
        }

        .vorik-booking-section {
            margin-top: -2.5rem;
        }

        .vorik-booking-fields {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .vorik-service-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .vorik-trust-layout {
            grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
        }

        .vorik-tracking-layout {
            grid-template-columns: minmax(0, 1fr) auto;
        }

        .vorik-app-layout {
            grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.6fr);
        }

        .vorik-partner-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }
    }

    @media (min-width: 68rem) {
        .vorik-header-inner {
            min-height: 5.15rem;
        }

        .vorik-vehicle-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .vorik-footer-grid {
            grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr));
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-home *,
        .vorik-home *::before,
        .vorik-home *::after {
            scroll-behavior: auto !important;
            transition-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
        }
    }

    /* =======================================================
       VORIK MANUAL HOMEPAGE REFINEMENT V1
       ======================================================= */

    /*
     * Hero
     */

    .vorik-home .vorik-hero h1 {
        max-width: 11ch;
        font-size: clamp(2.75rem, 5.8vw, 5.25rem);
        line-height: 0.98;
        letter-spacing: -0.055em;
        text-wrap: balance;
    }

    .vorik-home .vorik-hero p {
        max-width: 38rem;
        line-height: 1.7;
    }

    .vorik-home .vorik-hero-grid {
        gap: clamp(2rem, 6vw, 6rem);
        align-items: center;
    }

    .vorik-home .vorik-hero-visual {
        min-height: clamp(18rem, 38vw, 32rem);
        transform: scale(1.04);
        transform-origin: center;
    }

    /*
     * Onglets de recherche défilables
     */

    .vorik-home .vorik-search-tabs {
        display: flex;
        align-items: stretch;
        gap: 0.5rem;
        width: 100%;
        margin: 0;
        padding: 0.25rem 0 0.65rem;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-snap-type: inline proximity;
        scrollbar-width: thin;
        scrollbar-color:
            var(--vorik-yellow, #f4b51c)
            transparent;
        -webkit-overflow-scrolling: touch;
    }

    .vorik-home .vorik-search-tabs::-webkit-scrollbar {
        height: 0.3rem;
    }

    .vorik-home .vorik-search-tabs::-webkit-scrollbar-track {
        background: transparent;
    }

    .vorik-home .vorik-search-tabs::-webkit-scrollbar-thumb {
        background: var(--vorik-yellow, #f4b51c);
        border-radius: 999px;
    }

    .vorik-home .vorik-search-tabs legend {
        flex: 0 0 100%;
    }

    .vorik-home .vorik-search-tabs label {
        position: relative;
        flex: 0 0 auto;
        min-width: max-content;
        scroll-snap-align: start;
        cursor: pointer;
        user-select: none;
    }

    .vorik-home .vorik-search-tabs label span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.85rem;
        padding: 0.7rem 1.15rem;
        color: var(--vorik-ink-soft, #40516a);
        background: #f4f7fb;
        border: 1px solid transparent;
        border-radius: 999px;
        font-size: 0.84rem;
        font-weight: 750;
        line-height: 1;
        letter-spacing: 0.015em;
        white-space: nowrap;
        transition:
            color 160ms ease,
            background-color 160ms ease,
            border-color 160ms ease,
            transform 160ms ease,
            box-shadow 160ms ease;
    }

    .vorik-home .vorik-search-tabs label:hover span {
        color: var(--vorik-ink, #10233f);
        background: #ffffff;
        border-color: var(--vorik-line, #d9e2ee);
        transform: translateY(-1px);
    }

    .vorik-home .vorik-search-tabs input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
    }

    .vorik-home .vorik-search-tabs input:checked + span {
        color: #10233f;
        background: var(--vorik-yellow, #f4b51c);
        border-color: var(--vorik-yellow, #f4b51c);
        box-shadow: 0 8px 20px rgba(244, 181, 28, 0.24);
    }

    .vorik-home .vorik-search-tabs input:focus-visible + span {
        outline: 3px solid rgba(23, 105, 224, 0.28);
        outline-offset: 3px;
    }

    /*
     * Widget de recherche
     */

    .vorik-home .vorik-booking {
        border: 1px solid rgba(16, 35, 63, 0.07);
        box-shadow:
            0 1.5rem 4rem rgba(16, 35, 63, 0.13),
            0 0.25rem 1rem rgba(16, 35, 63, 0.06);
    }

    .vorik-home .vorik-booking input,
    .vorik-home .vorik-booking select {
        min-height: 3.25rem;
        border-color: rgba(16, 35, 63, 0.15);
        background: #ffffff;
    }

    .vorik-home .vorik-booking input:hover,
    .vorik-home .vorik-booking select:hover {
        border-color: rgba(16, 35, 63, 0.28);
    }

    .vorik-home .vorik-booking button,
    .vorik-home .vorik-booking .vorik-button {
        min-height: 3.25rem;
        font-weight: 800;
    }

    /*
     * Cartes de services
     */

    .vorik-home .vorik-service-card {
        height: 100%;
        padding: clamp(1.35rem, 2.5vw, 2rem);
        border-color: rgba(16, 35, 63, 0.08);
        box-shadow: 0 0.6rem 1.8rem rgba(16, 35, 63, 0.045);
        transition:
            transform 180ms ease,
            box-shadow 180ms ease,
            border-color 180ms ease;
    }

    .vorik-home .vorik-service-card:hover {
        transform: translateY(-0.25rem);
        border-color: rgba(23, 105, 224, 0.18);
        box-shadow: 0 1.2rem 2.8rem rgba(16, 35, 63, 0.10);
    }

    .vorik-home .vorik-service-card h3 {
        font-size: clamp(1.05rem, 1.5vw, 1.25rem);
        line-height: 1.2;
    }

    .vorik-home .vorik-service-card p {
        min-height: 4.5em;
        line-height: 1.6;
    }

    /*
     * Cartes véhicules
     */

    .vorik-home .vorik-vehicle-card {
        height: 100%;
        overflow: hidden;
        border-color: rgba(16, 35, 63, 0.08);
        box-shadow: 0 0.8rem 2rem rgba(16, 35, 63, 0.055);
        transition:
            transform 180ms ease,
            box-shadow 180ms ease;
    }

    .vorik-home .vorik-vehicle-card:hover {
        transform: translateY(-0.3rem);
        box-shadow: 0 1.4rem 3rem rgba(16, 35, 63, 0.11);
    }

    .vorik-home .vorik-vehicle-card svg,
    .vorik-home .vorik-vehicle-card img {
        width: 100%;
        min-height: 10rem;
        object-fit: contain;
        transform: scale(1.06);
    }

    /*
     * Application
     */

    .vorik-home .vorik-app-visual,
    .vorik-home .vorik-phone-visual {
        transform: scale(1.08);
        transform-origin: center;
    }

    /*
     * Footer
     */

    .vorik-home .vorik-footer {
        padding-block: clamp(3rem, 6vw, 5.5rem) 2rem;
    }

    .vorik-home .vorik-footer a {
        font-size: 0.92rem;
        line-height: 1.8;
    }

    .vorik-home .vorik-footer p {
        line-height: 1.7;
    }

    /*
     * Adaptation tablette et mobile
     */

    @media (max-width: 62rem) {
        .vorik-home .vorik-hero h1 {
            max-width: 13ch;
        }

        .vorik-home .vorik-hero-visual {
            min-height: 17rem;
            transform: none;
        }
    }

    @media (max-width: 48rem) {
        .vorik-home .vorik-hero h1 {
            max-width: 12ch;
            font-size: clamp(2.45rem, 12vw, 4rem);
        }

        .vorik-home .vorik-search-tabs {
            margin-inline: -0.25rem;
            padding-inline: 0.25rem;
        }

        .vorik-home .vorik-search-tabs label span {
            min-height: 2.75rem;
            padding-inline: 1rem;
            font-size: 0.8rem;
        }

        .vorik-home .vorik-service-card p {
            min-height: auto;
        }

        .vorik-home .vorik-app-visual,
        .vorik-home .vorik-phone-visual {
            transform: none;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-home *,
        .vorik-home *::before,
        .vorik-home *::after {
            scroll-behavior: auto !important;
            transition-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
        }
    }


    /* =======================================================
       VORIK MOBILE APP EXPERIENCE V1
       Interface mobile distincte du desktop
       ======================================================= */

    .vorik-mobile-app-nav {
        display: none;
    }

    @media (max-width: 48rem) {

        /*
         * Fondation mobile
         */

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 5rem;
        }

        body {
            margin: 0;
            background: #f4f7fb;
        }

        .vorik-home {
            --vorik-mobile-gutter: 1rem;
            --vorik-mobile-radius: 1.25rem;
            --vorik-mobile-bottom-nav-height: 4.75rem;

            min-width: 0;
            padding-bottom:
                calc(
                    var(--vorik-mobile-bottom-nav-height)
                    + env(safe-area-inset-bottom)
                    + 1rem
                );

            overflow-x: clip;
            font-size: 16px;
        }

        .vorik-home .vorik-container {
            width: 100%;
            max-width: none;
            padding-inline: var(--vorik-mobile-gutter);
        }

        /*
         * Header mobile
         */

        .vorik-home .vorik-header {
            position: sticky;
            z-index: 100;
            top: 0;

            min-height: 4rem;

            background: rgba(5, 31, 67, 0.96);
            border-bottom: 1px solid rgba(255, 255, 255, 0.12);
            box-shadow: 0 0.5rem 1.5rem rgba(4, 24, 52, 0.15);

            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }

        .vorik-home .vorik-header-inner {
            min-height: 4rem;
            gap: 0.75rem;
        }

        .vorik-home .vorik-brand {
            min-width: 0;
            color: #ffffff;
        }

        .vorik-home .vorik-brand-name {
            color: #ffffff;
            font-size: 1rem;
            line-height: 1;
        }

        .vorik-home .vorik-brand-tagline {
            color: rgba(255, 255, 255, 0.72);
            font-size: 0.63rem;
        }

        .vorik-home .vorik-brand-mark {
            width: 2rem;
            height: 2rem;
            flex: 0 0 2rem;
        }

        .vorik-home .vorik-nav {
            display: none;
        }

        .vorik-home .vorik-header .vorik-button {
            min-height: 2.55rem;
            padding: 0.65rem 0.9rem;
            border-radius: 0.75rem;
            font-size: 0.76rem;
            white-space: nowrap;
        }

        /*
         * Hero comme écran d'accueil d'application
         */

        .vorik-home .vorik-hero {
            min-height: auto;
            padding:
                1rem
                1rem
                4.5rem;

            color: #ffffff;
            background:
                radial-gradient(
                    circle at 85% 30%,
                    rgba(31, 130, 255, 0.30),
                    transparent 37%
                ),
                linear-gradient(
                    145deg,
                    #041f43 0%,
                    #06346f 58%,
                    #07509f 100%
                );
        }

        .vorik-home .vorik-hero .vorik-container {
            padding-inline: 0;
        }

        .vorik-home .vorik-hero-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.25rem;
        }

        .vorik-home .vorik-hero-copy {
            display: contents;
        }

        .vorik-home .vorik-eyebrow {
            order: 1;
            margin-bottom: 0.25rem;

            color: #ffd04d;
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.08em;
        }

        .vorik-home .vorik-hero h1 {
            order: 2;

            max-width:9ch;
            margin:0;

            color:#ffffff;
            font-size:2.45rem;
            line-height:.95;
            letter-spacing: -0.055em;
            text-wrap: balance;
        }

        .vorik-home .vorik-hero h1 strong,
        .vorik-home .vorik-hero h1 em,
        .vorik-home .vorik-hero-highlight {
            color: #ffc629;
            font-style: normal;
        }

        .vorik-home .vorik-hero p {
            order: 3;

            max-width: 34rem;
            margin: 0;

            color: rgba(255, 255, 255, 0.88);
            font-size: 1.02rem;
            line-height: 1.65;
        }

        .vorik-home .vorik-hero-actions {
            order: 5;

            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.65rem;

            width: 100%;
        }

        .vorik-home .vorik-hero-actions .vorik-button {
            width: 100%;
            min-height: 3.15rem;
            padding: 0.85rem 0.8rem;

            border-radius: 0.9rem;
            font-size: 0.87rem;
            font-weight: 800;
            text-align: center;
        }

        

        .vorik-home .vorik-brand {
            color: #ffffff;
        }

        .vorik-home .vorik-brand-name {
            color: #ffffff;
        }

        .vorik-home .vorik-brand-tagline {
            color: rgba(255, 255, 255, 0.7);
        }

        /*
         * Bouton hamburger
         */

        .vorik-mobile-menu-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.9rem;
            height: 2.9rem;
            margin-left: auto;
            padding: 0;

            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 0.85rem;

            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }

        .vorik-mobile-menu-button:hover,
        .vorik-mobile-menu-button:focus-visible {
            background: rgba(255, 255, 255, 0.16);
        }

        .vorik-mobile-menu-button:focus-visible {
            outline: 3px solid rgba(255, 198, 41, 0.55);
            outline-offset: 3px;
        }

        .vorik-mobile-menu-button svg {
            width: 1.45rem;
            height: 1.45rem;
        }

        /*
         * Fond du drawer
         */

        .vorik-mobile-drawer-overlay {
            position: fixed;
            z-index: 1090;
            inset: 0;

            display: block;

            visibility: hidden;
            opacity: 0;

            background: rgba(2, 16, 35, 0.66);

            transition:
                opacity 220ms ease,
                visibility 220ms ease;
        }

        .vorik-mobile-drawer-overlay.is-open {
            visibility: visible;
            opacity: 1;
        }

        /*
         * Drawer
         */

        .vorik-mobile-drawer {
            position: fixed;
            z-index: 1100;
            top: 0;
            right: 0;
            bottom: 0;

            display: flex;
            flex-direction: column;

            width: min(88vw, 23rem);
            padding:
                calc(1rem + env(safe-area-inset-top))
                1rem
                calc(1rem + env(safe-area-inset-bottom));

            color: #10233f;
            background: #ffffff;
            box-shadow: -1.5rem 0 4rem rgba(2, 16, 35, 0.28);

            visibility: hidden;
            transform: translateX(105%);

            transition:
                transform 240ms ease,
                visibility 240ms ease;
        }

        .vorik-mobile-drawer.is-open {
            visibility: visible;
            transform: translateX(0);
        }

        .vorik-mobile-drawer-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;

            padding-bottom: 1rem;
            border-bottom: 1px solid #e2e8f0;
        }

        .vorik-mobile-drawer-brand {
            display: flex;
            align-items: center;
            gap: 0.65rem;

            color: #10233f;
            font-size: 1.05rem;
            font-weight: 900;
            text-decoration: none;
        }

        .vorik-mobile-drawer-brand-mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.2rem;
            height: 2.2rem;

            color: #10233f;
            background: #ffc629;
            border-radius: 0.7rem;

            font-size: 0.95rem;
            font-weight: 950;
        }

        .vorik-mobile-drawer-close {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.75rem;
            height: 2.75rem;
            padding: 0;

            color: #10233f;
            background: #f1f5f9;
            border: 0;
            border-radius: 0.8rem;

            cursor: pointer;
        }

        .vorik-mobile-drawer-close svg {
            width: 1.35rem;
            height: 1.35rem;
        }

        /*
         * Liens du drawer
         */

        .vorik-mobile-drawer-nav {
            display: grid;
            gap: 0.4rem;

            padding-block: 1.25rem;
        }

        .vorik-mobile-drawer-nav a {
            display: flex;
            align-items: center;
            gap: 0.9rem;

            min-height: 3.5rem;
            padding: 0.75rem 0.85rem;

            color: #10233f;
            background: transparent;
            border-radius: 0.9rem;

            font-size: 1rem;
            font-weight: 750;
            text-decoration: none;
        }

        .vorik-mobile-drawer-nav a:hover,
        .vorik-mobile-drawer-nav a:focus-visible {
            background: #f1f5f9;
        }

        .vorik-mobile-drawer-nav-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.4rem;
            height: 2.4rem;
            flex: 0 0 2.4rem;

            color: #123b70;
            background: #eaf2fb;
            border-radius: 0.75rem;
        }

        .vorik-mobile-drawer-nav-icon svg {
            width: 1.25rem;
            height: 1.25rem;
            stroke: currentColor;
        }

        .vorik-mobile-drawer-primary {
            margin-top: auto;
        }

        .vorik-mobile-drawer-primary a {
            display: flex;
            align-items: center;
            justify-content: center;

            min-height: 3.5rem;
            padding: 0.85rem 1rem;

            color: #10233f;
            background: #ffc629;
            border-radius: 0.95rem;

            font-size: 1rem;
            font-weight: 900;
            text-decoration: none;
        }

        .vorik-mobile-drawer-help {
            margin-top: 0.75rem;

            color: #617086;
            font-size: 0.82rem;
            line-height: 1.55;
            text-align: center;
        }

        /*
         * Barre d’actions fixe
         */

        .vorik-mobile-activity-nav {
            position: fixed;
            z-index: 1000;

            right: 0.65rem;
            bottom:
                calc(
                    0.55rem
                    + env(safe-area-inset-bottom)
                );
            left: 0.65rem;

            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.2rem;

            height:72px;
            padding: 0.35rem;

            background: rgba(255, 255, 255, 0.97);
            border: 1px solid rgba(16, 35, 63, 0.10);
            border-radius: 1.2rem;
            box-shadow:
                0 1rem 2.6rem rgba(4, 31, 67, 0.24),
                0 0.2rem 0.75rem rgba(4, 31, 67, 0.08);

            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }

        .vorik-mobile-activity-nav a {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.3rem;

            min-width: 0;
            min-height: 3.9rem;
            padding: 0.35rem 0.2rem;

            color: #637188;
            border-radius: 0.9rem;

            font-size:.74rem;
            font-weight: 800;
            line-height: 1;
            text-align: center;
            text-decoration: none;

            -webkit-tap-highlight-color: transparent;
        }

        .vorik-mobile-activity-nav a:hover,
        .vorik-mobile-activity-nav a:focus-visible {
            color: #10233f;
            background: #eef3f8;
        }

        .vorik-mobile-activity-nav a[aria-current="page"] {
            color: #10233f;
            background: #fff2bd;
        }

        .vorik-mobile-activity-nav svg {
            width: 1.35rem;
            height: 1.35rem;
            stroke: currentColor;
        }

        /*
         * La barre ne doit pas masquer le footer
         */

        .vorik-home .vorik-footer {
            padding-bottom:
                calc(
                    var(--vorik-mobile-nav-height)
                    + env(safe-area-inset-bottom)
                    + 2rem
                );
        }

        /*
         * Petits écrans
         */

        @media (max-width: 22rem) {
            .vorik-mobile-activity-nav {
                right: 0.35rem;
                left: 0.35rem;
            }

            .vorik-mobile-activity-nav a {
                font-size: 0.64rem;
            }

            .vorik-mobile-drawer {
                width: 94vw;
            }
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-mobile-drawer,
        .vorik-mobile-drawer-overlay {
            transition-duration: 0.01ms !important;
        }
    }


    /* =======================================================
       VORIK HOMEPAGE V2 CONVERSION EXPERIENCE
       ======================================================= */

    .vorik-hero {
        padding-bottom: 0;
    }

    .vorik-hero-booking {
        position: relative;
        z-index: 20;

        width: min(
            calc(100% - 2rem),
            var(--vorik-container)
        );

        margin:
            clamp(2rem, 4vw, 3rem)
            auto
            -4rem;
    }

    .vorik-hero-booking .vorik-container {
        width: 100%;
        max-width: none;
        padding: 0;
    }

    .vorik-hero-booking .vorik-booking {
        color: var(--vorik-text);
        background: #ffffff;
    }

    .vorik-booking-section {
        display: none;
    }

    .vorik-app-conversion-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.85rem;
    }

    .vorik-app-coming-soon {
        display: inline-flex;
        align-items: center;

        min-height: 2.9rem;
        padding: 0.65rem 0.9rem;

        color: #52637b;
        background: #eef3f8;
        border: 1px solid #d8e1eb;
        border-radius: 0.75rem;

        font-size: 0.82rem;
        font-weight: 800;
    }

    .vorik-mobile-drawer-login {
        margin-top: 0.65rem;

        color: #10233f !important;
        background: #ffffff !important;
        border: 1px solid #cfd9e5;
    }

    .vorik-mobile-nav-register {
        color: #10233f !important;
        background: #ffc629 !important;
    }

    @media (min-width: 48.01rem) {
        .vorik-hero-booking {
            transform: translateY(0);
        }

        .vorik-section:first-of-type {
            padding-top: 7rem;
        }
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-hero {
            padding:
                1.15rem
                var(--vorik-mobile-gutter)
                0;
        }

        .vorik-home .vorik-hero-grid {
            gap: 0.8rem;
        }

        .vorik-home .vorik-hero h1 {
            max-width: 10ch;
            font-size: clamp(
                2.25rem,
                10vw,
                3rem
            );
        }

        .vorik-home .vorik-hero-text {
            font-size: 0.94rem;
            line-height: 1.55;
        }

        .vorik-home .vorik-hero-visual {
            display: none;
        }

        .vorik-home .vorik-hero-actions {
            display: grid;
            grid-template-columns: 1fr 0.78fr;
            gap: 0.55rem;
            margin-top: 0.8rem;
        }

        .vorik-home .vorik-hero-actions .vorik-button {
            min-height: 3rem;
            padding: 0.75rem 0.6rem;
            font-size: 0.79rem;
        }

        .vorik-home .vorik-hero-note {
            margin-top: 0.2rem;
            font-size: 0.72rem;
        }

        .vorik-hero-booking {
            width: 100%;
            margin: 1rem auto -2.25rem;
        }

        .vorik-hero-booking .vorik-booking {
            width: 100%;
            margin: 0;
            padding: 1rem;

            border-radius:
                1.4rem
                1.4rem
                0
                0;

            box-shadow:
                0 -0.35rem 1.4rem
                    rgba(2, 16, 35, 0.10),
                0 1.2rem 2.6rem
                    rgba(2, 16, 35, 0.16);
        }

        .vorik-home .vorik-booking-heading {
            margin-bottom: 0.8rem;
        }

        .vorik-home .vorik-booking h2 {
            font-size: 1.45rem;
        }

        .vorik-home .vorik-booking-heading p {
            margin-top: 0.25rem;
            font-size: 0.79rem;
        }

        .vorik-home .vorik-search-tabs {
            margin-bottom: 0.65rem;
        }

        .vorik-home .vorik-booking-fields {
            gap: 0.65rem;
        }

        .vorik-home .vorik-booking-submit {
            min-height: 3.7rem;
            margin-top: 0.8rem;

            font-size: 1rem;
            font-weight: 900;

            box-shadow:
                0 0.8rem 1.7rem
                rgba(255, 198, 41, 0.32);
        }

        .vorik-home .vorik-booking-help {
            margin-top: 0.65rem;
            font-size: 0.72rem;
            line-height: 1.45;
        }

        .vorik-home main > section:not(.vorik-hero) {
            padding-block: 3rem;
        }

        .vorik-home #vorik-services {
            padding-top: 5rem;
        }

        .vorik-app-conversion-actions {
            display: grid;
            grid-template-columns: 1fr;
        }

        .vorik-app-conversion-actions .vorik-button {
            width: 100%;
        }

        .vorik-app-coming-soon {
            justify-content: center;
            text-align: center;
        }

        .vorik-mobile-activity-nav a[aria-current="page"] {
            color: #637188;
            background: transparent;
        }

        .vorik-mobile-activity-nav
        .vorik-mobile-nav-register {
            position: relative;
            transform: translateY(-0.2rem);

            box-shadow:
                0 0.55rem 1.2rem
                rgba(255, 198, 41, 0.38);
        }
    }


    /* =======================================================
       VORIK SMART BOOKING ENGINE V3
       ======================================================= */

    /*
     * Tous les boutons jaunes doivent utiliser un texte noir.
     */

    .vorik-home .vorik-button-primary,
    .vorik-home a.vorik-button-primary,
    .vorik-home button.vorik-button-primary,
    .vorik-mobile-drawer-primary > a,
    .vorik-mobile-nav-register {
        color: #080808;
    }

    .vorik-home .vorik-button-primary *,
    .vorik-mobile-nav-register * {
        color: #080808 !important;
    }

    /*
     * En-tête du moteur de réservation
     */

    .vorik-smart-booking {
        overflow: hidden;
    }

    .vorik-booking-kicker {
        margin: 0 0 0.3rem !important;

        color: #1769b0 !important;
        font-size: 0.72rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    /*
     * Trois onglets principaux
     */

    .vorik-booking-service-tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;

        margin-bottom: 1.25rem;
        padding: 0.35rem;

        background: #eef2f7;
        border-radius: 1.15rem;
    }

    .vorik-booking-service-tab {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.55rem;

        min-width: 0;
        min-height: 3.4rem;
        padding: 0.65rem 0.7rem;

        color: #53647b;
        background: transparent;
        border: 0;
        border-radius: 0.9rem;

        font: inherit;
        font-size: 0.86rem;
        font-weight: 850;
        line-height: 1.15;

        cursor: pointer;

        transition:
            color 160ms ease,
            background-color 160ms ease,
            box-shadow 160ms ease,
            transform 160ms ease;
    }

    .vorik-booking-service-tab:hover {
        color: #10233f;
        background: rgba(255, 255, 255, 0.7);
    }

    .vorik-booking-service-tab.is-active {
        color: #080808;
        background: #ffc629;
        box-shadow:
            0 0.45rem 1.2rem
            rgba(255, 198, 41, 0.30);
    }

    .vorik-booking-service-tab-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 1.55rem;
        height: 1.55rem;
        flex: 0 0 1.55rem;
    }

    .vorik-booking-service-tab-icon svg {
        width: 1.45rem;
        height: 1.45rem;
    }

    /*
     * Panneaux dynamiques
     */

    .vorik-booking-service-panel {
        display: none;
    }

    .vorik-booking-service-panel.is-active {
        display: block;
        animation:
            vorikBookingPanelIn
            180ms
            ease;
    }

    @keyframes vorikBookingPanelIn {
        from {
            opacity: 0;
            transform: translateY(0.35rem);
        }

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

    .vorik-smart-booking-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .vorik-field-wide {
        grid-column: 1 / -1;
    }

    /*
     * Champs avec icônes
     */

    .vorik-smart-input {
        position: relative;
    }

    .vorik-smart-input > span {
        position: absolute;
        z-index: 2;
        top: 50%;
        left: 1rem;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 1rem;
        height: 1rem;

        color: #1769b0;
        font-size: 1rem;
        font-weight: 900;

        pointer-events: none;
        transform: translateY(-50%);
    }

    .vorik-smart-input input {
        padding-left: 2.8rem !important;
    }

    .vorik-smart-input-start {
        border: 0.18rem solid #1769b0;
        border-radius: 50%;
    }

    .vorik-smart-input-end {
        background: #ffc629;
        border-radius: 0.2rem;
    }

    /*
     * CTA
     */

    .vorik-smart-booking .vorik-booking-submit {
        min-height: 3.75rem;
        margin-top: 1rem;

        color: #FFFFFF;
        background: #0B1F3A;

        font-size: 1rem;
        font-weight: 900;

        box-shadow:
            0 0.8rem 1.8rem
            rgba(255, 198, 41, 0.30);
    }

    .vorik-booking-conversion-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.55rem 1rem;

        margin-top: 0.8rem;
    }

    .vorik-booking-conversion-footer p {
        margin: 0;

        color: #637188;
        font-size: 0.75rem;
        line-height: 1.45;
    }

    .vorik-booking-account-links {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;

        color: #10233f;
        font-size: 0.78rem;
        font-weight: 850;
    }

    .vorik-booking-account-links a {
        color: #10233f;
        text-decoration: underline;
        text-underline-offset: 0.18rem;
    }

    /*
     * Mobile comme Uber
     */

    @media (max-width: 48rem) {

        .vorik-home .vorik-booking-heading {
            margin-bottom: 0.85rem;
        }

        .vorik-home .vorik-booking-heading h2 {
            max-width: 18ch;

            font-size: 1.45rem;
            line-height: 1.08;
        }

        .vorik-booking-service-tabs {
            gap: 0.3rem;

            width: 100%;
            margin-bottom: 1rem;
            padding: 0.3rem;

            border-radius: 1rem;
        }

        .vorik-booking-service-tab {
            flex-direction: column;
            gap: 0.25rem;

            min-height: 4.15rem;
            padding: 0.5rem 0.2rem;

            border-radius: 0.8rem;

            font-size: 0.7rem;
            white-space: normal;
        }

        .vorik-booking-service-tab-icon {
            width: 1.5rem;
            height: 1.5rem;
        }

        .vorik-booking-service-tab-icon svg {
            width: 1.4rem;
            height: 1.4rem;
        }

        .vorik-smart-booking-grid {
            grid-template-columns: 1fr;
            gap: 0.7rem;
        }

        .vorik-field-wide {
            grid-column: auto;
        }

        .vorik-smart-booking .vorik-field label {
            margin-bottom: 0.38rem;

            font-size: 0.78rem;
        }

        .vorik-smart-booking .vorik-field input,
        .vorik-smart-booking .vorik-field select {
            min-height: 3.5rem;

            font-size: 0.94rem;
        }

        .vorik-smart-booking .vorik-booking-submit {
            min-height: 3.8rem;
            margin-top: 0.9rem;

            border-radius: 1rem;

            font-size: 0.96rem;
        }

        .vorik-booking-conversion-footer {
            display: grid;
            justify-items: center;

            text-align: center;
        }
    }

    @media (max-width: 22rem) {
        .vorik-booking-service-tab {
            font-size: 0.63rem;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-booking-service-panel.is-active {
            animation: none;
        }
    }


    /* =======================================================
       VORIK SINGLE ACTIVE BOOKING TAB FIX V1
       Un seul onglet Location / Taxi course / VTC actif
       ======================================================= */

    /*
     * État normal : fond neutre.
     * Ces sélecteurs neutralisent l’ancienne règle générale
     * .vorik-booking button { background: jaune; }
     */

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab {
        color: #53647b !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab:hover {
        color: #10233f !important;
        background: rgba(255, 255, 255, 0.78) !important;
        border-color: rgba(16, 35, 63, 0.08) !important;
        box-shadow: none !important;
    }

    /*
     * Seul l’onglet actif devient jaune.
     */

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab.is-active,
    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab[aria-selected="true"] {
        color: #080808 !important;
        background: #ffc629 !important;
        border-color: #ffc629 !important;
        box-shadow:
            0 0.45rem 1.1rem
            rgba(255, 198, 41, 0.30) !important;
    }

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab.is-active *,
    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab[aria-selected="true"] * {
        color: #080808 !important;
    }

    /*
     * Les onglets non sélectionnés gardent leurs icônes sobres.
     */

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tab:not(.is-active)
    .vorik-booking-service-tab-icon {
        color: #53647b !important;
    }

    /*
     * Le vrai bouton de recherche reste jaune.
     */

    .vorik-home .vorik-smart-booking .vorik-booking-submit{
    background:#0B1F3A;
    border-color:#0B1F3A;
    color:#FFFFFF;
}


    /* =======================================================
       VORIK MOBILE HERO TWO LINES V1
       Titre du Hero limité à deux lignes sur mobile
       ======================================================= */

    @media (max-width: 48rem) {
        .vorik-home .vorik-hero h1 {
            max-width: none !important;
            width: 100%;

            font-size: clamp(
                2.15rem,
                9.8vw,
                3rem
            ) !important;

            line-height: 0.98 !important;
            letter-spacing: -0.055em;

            white-space: normal;
            text-wrap: balance;
        }

        .vorik-home .vorik-hero h1 .vorik-highlight {
            white-space: nowrap;
        }
    }


    /* =======================================================
       VORIK MOBILE HIDE HERO HELPER TEXT V1
       ======================================================= */

    @media (max-width:48rem){

        .vorik-home .vorik-hero .vorik-hero-meta,
        .vorik-home .vorik-hero .vorik-hero-note,
        .vorik-home .vorik-hero .vorik-hero-helper{
            display:none !important;
        }

    }


    /* =======================================================
       VORIK MOBILE CONVERSION FOCUS V2
       Hero mobile minimal et moteur de réservation prioritaire
       ======================================================= */

    @media (max-width: 48rem) {

        /*
         * Hero plus court
         */

        .vorik-home .vorik-hero {
            padding:
                0.9rem
                var(--vorik-mobile-gutter)
                0 !important;
        }

        .vorik-home .vorik-hero-grid {
            display: block !important;
        }

        /*
         * Conserver uniquement le titre et le CTA principal
         */

        .vorik-home .vorik-hero .vorik-eyebrow,
        .vorik-home .vorik-hero .vorik-hero-text,
        .vorik-home .vorik-hero .vorik-hero-note,
        .vorik-home .vorik-hero .vorik-hero-helper,
        .vorik-home .vorik-hero .vorik-hero-meta,
        .vorik-home .vorik-hero .vorik-hero-visual {
            display: none !important;
        }

        /*
         * Titre exactement sur deux lignes
         */

        .vorik-home .vorik-hero h1 {
            width: 100% !important;
            max-width: none !important;
            margin:
                0
                0
                0.9rem !important;

            color: #ffffff;
            font-size:
                clamp(
                    2.05rem,
                    9.5vw,
                    2.75rem
                ) !important;

            line-height: 0.98 !important;
            letter-spacing: -0.055em !important;
            text-wrap: balance;
        }

        .vorik-home .vorik-hero h1 .vorik-highlight {
            white-space: nowrap;
        }

        /*
         * Un seul bouton de conversion
         */

        .vorik-home .vorik-hero-actions {
            display: block !important;
            width: 100%;
            margin: 0 !important;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-button-primary {
            display: flex !important;
            width: 100%;
            min-height: 3.45rem;

            padding: 0.85rem 1rem;

            color: #080808 !important;
            background: #ffc629 !important;
            border-color: #ffc629 !important;
            border-radius: 1rem;

            font-size: 0.94rem;
            font-weight: 900;

            box-shadow:
                0 0.8rem 1.8rem
                rgba(255, 198, 41, 0.28);
        }

        /*
         * Masquer le bouton Se connecter dans le Hero.
         * La connexion reste disponible dans le drawer
         * et dans la navigation inférieure.
         */

        

        /*
         * Faire remonter immédiatement le moteur
         */

        .vorik-home .vorik-hero-booking {
            width: 100%;
            margin:
                0.9rem
                auto
                -2.25rem !important;
        }

        .vorik-home
        .vorik-hero-booking
        .vorik-booking {
            margin: 0 !important;
            padding: 0.9rem !important;

            border-radius:
                1.35rem
                1.35rem
                0
                0 !important;
        }

        /*
         * En-tête du formulaire plus compact
         */

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-heading {
            margin-bottom: 0.65rem !important;
        }

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-kicker {
            display: none !important;
        }

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-heading h2 {
            max-width: none;
            margin: 0 0 0.25rem;

            font-size: 1.25rem !important;
            line-height: 1.12;
        }

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-heading p {
            margin: 0;

            font-size: 0.76rem !important;
            line-height: 1.4;
        }

        /*
         * Onglets plus visibles et plus proches du titre
         */

        .vorik-home .vorik-booking-service-tabs {
            margin-bottom: 0.8rem !important;
        }

        /*
         * Réduire l’espace avant la section suivante
         */

        .vorik-home #vorik-services {
            padding-top: 4.25rem !important;
        }
    }


    /* =======================================================
       VORIK MOBILE HERO DUAL CTA V1
       Deux CTA côte à côte
       ======================================================= */

    @media (max-width:48rem){

        .vorik-home .vorik-hero-actions{

            display:grid !important;
            grid-template-columns:1fr 1fr;
            gap:.65rem;

            margin:0 0 .9rem !important;
        }

        .vorik-home .vorik-hero-actions .vorik-button{

            width:100%;
            justify-content:center;
            min-height:3.35rem;

            border-radius:1rem;

            font-weight:800;
        }

        .vorik-home .vorik-button-primary{

            background:#ffc629 !important;
            border-color:#ffc629 !important;
            color:#111 !important;
        }

        .vorik-home .vorik-button-secondary{

            display:flex !important;

            background:#ffffff !important;
            color:#10233f !important;

            border:2px solid rgba(16,35,63,.14) !important;
            box-shadow:none !important;
        }

    }


    /* =======================================================
       VORIK MOBILE DUAL CTA GUARANTEED V2
       Deux boutons visibles avec icônes
       ======================================================= */

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button,
    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button svg,
    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button svg {
        display: block;

        width: 1.2rem;
        height: 1.2rem;
        flex: 0 0 1.2rem;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button {
        color: #080808 !important;
        background: #ffc629 !important;
        border-color: #ffc629 !important;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button * {
        color: #080808 !important;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border: 1px solid rgba(255, 255, 255, 0.58) !important;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button * {
        color: #ffffff !important;
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-hero-actions {
            display: grid !important;
            grid-template-columns:
                minmax(0, 1fr)
                minmax(0, 1fr);

            gap: 0.6rem;

            width: 100%;
            margin:
                0
                0
                0.9rem
                !important;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button {
            display: inline-flex !important;

            width: 100% !important;
            min-width: 0;
            min-height: 3.35rem;

            margin: 0 !important;
            padding: 0.7rem 0.55rem !important;

            border-radius: 0.95rem;

            font-size: 0.86rem !important;
            font-weight: 900;
            line-height: 1;
            white-space: nowrap;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button svg,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button svg {
            width: 1.15rem;
            height: 1.15rem;
            flex-basis: 1.15rem;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button {
            color: #ffffff !important;
            background: transparent !important;
            border:
                1.5px
                solid
                rgba(255, 255, 255, 0.72)
                !important;

            box-shadow: none !important;
        }
    }

    @media (max-width: 21rem) {

        .vorik-home .vorik-hero-actions {
            gap: 0.4rem;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button {
            padding-inline: 0.35rem !important;
            font-size: 0.76rem !important;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button svg,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button svg {
            width: 1rem;
            height: 1rem;
            flex-basis: 1rem;
        }
    }


    /* =======================================================
       VORIK FINAL RESPONSIVE LAYOUT CLEANUP V1
       Nettoyage desktop/mobile, drawer et hauteur du document
       ======================================================= */

    /*
     * Document normal : aucun espace artificiel après le footer.
     */

    html {
        width: 100%;
        min-height: 100%;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    body {
        width: 100%;
        min-height: 100%;
        margin: 0;
        padding: 0;

        overflow-x: hidden;

        background: #ffffff;
    }

    .vorik-home {
        position: relative;

        width: 100%;
        min-width: 0;
        min-height: 0;

        margin: 0;
        padding-bottom: 0;

        overflow-x: clip;
    }

    .vorik-home main,
    .vorik-home footer,
    .vorik-home section {
        min-height: 0;
    }

    /*
     * Desktop :
     * tous les composants strictement mobiles sont retirés
     * du flux et totalement invisibles.
     */

    .vorik-mobile-menu,
    .vorik-mobile-panel,
    .vorik-mobile-menu-button,
    .vorik-mobile-drawer,
    .vorik-mobile-drawer-overlay,
    .vorik-mobile-activity-nav,
    .vorik-mobile-app-nav {
        display: none !important;
    }

    /*
     * Le footer termine réellement la page.
     */

    .vorik-home .vorik-footer {
        position: relative;
        z-index: 1;

        margin: 0;
    }

    /*
     * Mobile seulement.
     */

    @media (max-width: 48rem) {

        html,
        body {
            min-height: 100%;
        }

        body.vorik-drawer-open {
            overflow: hidden !important;
            overscroll-behavior: none;
            touch-action: none;
        }

        .vorik-home {
            --vorik-mobile-nav-height: 4.75rem;

            padding-bottom:
                calc(
                    var(--vorik-mobile-nav-height)
                    + env(safe-area-inset-bottom)
                    + 0.75rem
                );
        }

        /*
         * Header mobile propre.
         */

        .vorik-home .vorik-header-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;

            width: 100%;
        }

        .vorik-home .vorik-nav,
        .vorik-home .vorik-mobile-menu {
            display: none !important;
        }

        /*
         * Hamburger.
         */

        .vorik-mobile-menu-button {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;

            width: 2.85rem;
            height: 2.85rem;
            flex: 0 0 2.85rem;

            margin-left: auto;
            padding: 0;

            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.25);
            border-radius: 0.85rem;
        }

        /*
         * Overlay.
         * Position fixed : il ne participe jamais à la hauteur.
         */

        .vorik-mobile-drawer-overlay {
            position: fixed !important;
            z-index: 1090;
            inset: 0;

            display: block !important;

            width: 100vw;
            height: 100dvh;

            margin: 0;
            padding: 0;

            visibility: hidden;
            opacity: 0;
            pointer-events: none;

            background: rgba(2, 16, 35, 0.68);

            transition:
                opacity 220ms ease,
                visibility 220ms ease;
        }

        .vorik-mobile-drawer-overlay.is-open {
            visibility: visible;
            opacity: 1;
            pointer-events: auto;
        }

        /*
         * Drawer latéral.
         */

        .vorik-mobile-drawer {
            position: fixed !important;
            z-index: 1100;

            top: 0;
            right: 0;
            bottom: 0;

            display: flex !important;
            flex-direction: column;

            width: min(88vw, 23rem);
            height: 100dvh;
            max-height: 100dvh;

            margin: 0;
            padding:
                calc(1rem + env(safe-area-inset-top))
                1rem
                calc(1rem + env(safe-area-inset-bottom));

            overflow-y: auto;
            overscroll-behavior: contain;

            color: #10233f;
            background: #ffffff;

            visibility: hidden;
            opacity: 0;
            pointer-events: none;

            transform: translateX(105%);

            box-shadow:
                -1.5rem
                0
                4rem
                rgba(2, 16, 35, 0.30);

            transition:
                transform 240ms ease,
                opacity 200ms ease,
                visibility 240ms ease;
        }

        .vorik-mobile-drawer.is-open {
            visibility: visible;
            opacity: 1;
            pointer-events: auto;

            transform: translateX(0);
        }

        /*
         * Barre fixe inférieure.
         */

        .vorik-mobile-activity-nav {
            position: fixed !important;
            z-index: 1000;

            right: 0.55rem;
            bottom:
                calc(
                    0.45rem
                    + env(safe-area-inset-bottom)
                );
            left: 0.55rem;

            display: grid !important;
            grid-template-columns:
                repeat(4, minmax(0, 1fr));

            width: auto;
            height: var(--vorik-mobile-nav-height);

            margin: 0;
            padding: 0.35rem;

            background: rgba(255, 255, 255, 0.97);
            border: 1px solid rgba(16, 35, 63, 0.10);
            border-radius: 1.15rem;

            box-shadow:
                0 1rem 2.5rem rgba(5, 31, 67, 0.22),
                0 0.2rem 0.8rem rgba(5, 31, 67, 0.08);

            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }

        /*
         * Le footer réserve uniquement la hauteur nécessaire
         * pour que la barre fixe ne masque pas son contenu.
         */

        .vorik-home .vorik-footer {
            margin-bottom: 0;

            padding-bottom:
                calc(
                    var(--vorik-mobile-nav-height)
                    + env(safe-area-inset-bottom)
                    + 1.5rem
                ) !important;
        }
    }

    /*
     * Desktop explicite.
     */

    @media (min-width: 48.01rem) {

        .vorik-home {
            padding-bottom: 0 !important;
        }

        .vorik-home .vorik-footer {
            padding-bottom: 1.5rem;
        }

        .vorik-mobile-menu-button,
        .vorik-mobile-drawer,
        .vorik-mobile-drawer-overlay,
        .vorik-mobile-activity-nav,
        .vorik-mobile-app-nav {
            display: none !important;
        }
    }


    /* =======================================================
       VORIK COMPACT MOBILE DRAWER V2
       Drawer compact de type application mobile
       ======================================================= */

    @media (max-width: 48rem) {

        .vorik-mobile-drawer {
            width: clamp(
                16rem,
                58vw,
                20rem
            ) !important;

            max-width: calc(100vw - 2.5rem);

            padding:
                calc(0.9rem + env(safe-area-inset-top))
                0.85rem
                calc(0.9rem + env(safe-area-inset-bottom))
                !important;

            border-radius:
                1.4rem
                0
                0
                1.4rem;
        }

        .vorik-mobile-drawer-header {
            gap: 0.65rem;
            padding-bottom: 0.8rem;
        }

        .vorik-mobile-drawer-brand {
            gap: 0.5rem;
            font-size: 0.95rem;
        }

        .vorik-mobile-drawer-brand-mark {
            width: 2rem;
            height: 2rem;
            flex: 0 0 2rem;

            border-radius: 0.65rem;
            font-size: 0.85rem;
        }

        .vorik-mobile-drawer-close {
            width: 2.4rem;
            height: 2.4rem;
            flex: 0 0 2.4rem;

            border-radius: 0.7rem;
        }

        .vorik-mobile-drawer-nav {
            gap: 0.25rem;
            padding-block: 0.85rem;
        }

        .vorik-mobile-drawer-nav a {
            gap: 0.65rem;

            min-height: 3rem;
            padding: 0.55rem 0.6rem;

            border-radius: 0.75rem;

            font-size: 0.86rem;
            line-height: 1.2;
        }

        .vorik-mobile-drawer-nav-icon {
            width: 2rem;
            height: 2rem;
            flex: 0 0 2rem;

            border-radius: 0.6rem;
        }

        .vorik-mobile-drawer-nav-icon svg {
            width: 1.05rem;
            height: 1.05rem;
        }

        .vorik-mobile-drawer-primary a {
            min-height: 3rem;
            padding: 0.65rem 0.7rem;

            border-radius: 0.8rem;

            font-size: 0.86rem;
        }

        .vorik-mobile-drawer-login {
            margin-top: 0.45rem;
        }

        .vorik-mobile-drawer-help {
            margin-top: 0.55rem;

            font-size: 0.7rem;
            line-height: 1.4;
        }
    }

    /*
     * Très petits écrans :
     * conserver une largeur utilisable sans couvrir tout l’écran.
     */

    @media (max-width: 22rem) {

        .vorik-mobile-drawer {
            width: min(
                76vw,
                17rem
            ) !important;

            max-width: calc(100vw - 1.5rem);
        }
    }



    /* =======================================================
       VORIK STICKY PUBLIC HEADER V1
       Header visible pendant le défilement
       ======================================================= */

    .vorik-home .vorik-header {
        position: sticky !important;
        z-index: 950 !important;
        top: 0 !important;

        width: 100%;

        background: rgba(7, 22, 41, 0.97) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);

        box-shadow:
            0 0.35rem 1.2rem
            rgba(2, 16, 35, 0.16);

        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    /*
     * Empêcher un parent de casser position: sticky.
     */

    .vorik-home {
        overflow-x: clip;
        overflow-y: visible !important;
    }

    .vorik-home > main,
    .vorik-home > footer {
        overflow: visible;
    }

    /*
     * Les ancres restent visibles sous le header sticky.
     */

    html {
        scroll-padding-top: 5.5rem;
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-header {
            position: sticky !important;
            top: 0 !important;
            z-index: 950 !important;
        }

        .vorik-home .vorik-header-inner {
            min-height: 4.1rem;
        }

        html {
            scroll-padding-top: 4.75rem;
        }
    }



    /* =======================================================
       VORIK FIXED PUBLIC HEADER V2
       Header réellement fixé au viewport
       ======================================================= */

    .vorik-home {
        --vorik-public-header-height: 5rem;

        padding-top:
            var(--vorik-public-header-height);
    }

    .vorik-home .vorik-header {
        position: fixed !important;

        top: 0 !important;
        right: 0 !important;
        left: 0 !important;

        z-index: 3000 !important;

        width: 100%;
        min-height:
            var(--vorik-public-header-height);

        margin: 0 !important;

        background:
            rgba(7, 22, 41, 0.98) !important;

        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.12);

        box-shadow:
            0 0.35rem 1.25rem
            rgba(2, 16, 35, 0.2);

        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .vorik-home .vorik-header-inner {
        min-height:
            var(--vorik-public-header-height);
    }

    html {
        scroll-padding-top:
            calc(
                var(--vorik-public-header-height, 5rem)
                + 1rem
            );
    }

    @media (max-width: 48rem) {

        .vorik-home {
            --vorik-public-header-height: 4.25rem;
        }

        .vorik-home .vorik-header {
            min-height:
                var(--vorik-public-header-height);
        }

        .vorik-home .vorik-header-inner {
            min-height:
                var(--vorik-public-header-height);
        }
    }



    /* =======================================================
       VORIK PREMIUM SCROLL HEADER V3
       Effet discret et premium pendant le défilement
       ======================================================= */

    .vorik-home .vorik-header {
        transition:
            background-color 220ms ease,
            box-shadow 220ms ease,
            border-color 220ms ease,
            min-height 220ms ease,
            backdrop-filter 220ms ease,
            -webkit-backdrop-filter 220ms ease;
    }

    .vorik-home .vorik-header-inner {
        transition:
            min-height 220ms ease,
            padding-top 220ms ease,
            padding-bottom 220ms ease;
    }

    .vorik-home .vorik-brand-mark,
    .vorik-home .vorik-brand-name,
    .vorik-home .vorik-brand-tagline,
    .vorik-home .vorik-nav-link,
    .vorik-home .vorik-mobile-menu-button {
        transition:
            transform 220ms ease,
            opacity 220ms ease,
            background-color 220ms ease,
            border-color 220ms ease;
    }

    /*
     * État initial :
     * le header reste légèrement translucide et intégré au Hero.
     */

    .vorik-home .vorik-header:not(.is-scrolled) {
        background:
            rgba(7, 22, 41, 0.90) !important;

        border-bottom-color:
            rgba(255, 255, 255, 0.08);

        box-shadow:
            0 0.15rem 0.75rem
            rgba(2, 16, 35, 0.10);

        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    /*
     * État après défilement.
     */

    .vorik-home .vorik-header.is-scrolled {
        min-height:
            calc(
                var(--vorik-public-header-height)
                - 0.3rem
            );

        background:
            rgba(7, 22, 41, 0.985) !important;

        border-bottom-color:
            rgba(255, 255, 255, 0.16);

        box-shadow:
            0 0.55rem 1.6rem
            rgba(2, 16, 35, 0.24);

        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }

    .vorik-home .vorik-header.is-scrolled
    .vorik-header-inner {
        min-height:
            calc(
                var(--vorik-public-header-height)
                - 0.3rem
            );
    }

    .vorik-home .vorik-header.is-scrolled
    .vorik-brand-mark {
        transform: scale(0.96);
    }

    .vorik-home .vorik-header.is-scrolled
    .vorik-brand-tagline {
        opacity: 0.78;
    }

    .vorik-home .vorik-nav-link {
        position: relative;
    }

    .vorik-home .vorik-nav-link::after {
        content: "";

        position: absolute;
        right: 0.7rem;
        bottom: 0.25rem;
        left: 0.7rem;

        height: 0.12rem;

        background: #f5c400;

        border-radius: 999px;

        opacity: 0;
        transform: scaleX(0.35);
        transform-origin: center;

        transition:
            opacity 180ms ease,
            transform 180ms ease;
    }

    .vorik-home .vorik-nav-link:hover::after,
    .vorik-home .vorik-nav-link:focus-visible::after {
        opacity: 1;
        transform: scaleX(1);
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-header.is-scrolled {
            min-height:
                calc(
                    var(--vorik-public-header-height)
                    - 0.2rem
                );
        }

        .vorik-home .vorik-header.is-scrolled
        .vorik-header-inner {
            min-height:
                calc(
                    var(--vorik-public-header-height)
                    - 0.2rem
                );
        }

        .vorik-home .vorik-header.is-scrolled
        .vorik-mobile-menu-button {
            transform: scale(0.96);
        }
    }

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

        .vorik-home .vorik-header,
        .vorik-home .vorik-header-inner,
        .vorik-home .vorik-brand-mark,
        .vorik-home .vorik-brand-name,
        .vorik-home .vorik-brand-tagline,
        .vorik-home .vorik-nav-link,
        .vorik-home .vorik-mobile-menu-button,
        .vorik-home .vorik-nav-link::after {
            transition: none !important;
        }
    }


    /* VORIK LANGUAGE SWITCHER V1 */

    .vorik-language-switcher {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        padding: 0.22rem;
        background: rgba(255, 255, 255, 0.09);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 999px;
    }

    .vorik-language-link {
        display: inline-grid;
        min-width: 2.35rem;
        min-height: 2rem;
        padding: 0.35rem 0.55rem;
        place-items: center;
        color: #d7e3f0;
        border-radius: 999px;
        font-size: 0.76rem;
        font-weight: 900;
        letter-spacing: 0.05em;
        line-height: 1;
        text-decoration: none;
        transition:
            color 160ms ease,
            background 160ms ease,
            transform 160ms ease;
    }

    .vorik-language-link:hover {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.1);
    }

    .vorik-language-link.is-active {
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
    }

    .vorik-language-link:active {
        transform: scale(0.96);
    }

    .vorik-mobile-language {
        margin-top: 1rem;
        padding: 1rem;
        background: #f4f7fb;
        border: 1px solid #d8e1eb;
        border-radius: 1rem;
    }

    .vorik-mobile-language-title {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        margin: 0 0 0.7rem;
        color: #5d6d82;
        font-size: 0.76rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .vorik-mobile-language-title svg {
        width: 1.05rem;
        height: 1.05rem;
    }

    .vorik-mobile-language-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .vorik-mobile-language-option {
        display: flex;
        min-height: 2.8rem;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        padding: 0.65rem 0.55rem;
        color: #17283f;
        background: #ffffff;
        border: 1px solid #d8e1eb;
        border-radius: 0.8rem;
        font-size: 0.82rem;
        font-weight: 800;
        text-decoration: none;
    }

    .vorik-mobile-language-option.is-active {
        color: #0b1f3a;
        background: #f4c64e;
        border-color: #f4c64e;
        box-shadow: 0 0.5rem 1.2rem rgba(11, 31, 58, 0.1);
    }

    @media (max-width: 63.99rem) {
        .vorik-header .vorik-language-switcher {
            display: none;
        }
    }



/* VORIK BOOKING SUBMIT BLUE START */
.vorik-home .vorik-booking .vorik-booking-submit,
.vorik-home .vorik-booking button.vorik-booking-submit{
    background:#0B1F3A;
    background-color:#0B1F3A;
    border:1px solid #0B1F3A;
    color:#FFFFFF;
}

.vorik-home .vorik-booking .vorik-booking-submit:hover,
.vorik-home .vorik-booking button.vorik-booking-submit:hover{
    background:#142C50;
    background-color:#142C50;
    border-color:#142C50;
    color:#FFFFFF;
}

.vorik-home .vorik-booking .vorik-booking-submit:focus-visible,
.vorik-home .vorik-booking button.vorik-booking-submit:focus-visible {
    background: #0857A6;
    border-color: #0857A6;
    color: #FFFFFF;
    outline: 3px solid rgba(10, 102, 194, 0.28);
    outline-offset: 3px;
}

.vorik-home .vorik-booking .vorik-booking-submit:active,
.vorik-home .vorik-booking button.vorik-booking-submit:active {
    background: #074B91;
    background-color: #074B91;
    border-color: #074B91;
    color: #FFFFFF;
}

.vorik-home .vorik-booking .vorik-booking-submit *,
.vorik-home .vorik-booking button.vorik-booking-submit *{
    color:#FFFFFF;
}
/* VORIK BOOKING SUBMIT BLUE END */


/* ==========================================================
   VORIK HOME R01B
   PREMIUM CONVERSION-FIRST DESKTOP HOME
   ========================================================== */


/* ----------------------------------------------------------
   TYPOGRAPHY SYSTEM

   Premium does not mean tiny text.
   ---------------------------------------------------------- */

.vorik-home {
    --r01-font:
        Inter,
        ui-sans-serif,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    --r01-display:
        clamp(3.5rem, 5.4vw, 5.9rem);

    --r01-h2:
        clamp(2.45rem, 3.8vw, 4rem);

    --r01-h3:
        clamp(1.35rem, 1.7vw, 1.7rem);

    --r01-body:
        1.0625rem;

    --r01-body-large:
        clamp(1.1rem, 1.4vw, 1.25rem);

    --r01-action:
        1.0625rem;

    font-family:
        var(--r01-font);

    font-size:
        16px;

    line-height:
        1.58;
}


/*
 * Do not force users to read 12px information
 * throughout the public conversion surface.
 */

.vorik-home main p,
.vorik-home main li {
    font-size:
        max(1rem, 16px);
}


.vorik-home .vorik-button {
    min-height:
        3.25rem;

    padding:
        0.8rem
        1.2rem;

    font-size:
        1rem;
}



/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */

.vorik-home .vorik-home-r01-hero {
    position:
        relative;

    overflow:
        hidden;

    padding:
        clamp(4.8rem, 7vw, 7.5rem)
        0
        clamp(4.4rem, 7vw, 7rem);

    color:
        #ffffff;

    background:
        radial-gradient(
            circle at 78% 24%,
            rgba(38, 125, 224, 0.38),
            transparent 28rem
        ),
        radial-gradient(
            circle at 75% 95%,
            rgba(255, 198, 41, 0.12),
            transparent 24rem
        ),
        linear-gradient(
            135deg,
            #06182f 0%,
            #08284d 54%,
            #0a3f79 100%
        );
}


.vorik-r01-hero-grid {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.02fr)
        minmax(23rem, 0.78fr);

    align-items:
        center;

    gap:
        clamp(3rem, 7vw, 7rem);
}


.vorik-r01-hero-copy {
    position:
        relative;

    z-index:
        4;

    max-width:
        46rem;
}


.vorik-r01-eyebrow,
.vorik-r01-section-eyebrow {
    margin:
        0
        0
        1.1rem;

    color:
        #ffc629;

    font-size:
        0.9rem !important;

    font-weight:
        900;

    line-height:
        1.3;

    letter-spacing:
        0.105em;

    text-transform:
        uppercase;
}


.vorik-home
.vorik-home-r01-hero
h1 {
    max-width:
        12.5ch;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        var(--r01-display) !important;

    font-weight:
        900;

    line-height:
        0.98 !important;

    letter-spacing:
        -0.058em !important;
}


.vorik-home
.vorik-home-r01-hero
h1 span {
    display:
        block;

    margin-top:
        0.08em;

    color:
        #ffc629;
}


.vorik-r01-hero-description {
    max-width:
        39rem;

    margin:
        1.55rem
        0
        0;

    color:
        rgba(255, 255, 255, 0.86) !important;

    font-size:
        var(--r01-body-large) !important;

    line-height:
        1.62 !important;
}



/* ----------------------------------------------------------
   HERO DESTINATION SEARCH
   ---------------------------------------------------------- */

.vorik-r01-destination-search {
    position:
        relative;

    display:
        grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    max-width:
        45rem;

    min-height:
        4.8rem;

    margin-top:
        2rem;

    padding:
        0.45rem;

    color:
        #10233f;

    background:
        #ffffff;

    border:
        1px solid
        rgba(255, 255, 255, 0.64);

    border-radius:
        1.15rem;

    box-shadow:
        0 1.5rem 3.8rem
        rgba(0, 11, 27, 0.28);
}


.vorik-r01-search-icon {
    display:
        inline-grid;

    width:
        3.1rem;

    height:
        3.1rem;

    margin-left:
        0.2rem;

    place-items:
        center;

    color:
        #0a66c2;

    background:
        #edf5ff;

    border-radius:
        0.9rem;
}


.vorik-r01-search-icon svg {
    width:
        1.5rem;

    height:
        1.5rem;
}


.vorik-r01-destination-search input {
    width:
        100%;

    min-width:
        0;

    min-height:
        3.6rem;

    padding:
        0
        1rem;

    color:
        #10233f;

    background:
        transparent;

    border:
        0;

    outline:
        0;

    font:
        inherit;

    font-size:
        1.1rem;

    font-weight:
        700;
}


.vorik-r01-destination-search input::placeholder {
    color:
        #6a788b;

    opacity:
        1;
}


.vorik-r01-destination-search:focus-within {
    outline:
        4px solid
        rgba(255, 198, 41, 0.28);

    outline-offset:
        3px;
}


.vorik-r01-destination-search button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        0.65rem;

    min-height:
        3.65rem;

    padding:
        0
        1.25rem;

    color:
        #071629;

    background:
        #ffc629;

    border:
        0;

    border-radius:
        0.85rem;

    font:
        inherit;

    font-size:
        1rem;

    font-weight:
        900;

    cursor:
        pointer;

    transition:
        transform 160ms ease,
        background-color 160ms ease;
}


.vorik-r01-destination-search button:hover {
    background:
        #ffd353;

    transform:
        translateX(2px);
}



/* ----------------------------------------------------------
   TRUST SIGNALS IN HERO
   ---------------------------------------------------------- */

.vorik-r01-proof-row {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        0.8rem
        1.5rem;

    margin-top:
        1.45rem;

    color:
        rgba(255, 255, 255, 0.87);
}


.vorik-r01-proof-row span {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        0.48rem;

    font-size:
        0.98rem;

    font-weight:
        750;
}


.vorik-r01-proof-row strong {
    color:
        #ffc629;

    font-size:
        1.15rem;
}



/* ----------------------------------------------------------
   HERO VISUAL
   ---------------------------------------------------------- */

.vorik-r01-hero-visual {
    position:
        relative;

    min-height:
        31rem;
}


.vorik-r01-visual-glow {
    position:
        absolute;

    inset:
        4%
        -5%
        5%
        8%;

    background:
        radial-gradient(
            circle,
            rgba(71, 150, 241, 0.34),
            rgba(15, 64, 116, 0.10) 55%,
            transparent 72%
        );

    border-radius:
        50%;
}


.vorik-r01-trip-preview {
    position:
        absolute;

    z-index:
        2;

    top:
        3rem;

    right:
        0;

    left:
        0;

    max-width:
        28rem;

    margin:
        auto;

    padding:
        1.55rem;

    color:
        #10233f;

    background:
        rgba(255, 255, 255, 0.97);

    border:
        1px solid
        rgba(255, 255, 255, 0.75);

    border-radius:
        1.7rem;

    box-shadow:
        0 2rem 5rem
        rgba(0, 12, 29, 0.32);
}


.vorik-r01-trip-header {
    display:
        flex;

    align-items:
        center;

    gap:
        0.55rem;

    margin-bottom:
        1.2rem;

    color:
        #123a70;

    font-size:
        1rem;

    font-weight:
        950;

    letter-spacing:
        0.11em;
}


.vorik-r01-live-dot {
    width:
        0.7rem;

    height:
        0.7rem;

    background:
        #ffc629;

    border-radius:
        50%;

    box-shadow:
        0 0 0 0.35rem
        rgba(255, 198, 41, 0.18);
}


.vorik-r01-route {
    padding:
        0.5rem
        0.25rem
        0;
}


.vorik-r01-route-point {
    display:
        grid;

    grid-template-columns:
        1.1rem
        minmax(0, 1fr);

    align-items:
        center;

    gap:
        0.8rem;
}


.vorik-r01-route-point > span {
    width:
        0.9rem;

    height:
        0.9rem;

    border:
        3px solid
        #1769b0;

    border-radius:
        50%;
}


.vorik-r01-route-point > span.is-end {
    background:
        #ffc629;

    border-color:
        #ffc629;

    border-radius:
        0.22rem;
}


.vorik-r01-route-point small {
    display:
        block;

    color:
        #728096;

    font-size:
        0.88rem;
}


.vorik-r01-route-point strong {
    display:
        block;

    margin-top:
        0.12rem;

    color:
        #10233f;

    font-size:
        1.05rem;
}


.vorik-r01-route-line {
    width:
        2px;

    height:
        2rem;

    margin:
        0.25rem
        0
        0.25rem
        0.42rem;

    background:
        #c7d5e5;
}


.vorik-r01-car {
    margin-top:
        1.4rem;

    padding:
        0.8rem
        0
        0;

    border-top:
        1px solid
        #e1e8f0;
}


.vorik-r01-car svg {
    width:
        100%;
}



/* ----------------------------------------------------------
   3 PRIORITY SERVICES
   ---------------------------------------------------------- */

.vorik-home
.vorik-r01-services {
    padding:
        clamp(5rem, 7vw, 7rem)
        0;

    background:
        #ffffff;
}


.vorik-r01-section-heading {
    max-width:
        50rem;

    margin:
        0
        0
        2.5rem;
}


.vorik-r01-section-heading h2 {
    margin:
        0;

    color:
        #0b1f3a;

    font-size:
        var(--r01-h2);

    font-weight:
        900;

    line-height:
        1.02;

    letter-spacing:
        -0.045em;
}


.vorik-r01-section-heading > p:last-child {
    max-width:
        44rem;

    margin:
        1rem
        0
        0;

    color:
        #5d6d82;

    font-size:
        var(--r01-body-large) !important;

    line-height:
        1.6;
}


.vorik-r01-service-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap:
        1.35rem;
}


.vorik-r01-service-card {
    position:
        relative;

    display:
        flex;

    min-height:
        25rem;

    flex-direction:
        column;

    padding:
        1.8rem;

    overflow:
        hidden;

    color:
        #10233f !important;

    background:
        #f7f9fc;

    border:
        1px solid
        #dce4ed;

    border-radius:
        1.6rem;

    text-decoration:
        none;

    box-shadow:
        0 0.7rem 2.2rem
        rgba(11, 31, 58, 0.055);

    transition:
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}


.vorik-r01-service-card:hover {
    transform:
        translateY(-0.35rem);

    border-color:
        #b9cee5;

    box-shadow:
        0 1.5rem 3.5rem
        rgba(11, 31, 58, 0.13);
}


.vorik-r01-service-card.is-vtc {
    color:
        #ffffff !important;

    background:
        linear-gradient(
            145deg,
            #071b35,
            #0e3d73
        );

    border-color:
        transparent;
}


.vorik-r01-service-card.is-vtc
.vorik-r01-service-copy strong,
.vorik-r01-service-card.is-vtc
.vorik-r01-service-copy span,
.vorik-r01-service-card.is-vtc
.vorik-r01-service-number {
    color:
        #ffffff;
}


.vorik-r01-service-number {
    align-self:
        flex-end;

    color:
        #8794a5;

    font-size:
        1rem;

    font-weight:
        900;
}


.vorik-r01-service-icon {
    display:
        grid;

    width:
        4.25rem;

    height:
        4.25rem;

    margin-top:
        1rem;

    place-items:
        center;

    color:
        #10233f;

    background:
        #ffc629;

    border-radius:
        1.25rem;
}


.vorik-r01-service-icon svg {
    width:
        2.2rem;

    height:
        2.2rem;
}


.vorik-r01-service-copy {
    display:
        block;

    margin-top:
        auto;

    padding-top:
        3rem;
}


.vorik-r01-service-copy strong {
    display:
        block;

    color:
        #0b1f3a;

    font-size:
        var(--r01-h3);

    font-weight:
        900;

    letter-spacing:
        -0.025em;
}


.vorik-r01-service-copy > span {
    display:
        block;

    margin-top:
        0.8rem;

    color:
        #5d6d82;

    font-size:
        1.05rem;

    line-height:
        1.58;
}


.vorik-r01-service-cta {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        1rem;

    margin-top:
        1.7rem;

    padding-top:
        1.25rem;

    border-top:
        1px solid
        rgba(80, 100, 125, 0.20);

    font-size:
        var(--r01-action);

    font-weight:
        900;
}


.vorik-r01-service-card.is-vtc
.vorik-r01-service-cta {
    border-top-color:
        rgba(255, 255, 255, 0.18);
}


.vorik-r01-service-cta b {
    display:
        grid;

    width:
        2.6rem;

    height:
        2.6rem;

    place-items:
        center;

    color:
        #10233f;

    background:
        #ffc629;

    border-radius:
        50%;

    font-size:
        1.3rem;
}



/* ----------------------------------------------------------
   IMPROVE EXISTING LOWER SECTIONS TYPOGRAPHY
   ---------------------------------------------------------- */

.vorik-home
.vorik-section-heading h2,
.vorik-home
.vorik-tracking-content h2,
.vorik-home
.vorik-final-cta h2,
.vorik-home
.vorik-trust-intro h2 {
    font-size:
        clamp(2.2rem, 3.3vw, 3.5rem);
}


.vorik-home
.vorik-section-heading p,
.vorik-home
.vorik-trust-card p,
.vorik-home
.vorik-tracking-content p,
.vorik-home
.vorik-app-copy p,
.vorik-home
.vorik-final-cta p {
    font-size:
        1.02rem;
}


.vorik-home
.vorik-service-card h3,
.vorik-home
.vorik-vehicle-card h3,
.vorik-home
.vorik-trust-card h3,
.vorik-home
.vorik-partner-card h3 {
    font-size:
        1.2rem;
}


.vorik-home
.vorik-service-card p,
.vorik-home
.vorik-vehicle-card p,
.vorik-home
.vorik-partner-card p {
    font-size:
        1rem;
}



/* ----------------------------------------------------------
   ACCESSIBILITY
   ---------------------------------------------------------- */

.vorik-r01-visually-hidden {
    position:
        absolute !important;

    width:
        1px !important;

    height:
        1px !important;

    padding:
        0 !important;

    margin:
        -1px !important;

    overflow:
        hidden !important;

    clip:
        rect(0, 0, 0, 0) !important;

    white-space:
        nowrap !important;

    border:
        0 !important;
}



/* ----------------------------------------------------------
   LAPTOP
   ---------------------------------------------------------- */

@media (
    min-width: 48.01rem
)
and (
    max-width: 74rem
) {

    .vorik-r01-hero-grid {
        grid-template-columns:
            minmax(0, 1.08fr)
            minmax(19rem, 0.72fr);

        gap:
            3rem;
    }


    .vorik-r01-hero-visual {
        min-height:
            27rem;
    }


    .vorik-r01-trip-preview {
        max-width:
            24rem;
    }


    .vorik-r01-service-card {
        min-height:
            23rem;

        padding:
            1.5rem;
    }

}



/* ----------------------------------------------------------
   TABLET / MOBILE
   ---------------------------------------------------------- */

@media (
    max-width: 48rem
) {

    .vorik-home
    .vorik-home-r01-hero {
        padding:
            2.2rem
            0
            3rem
            !important;
    }


    .vorik-r01-hero-grid {
        display:
            block;

        padding-inline:
            1rem;
    }


    .vorik-r01-hero-copy {
        max-width:
            none;
    }


    .vorik-r01-eyebrow {
        display:
            block !important;

        margin-bottom:
            0.8rem;

        font-size:
            0.8rem !important;
    }


    .vorik-home
    .vorik-home-r01-hero
    h1 {
        display:
            block !important;

        max-width:
            12ch !important;

        margin:
            0 !important;

        font-size:
            clamp(
                2.55rem,
                11vw,
                4rem
            ) !important;

        line-height:
            0.99 !important;
    }


    .vorik-r01-hero-description {
        display:
            block !important;

        margin-top:
            1.25rem !important;

        font-size:
            1.05rem !important;
    }


    .vorik-r01-destination-search {
        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto;

        min-height:
            4.4rem;

        margin-top:
            1.5rem;

        border-radius:
            1rem;
    }


    .vorik-r01-search-icon {
        width:
            2.8rem;

        height:
            2.8rem;
    }


    .vorik-r01-destination-search input {
        min-height:
            3.25rem;

        padding:
            0
            0.65rem;

        font-size:
            1rem;
    }


    .vorik-r01-destination-search button {
        width:
            3.25rem;

        min-height:
            3.25rem;

        padding:
            0;
    }


    .vorik-r01-search-button-label {
        position:
            absolute;

        width:
            1px;

        height:
            1px;

        overflow:
            hidden;

        clip:
            rect(0,0,0,0);
    }


    .vorik-r01-proof-row {
        display:
            grid;

        grid-template-columns:
            1fr;

        gap:
            0.55rem;

        margin-top:
            1.2rem;
    }


    .vorik-r01-proof-row span {
        font-size:
            0.95rem;
    }


    .vorik-r01-hero-visual {
        display:
            none;
    }


    .vorik-home
    .vorik-r01-services {
        padding:
            3.75rem
            0
            4rem;
    }


    .vorik-r01-section-heading {
        margin-bottom:
            1.7rem;
    }


    .vorik-r01-section-heading h2 {
        font-size:
            clamp(
                2.1rem,
                9vw,
                3rem
            );
    }


    .vorik-r01-service-grid {
        grid-template-columns:
            1fr;

        gap:
            1rem;
    }


    .vorik-r01-service-card {
        min-height:
            19rem;

        padding:
            1.4rem;

        border-radius:
            1.35rem;
    }


    .vorik-r01-service-copy {
        padding-top:
            2.3rem;
    }


    .vorik-r01-service-copy strong {
        font-size:
            1.5rem;
    }


    .vorik-r01-service-copy > span {
        font-size:
            1rem;
    }

}



/* ----------------------------------------------------------
   REDUCED MOTION
   ---------------------------------------------------------- */

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

    .vorik-r01-service-card,
    .vorik-r01-destination-search button {
        transition:
            none !important;
    }

}


/* VORIK HOME R01B END */


/* ==========================================================
   VORIK HOME R01D
   PREMIUM VISUAL + READABILITY CONTRACT
   ========================================================== */


/* ----------------------------------------------------------
   GLOBAL PUBLIC HOME READING CONTRACT
   ---------------------------------------------------------- */

.vorik-home {

    --r01d-navy:
        #061a35;

    --r01d-navy-deep:
        #031126;

    --r01d-blue:
        #0c315f;

    --r01d-yellow:
        #ffc629;

    --r01d-text:
        #0a1e3b;

    --r01d-muted:
        #53637a;

    --r01d-border:
        #dce4ef;

    --r01d-soft:
        #f5f8fc;

    --r01d-container:
        92rem;

    font-size:
        16px;

    line-height:
        1.6;
}


.vorik-home main p,
.vorik-home main li,
.vorik-home main a,
.vorik-home main button,
.vorik-home main input {

    text-rendering:
        optimizeLegibility;

    -webkit-font-smoothing:
        antialiased;
}


/*
 * Important:
 * readable content must never become tiny.
 */

.vorik-home main p,
.vorik-home main li {

    font-size:
        clamp(
            1rem,
            0.96rem + 0.12vw,
            1.125rem
        ) !important;

    line-height:
        1.62 !important;
}



/* ----------------------------------------------------------
   WIDER DESKTOP CANVAS
   ---------------------------------------------------------- */

.vorik-home .vorik-container {

    width:
        min(
            calc(100% - 3.5rem),
            var(--r01d-container)
        );

    max-width:
        var(--r01d-container);

    margin-inline:
        auto;
}



/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */

.vorik-home
.vorik-home-r01-hero {

    min-height:
        36rem;

    display:
        flex;

    align-items:
        center;

    padding:
        clamp(4.2rem, 6vw, 6.4rem)
        0
        clamp(3rem, 5vw, 4.6rem);

    background:

        radial-gradient(
            circle at 72% 26%,
            rgba(31, 98, 175, 0.58),
            transparent 30rem
        ),

        radial-gradient(
            circle at 92% 90%,
            rgba(255, 198, 41, 0.09),
            transparent 26rem
        ),

        linear-gradient(
            112deg,
            #041329 0%,
            #061c39 42%,
            #0b315f 72%,
            #06172d 100%
        );

    border-bottom:
        1px solid
        rgba(255,255,255,.08);
}


.vorik-r01-hero-grid {

    grid-template-columns:
        minmax(32rem, 0.88fr)
        minmax(34rem, 1.12fr);

    gap:
        clamp(2rem, 4vw, 5rem);

    align-items:
        center;
}



/* ----------------------------------------------------------
   HERO COPY
   ---------------------------------------------------------- */

.vorik-r01-hero-copy {

    max-width:
        44rem;
}


.vorik-r01-eyebrow {

    margin-bottom:
        1rem;

    font-size:
        0.875rem !important;

    line-height:
        1.3 !important;

    letter-spacing:
        0.13em;
}


.vorik-home
.vorik-home-r01-hero
h1 {

    max-width:
        10.5ch;

    font-size:
        clamp(
            3.8rem,
            4.65vw,
            5.5rem
        ) !important;

    line-height:
        0.98 !important;

    letter-spacing:
        -0.052em !important;
}


.vorik-r01-hero-description {

    max-width:
        38rem;

    margin-top:
        1.4rem;

    color:
        rgba(
            255,
            255,
            255,
            0.88
        ) !important;

    font-size:
        clamp(
            1.075rem,
            1rem + 0.25vw,
            1.25rem
        ) !important;

    line-height:
        1.55 !important;
}



/* ----------------------------------------------------------
   DESTINATION SEARCH
   ---------------------------------------------------------- */

.vorik-r01-destination-search {

    max-width:
        40rem;

    min-height:
        4.2rem;

    margin-top:
        1.75rem;

    padding:
        0.35rem;

    background:
        #ffffff;

    border:
        0;

    border-radius:
        999px;

    box-shadow:
        0 1.25rem 3rem
        rgba(
            0,
            7,
            18,
            .22
        );
}


.vorik-r01-search-icon {

    width:
        2.85rem;

    height:
        2.85rem;

    margin-left:
        0.25rem;

    color:
        #0a1e3b;

    background:
        transparent;

    border-radius:
        50%;
}


.vorik-r01-search-icon svg {

    width:
        1.6rem;

    height:
        1.6rem;
}


.vorik-r01-destination-search input {

    min-height:
        3.4rem;

    font-size:
        1.125rem !important;

    font-weight:
        600;
}


.vorik-r01-destination-search input::placeholder {

    color:
        #768398;

    font-weight:
        500;
}


.vorik-r01-destination-search button {

    width:
        3.45rem;

    height:
        3.45rem;

    min-height:
        3.45rem;

    padding:
        0;

    color:
        #08192f;

    background:
        transparent;

    border-radius:
        50%;

    font-size:
        1.65rem;

    transition:
        background-color 160ms ease,
        transform 160ms ease;
}


.vorik-r01-destination-search button:hover {

    background:
        #ffc629;

    transform:
        translateX(2px);
}


.vorik-r01-search-button-label {

    position:
        absolute;

    width:
        1px;

    height:
        1px;

    padding:
        0;

    margin:
        -1px;

    overflow:
        hidden;

    clip:
        rect(0,0,0,0);

    white-space:
        nowrap;
}



/* ----------------------------------------------------------
   DEFAULT SERVICE
   ---------------------------------------------------------- */

.vorik-r01-default-service {

    display:
        flex;

    align-items:
        center;

    gap:
        1rem;

    margin-top:
        0.8rem;

    color:
        rgba(255,255,255,.86);

    font-size:
        1rem;

    line-height:
        1.4;
}


.vorik-r01-default-service strong {

    color:
        #ffffff;

    font-weight:
        850;
}


.vorik-r01-default-service a {

    color:
        #ffc629;

    font-size:
        1rem !important;

    font-weight:
        800;

    text-decoration:
        none;

    border-bottom:
        1px dashed
        rgba(255,198,41,.72);
}



/* ----------------------------------------------------------
   HERO PROOF ROW
   ---------------------------------------------------------- */

.vorik-r01-proof-row {

    gap:
        1rem
        2rem;

    margin-top:
        1.35rem;
}


.vorik-r01-proof-row span {

    font-size:
        1rem;

    font-weight:
        650;
}



/* ----------------------------------------------------------
   HERO VEHICLE STAGE

   Current vehicle remains operational.
   R01D prepares the proportions for the final photographic
   automobile asset without requiring any backend change.
   ---------------------------------------------------------- */

.vorik-r01-hero-visual {

    min-height:
        29rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;
}


.vorik-r01-visual-glow {

    inset:
        3% -12% -4% 0;

    background:

        radial-gradient(
            ellipse at center,
            rgba(58, 134, 220, 0.36),
            rgba(11, 49, 95, .12) 55%,
            transparent 72%
        );
}


.vorik-r01-trip-preview {

    top:
        auto;

    right:
        auto;

    left:
        auto;

    position:
        relative;

    width:
        min(100%, 34rem);

    max-width:
        34rem;

    margin:
        0;

    padding:
        1.4rem;

    border-radius:
        1.5rem;

    box-shadow:
        0 2.4rem 5rem
        rgba(0,7,18,.34);

    transform:
        perspective(70rem)
        rotateY(-3deg);
}


.vorik-r01-car {

    margin-top:
        1rem;
}


.vorik-r01-car svg {

    width:
        100%;

    transform:
        scale(1.07);

    transform-origin:
        center bottom;
}



/* ----------------------------------------------------------
   SERVICE SECTION
   ---------------------------------------------------------- */

.vorik-home
.vorik-r01-services {

    padding:
        clamp(4rem, 5vw, 5.5rem)
        0
        3.2rem;
}


.vorik-r01-section-heading {

    max-width:
        56rem;

    margin:
        0 auto 2.3rem;

    text-align:
        center;
}


.vorik-r01-section-heading h2 {

    color:
        var(--r01d-text);

    font-size:
        clamp(
            2.6rem,
            3.5vw,
            3.8rem
        );

    line-height:
        1.04;

    letter-spacing:
        -0.045em;
}


.vorik-r01-section-heading > p:last-child {

    max-width:
        44rem;

    margin:
        .85rem auto 0;

    color:
        var(--r01d-muted);

    font-size:
        1.1rem !important;
}



/* ----------------------------------------------------------
   SERVICE CARDS
   ---------------------------------------------------------- */

.vorik-r01-service-grid {

    gap:
        1.4rem;
}


.vorik-r01-service-card {

    min-height:
        20rem;

    padding:
        1.6rem;

    border-radius:
        1.4rem;

    box-shadow:
        0 1rem 2.8rem
        rgba(7,25,49,.07);
}


.vorik-r01-service-card.is-vtc {

    background:

        radial-gradient(
            circle at 92% 26%,
            rgba(35,105,184,.43),
            transparent 15rem
        ),

        linear-gradient(
            145deg,
            #05172e,
            #0c3568
        );
}


.vorik-r01-service-card.is-rental {

    background:

        radial-gradient(
            circle at 90% 25%,
            rgba(185,220,255,.60),
            transparent 16rem
        ),

        linear-gradient(
            145deg,
            #ffffff,
            #edf5fd
        );
}


.vorik-r01-service-card.is-taxi {

    background:

        radial-gradient(
            circle at 90% 20%,
            rgba(255,255,255,.30),
            transparent 15rem
        ),

        linear-gradient(
            145deg,
            #ffbe16,
            #ffd657
        );

    border-color:
        #ffc629;
}


.vorik-r01-service-card.is-taxi
.vorik-r01-service-copy strong,
.vorik-r01-service-card.is-taxi
.vorik-r01-service-copy > span,
.vorik-r01-service-card.is-taxi
.vorik-r01-service-number {

    color:
        #08182d;
}


.vorik-r01-service-icon {

    width:
        3.8rem;

    height:
        3.8rem;

    margin-top:
        .6rem;

    border-radius:
        1rem;
}


.vorik-r01-service-copy {

    padding-top:
        2.35rem;
}


.vorik-r01-service-copy strong {

    font-size:
        clamp(
            1.55rem,
            1.7vw,
            1.9rem
        );

    line-height:
        1.15;
}


.vorik-r01-service-copy > span {

    max-width:
        28rem;

    margin-top:
        .7rem;

    font-size:
        1.0625rem !important;

    line-height:
        1.55 !important;
}


.vorik-r01-service-cta {

    margin-top:
        1.4rem;

    padding-top:
        1.05rem;

    font-size:
        1.0625rem;

    line-height:
        1.4;
}



/* ----------------------------------------------------------
   TRUST

   Convert the existing section into a compact,
   highly readable horizontal information band.
   ---------------------------------------------------------- */

.vorik-home
#vorik-trust {

    padding:
        2rem
        0
        3.8rem;

    background:
        #ffffff;
}


.vorik-trust-layout {

    padding:
        2.2rem;

    background:
        #f4f7fb;

    border:
        1px solid
        #e2e8f1;

    border-radius:
        1.35rem;
}


.vorik-trust-intro {

    max-width:
        43rem;
}


.vorik-trust-intro h2 {

    margin:
        0;

    color:
        var(--r01d-text);

    font-size:
        clamp(
            2rem,
            2.5vw,
            2.75rem
        ) !important;

    line-height:
        1.05;

    letter-spacing:
        -0.04em;
}


.vorik-trust-intro > p:last-child {

    margin-top:
        .8rem;

    color:
        var(--r01d-muted);

    font-size:
        1.0625rem !important;

    line-height:
        1.58 !important;
}


.vorik-trust-grid {

    gap:
        1rem;
}


.vorik-trust-card {

    min-height:
        9rem;

    padding:
        1.25rem;

    background:
        #ffffff;

    border:
        1px solid
        #e1e7f0;

    border-radius:
        1rem;
}


.vorik-trust-card h3 {

    color:
        var(--r01d-text);

    font-size:
        1.0625rem !important;

    line-height:
        1.35;

    font-weight:
        850;
}


.vorik-trust-card p {

    margin-top:
        .45rem;

    color:
        var(--r01d-muted);

    font-size:
        1rem !important;

    line-height:
        1.5 !important;
}


.vorik-trust-number {

    min-width:
        2.35rem;

    height:
        2.35rem;

    display:
        inline-grid;

    place-items:
        center;

    background:
        #ffc629;

    color:
        #07182f;

    border-radius:
        50%;

    font-size:
        .875rem;

    font-weight:
        900;
}



/* ----------------------------------------------------------
   FINAL CTA
   ---------------------------------------------------------- */

.vorik-home
[aria-labelledby="vorik-final-title"] {

    padding:
        1.4rem
        0
        4rem;
}


.vorik-final-cta {

    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    align-items:
        center;

    gap:
        2rem;

    padding:
        2rem
        2.4rem;

    color:
        #ffffff;

    background:

        radial-gradient(
            circle at 90% 20%,
            rgba(29,101,182,.34),
            transparent 20rem
        ),

        linear-gradient(
            120deg,
            #05172f,
            #08294f
        );

    border-radius:
        1.35rem;
}


.vorik-final-cta h2 {

    color:
        #ffffff;

    font-size:
        clamp(
            2rem,
            2.5vw,
            2.8rem
        ) !important;

    line-height:
        1.07;

    letter-spacing:
        -0.035em;
}


.vorik-final-cta p {

    max-width:
        45rem;

    color:
        rgba(255,255,255,.82);

    font-size:
        1.0625rem !important;
}


.vorik-final-cta-actions {

    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        .75rem;
}


.vorik-final-cta
.vorik-button {

    min-height:
        3.35rem;

    padding:
        .75rem
        1.25rem;

    font-size:
        1rem;

    font-weight:
        800;
}



/* ----------------------------------------------------------
   LAPTOP
   ---------------------------------------------------------- */

@media (
    min-width: 48.01rem
)
and (
    max-width: 78rem
) {

    .vorik-home .vorik-container {

        width:
            min(
                calc(100% - 2.5rem),
                var(--r01d-container)
            );
    }


    .vorik-r01-hero-grid {

        grid-template-columns:
            minmax(28rem, 1fr)
            minmax(24rem, .82fr);

        gap:
            2.5rem;
    }


    .vorik-home
    .vorik-home-r01-hero
    h1 {

        font-size:
            clamp(
                3.3rem,
                5.1vw,
                4.5rem
            ) !important;
    }


    .vorik-r01-trip-preview {

        width:
            min(100%, 27rem);
    }


    .vorik-r01-service-card {

        min-height:
            20.5rem;

        padding:
            1.4rem;
    }


    .vorik-trust-layout {

        padding:
            1.6rem;
    }

}



/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (
    max-width: 48rem
) {

    .vorik-home .vorik-container {

        width:
            calc(100% - 2rem);
    }


    .vorik-home
    .vorik-home-r01-hero {

        min-height:
            auto;

        padding:
            2.8rem
            0
            3.4rem
            !important;
    }


    .vorik-home
    .vorik-home-r01-hero
    h1 {

        max-width:
            11ch !important;

        font-size:
            clamp(
                2.75rem,
                11vw,
                4rem
            ) !important;

        line-height:
            1 !important;
    }


    .vorik-r01-hero-description {

        font-size:
            1.0625rem !important;
    }


    .vorik-r01-destination-search {

        width:
            100%;

        max-width:
            none;

        min-height:
            4rem;
    }


    .vorik-r01-destination-search input {

        font-size:
            1rem !important;
    }


    .vorik-r01-default-service {

        gap:
            .7rem;

        font-size:
            .95rem;
    }


    .vorik-r01-proof-row {

        display:
            flex;

        flex-direction:
            column;

        gap:
            .55rem;
    }


    .vorik-r01-proof-row span {

        font-size:
            .975rem;
    }


    .vorik-r01-section-heading {

        text-align:
            left;
    }


    .vorik-r01-section-heading > p:last-child {

        margin-left:
            0;

        margin-right:
            0;
    }


    .vorik-r01-service-card {

        min-height:
            18rem;
    }


    .vorik-trust-layout {

        padding:
            1.25rem;

        border-radius:
            1.1rem;
    }


    .vorik-trust-card {

        min-height:
            auto;
    }


    .vorik-final-cta {

        grid-template-columns:
            1fr;

        padding:
            1.6rem;

        border-radius:
            1.1rem;
    }


    .vorik-final-cta-actions {

        justify-content:
            flex-start;
    }


    .vorik-final-cta
    .vorik-button {

        min-height:
            3.25rem;

        font-size:
            1rem;
    }

}


/* ==========================================================
   VORIK HOME R01D END
   ========================================================== */


/* ==========================================================
   VORIK R01D — HERO TITLE TWO-LINE PREMIUM COMPOSITION
   ========================================================== */

@media (min-width: 64rem) {

    .vorik-r01-hero-copy {
        max-width: 50rem;
    }

    .vorik-home
    .vorik-home-r01-hero
    h1 {
        max-width: none !important;

        font-size:
            clamp(
                3.25rem,
                3.75vw,
                4.65rem
            ) !important;

        line-height: 1.02 !important;
        letter-spacing: -0.05em !important;
        white-space: nowrap;
    }

}


/*
 * Laptop:
 * preserve two lines while reducing type slightly.
 */
@media (min-width: 64rem) and (max-width: 78rem) {

    .vorik-home
    .vorik-home-r01-hero
    h1 {
        font-size:
            clamp(
                2.85rem,
                4vw,
                3.65rem
            ) !important;
    }

}


/*
 * Mobile/tablet must remain naturally responsive.
 * Never force nowrap on narrow screens.
 */
@media (max-width: 63.99rem) {

    .vorik-home
    .vorik-home-r01-hero
    h1 {
        white-space: normal;
    }

}


/* ==========================================================
   VORIK HOME R01D2
   HERO HEADLINE — EXACT TWO LINES ON DESKTOP
   ========================================================== */


/*
 * Desired desktop rendering:
 *
 * Go where you want.
 * VORIK takes care of the journey.
 *
 * We keep both phrases readable and independent.
 */


@media (min-width: 64rem) {

    .vorik-r01-hero-copy {
        max-width: 52rem !important;
    }


    .vorik-home
    .vorik-home-r01-hero
    h1 {
        width: max-content;
        max-width: none !important;

        margin: 0;

        font-size:
            clamp(
                3rem,
                3.45vw,
                4.2rem
            ) !important;

        line-height:
            1.01 !important;

        letter-spacing:
            -0.052em !important;

        white-space:
            nowrap;
    }


    /*
     * R01B already makes the highlighted phrase a block.
     * Explicitly preserve that contract.
     */

    .vorik-home
    .vorik-home-r01-hero
    h1 > span {
        display:
            block !important;

        width:
            max-content;

        margin-top:
            0.08em;

        white-space:
            nowrap;
    }

}


/*
 * Typical laptop widths.
 * Slight reduction protects the 2-line composition
 * without making the headline small.
 */

@media
    (min-width: 64rem)
    and
    (max-width: 80rem) {

    .vorik-home
    .vorik-home-r01-hero
    h1 {
        font-size:
            clamp(
                2.65rem,
                3.55vw,
                3.4rem
            ) !important;
    }

}


/*
 * Tablet/mobile:
 * never force desktop nowrap behavior.
 */

@media (max-width: 63.99rem) {

    .vorik-home
    .vorik-home-r01-hero
    h1 {
        width:
            auto;

        max-width:
            none !important;

        white-space:
            normal;
    }


    .vorik-home
    .vorik-home-r01-hero
    h1 > span {
        width:
            auto;

        white-space:
            normal;
    }

}


/* VORIK HOME R01D2 END */


/* ==========================================================
   VORIK HOME R01D3
   FINAL CTA — KEEP ACTION BUTTONS ON ONE LINE
   ========================================================== */


/*
 * Desktop / laptop
 *
 * French labels are longer than English.
 * Give the CTA actions enough horizontal room and explicitly
 * prevent individual button labels from wrapping.
 */

@media (min-width: 64rem) {

    .vorik-final-cta {
        grid-template-columns:
            minmax(22rem, .8fr)
            minmax(0, 1.2fr) !important;

        column-gap:
            clamp(2rem, 4vw, 5rem) !important;

        align-items:
            center !important;
    }


    .vorik-final-cta-actions {
        display:
            flex !important;

        flex-direction:
            row !important;

        flex-wrap:
            nowrap !important;

        align-items:
            center !important;

        justify-content:
            flex-end !important;

        gap:
            .85rem !important;

        width:
            100%;
    }


    .vorik-final-cta-actions
    .vorik-button {
        width:
            auto !important;

        min-width:
            max-content;

        flex:
            0 0 auto;

        white-space:
            nowrap !important;

        padding-left:
            1.35rem !important;

        padding-right:
            1.35rem !important;
    }

}


/*
 * Medium screens / tablets:
 * still keep both actions side by side when space permits.
 */

@media
    (min-width: 48.01rem)
    and
    (max-width: 63.99rem) {

    .vorik-final-cta {
        grid-template-columns:
            1fr !important;
    }


    .vorik-final-cta-actions {
        display:
            flex !important;

        flex-direction:
            row !important;

        flex-wrap:
            wrap !important;

        justify-content:
            flex-start !important;

        gap:
            .75rem !important;
    }


    .vorik-final-cta-actions
    .vorik-button {
        width:
            auto !important;

        white-space:
            nowrap !important;
    }

}


/*
 * Mobile:
 * vertical buttons are intentional for comfortable tapping.
 */

@media (max-width: 48rem) {

    .vorik-final-cta-actions {
        display:
            grid !important;

        grid-template-columns:
            1fr !important;

        width:
            100%;
    }


    .vorik-final-cta-actions
    .vorik-button {
        width:
            100% !important;

        justify-content:
            center;

        white-space:
            normal !important;
    }

}


/* VORIK HOME R01D3 END */


/* ==========================================================
   VORIK HOME R01D4
   HERO PREMIUM SERVICE SELECTOR
   ========================================================== */


/* ----------------------------------------------------------
   SERVICE TABS CONTAINER
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tabs {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        0.4rem;

    margin-top:
        1.65rem;

    padding:
        0.35rem;

    background:
        rgba(
            255,
            255,
            255,
            0.08
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.15
        );

    border-radius:
        999px;

    box-shadow:
        inset 0 1px 0
        rgba(
            255,
            255,
            255,
            0.08
        );

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);
}



/* ----------------------------------------------------------
   INDIVIDUAL SERVICE TAB
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        0.5rem;

    min-height:
        2.8rem;

    padding:
        0.55rem
        1rem;

    color:
        rgba(
            255,
            255,
            255,
            0.82
        );

    background:
        transparent;

    border:
        1px solid
        transparent;

    border-radius:
        999px;

    font-size:
        0.95rem !important;

    font-weight:
        850;

    line-height:
        1;

    letter-spacing:
        0.015em;

    text-decoration:
        none;

    white-space:
        nowrap;

    cursor:
        pointer;

    transition:
        color 160ms ease,
        background-color 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease,
        transform 160ms ease;
}


.vorik-r01-hero-service-tab:hover {

    color:
        #ffffff;

    background:
        rgba(
            255,
            255,
            255,
            0.10
        );

    transform:
        translateY(-1px);
}



/* ----------------------------------------------------------
   ICON
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab-icon {

    display:
        inline-grid;

    width:
        1.7rem;

    height:
        1.7rem;

    place-items:
        center;

    flex:
        0 0 1.7rem;

    border-radius:
        50%;
}


.vorik-r01-hero-service-tab-icon svg {

    width:
        1.25rem;

    height:
        1.25rem;
}



/* ----------------------------------------------------------
   ACTIVE VTC
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab.is-vtc.is-active {

    color:
        #07182f;

    background:
        #ffc629;

    border-color:
        #ffc629;

    box-shadow:
        0 0.55rem 1.4rem
        rgba(
            255,
            198,
            41,
            0.27
        );
}


.vorik-r01-hero-service-tab.is-vtc.is-active
.vorik-r01-hero-service-tab-icon {

    background:
        rgba(
            7,
            24,
            47,
            0.08
        );
}



/* ----------------------------------------------------------
   TAXI HOVER IDENTITY
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab.is-taxi:hover {

    color:
        #07182f;

    background:
        #ffd34d;

    border-color:
        #ffd34d;
}



/* ----------------------------------------------------------
   RENTAL HOVER IDENTITY
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab.is-rental:hover {

    color:
        #082851;

    background:
        #dceeff;

    border-color:
        #b8d9f7;
}



/* ----------------------------------------------------------
   INPUT FIELD SERVICE ACCENT
   ---------------------------------------------------------- */

.vorik-r01-destination-search {

    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease;
}


/*
 * VTC default
 */

.vorik-r01-destination-search.is-vtc {

    border:
        2px solid
        rgba(
            255,
            198,
            41,
            0.72
        );

    box-shadow:
        0 1.2rem 3rem
            rgba(0, 7, 18, .22),
        0 0 0 .25rem
            rgba(255,198,41,.08);
}


/*
 * The search icon follows VTC identity.
 */

.vorik-r01-destination-search.is-vtc
.vorik-r01-search-icon {

    color:
        #092448;

    background:
        #fff5ce;
}



/* ----------------------------------------------------------
   PREMIUM RELATION BETWEEN TABS AND SEARCH
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tabs
+
.vorik-r01-destination-search {

    margin-top:
        0.75rem;
}



/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 48rem) {

    .vorik-r01-hero-service-tabs {

        display:
            grid;

        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );

        width:
            100%;

        gap:
            0.3rem;

        margin-top:
            1.2rem;

        border-radius:
            1rem;
    }


    .vorik-r01-hero-service-tab {

        min-width:
            0;

        min-height:
            3.1rem;

        padding:
            0.55rem
            0.35rem;

        gap:
            0.3rem;

        font-size:
            0.8rem !important;
    }


    .vorik-r01-hero-service-tab-icon {

        width:
            1.45rem;

        height:
            1.45rem;

        flex-basis:
            1.45rem;
    }


    .vorik-r01-hero-service-tab-icon svg {

        width:
            1.05rem;

        height:
            1.05rem;
    }

}


/* ----------------------------------------------------------
   VERY SMALL MOBILE
   ---------------------------------------------------------- */

@media (max-width: 23rem) {

    .vorik-r01-hero-service-tab {

        font-size:
            0.7rem !important;
    }


    .vorik-r01-hero-service-tab-icon {

        display:
            none;
    }

}


/* VORIK HOME R01D4 END */


/* ==========================================================
   VORIK HOME R01D5
   HERO SERVICE STATE -> SEARCH IDENTITY
   ========================================================== */


/*
 * Tabs are now buttons, not links.
 */

.vorik-r01-hero-service-tab {

    appearance:
        none;

    -webkit-appearance:
        none;

    font-family:
        inherit;

    cursor:
        pointer;
}



/* ----------------------------------------------------------
   RESET ACTIVE STATE
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab {

    color:
        rgba(255,255,255,.82);

    background:
        transparent;

    border-color:
        transparent;

    box-shadow:
        none;
}



/* ----------------------------------------------------------
   VTC ACTIVE
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab.is-vtc.is-active {

    color:
        #07182f !important;

    background:
        #ffc629 !important;

    border-color:
        #ffc629 !important;

    box-shadow:
        0 .55rem 1.4rem
        rgba(255,198,41,.27) !important;
}



/* ----------------------------------------------------------
   TAXI ACTIVE
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab.is-taxi.is-active {

    color:
        #151000 !important;

    background:
        linear-gradient(
            135deg,
            #ffba08,
            #ffd557
        ) !important;

    border-color:
        #ffc629 !important;

    box-shadow:
        0 .55rem 1.4rem
        rgba(255,190,20,.28) !important;
}



/* ----------------------------------------------------------
   RENTAL ACTIVE
   ---------------------------------------------------------- */

.vorik-r01-hero-service-tab.is-rental.is-active {

    color:
        #082851 !important;

    background:
        linear-gradient(
            135deg,
            #e5f3ff,
            #badcff
        ) !important;

    border-color:
        #9bc9f5 !important;

    box-shadow:
        0 .55rem 1.4rem
        rgba(83,155,224,.24) !important;
}



/* ----------------------------------------------------------
   SEARCH VTC
   ---------------------------------------------------------- */

.vorik-r01-destination-search.is-vtc {

    border:
        2px solid
        rgba(255,198,41,.78) !important;

    background:
        #ffffff;

    box-shadow:
        0 1.2rem 3rem rgba(0,7,18,.22),
        0 0 0 .25rem rgba(255,198,41,.08);
}


.vorik-r01-destination-search.is-vtc
.vorik-r01-search-icon {

    color:
        #092448;

    background:
        #fff3bd;
}



/* ----------------------------------------------------------
   SEARCH TAXI
   ---------------------------------------------------------- */

.vorik-r01-destination-search.is-taxi {

    border:
        2px solid
        #ffc629 !important;

    background:
        linear-gradient(
            90deg,
            #fffef8,
            #fff8dc
        );

    box-shadow:
        0 1.2rem 3rem rgba(0,7,18,.22),
        0 0 0 .25rem rgba(255,198,41,.13);
}


.vorik-r01-destination-search.is-taxi
.vorik-r01-search-icon {

    color:
        #161000;

    background:
        #ffc629;
}



/* ----------------------------------------------------------
   SEARCH RENTAL
   ---------------------------------------------------------- */

.vorik-r01-destination-search.is-rental {

    border:
        2px solid
        #9ac8f3 !important;

    background:
        linear-gradient(
            90deg,
            #ffffff,
            #f0f8ff
        );

    box-shadow:
        0 1.2rem 3rem rgba(0,7,18,.22),
        0 0 0 .25rem rgba(82,153,221,.12);
}


.vorik-r01-destination-search.is-rental
.vorik-r01-search-icon {

    color:
        #0a4379;

    background:
        #dceeff;
}



/* ----------------------------------------------------------
   SEARCH BUTTON IDENTITY
   ---------------------------------------------------------- */

.vorik-r01-destination-search.is-vtc button {

    color:
        #07182f;

    background:
        #ffc629;
}


.vorik-r01-destination-search.is-taxi button {

    color:
        #111111;

    background:
        #ffbf1f;
}


.vorik-r01-destination-search.is-rental button {

    color:
        #ffffff;

    background:
        #1769b0;
}



/* ----------------------------------------------------------
   INTERACTION
   ---------------------------------------------------------- */

.vorik-r01-destination-search {

    cursor:
        pointer;
}


.vorik-r01-destination-search input {

    cursor:
        pointer;
}



/* VORIK HOME R01D5 END */


/* ============================================================
   VORIK MOBILE APPS / GOOGLE PLAY - R03
   ============================================================ */

.vorik-apps-section {
    padding: 0 0 4rem;
    background: #ffffff;
}

.vorik-apps-panel {
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid #dce5ef;
    border-radius: 22px;
    background: #f5f8fc;
}

.vorik-apps-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
    align-items: end;
    gap: 2rem;
    margin-bottom: 1.75rem;
}

.vorik-apps-eyebrow {
    display: block;
    margin-bottom: .55rem;
    color: #d99f00;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.vorik-apps-heading h2 {
    max-width: 650px;
    margin: 0;
    color: #071d38;
    font-size: clamp(1.7rem, 3.5vw, 2.35rem);
    line-height: 1.08;
}

.vorik-apps-heading > p {
    margin: 0;
    color: #607086;
    line-height: 1.65;
}

.vorik-apps-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.vorik-app-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 265px;
    padding: 1.5rem;
    overflow: hidden;
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            #071d38 0%,
            #103e73 100%
        );
    color: #ffffff;
}

.vorik-app-card--driver {
    background:
        linear-gradient(
            135deg,
            #0b315d 0%,
            #15589b 100%
        );
}

.vorik-app-card::after {
    content: "";
    position: absolute;
    top: -70px;
    right: -60px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(255, 201, 40, .25);
    border-radius: 50%;
}

.vorik-app-card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.vorik-app-mark {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border-radius: 15px;
    background: #ffc928;
    color: #071d38;
    font-size: 1.25rem;
    font-weight: 900;
}

.vorik-app-mark--driver {
    background: #ffffff;
}

.vorik-app-type {
    display: block;
    margin-bottom: .2rem;
    color: #ffc928;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.vorik-app-card h3 {
    margin: 0;
    color: #ffffff;
    font-size: 1.45rem;
}

.vorik-app-card > p {
    position: relative;
    z-index: 1;
    max-width: 510px;
    margin: 1.15rem 0 1.5rem;
    color: #d7e2ee;
    line-height: 1.65;
}

.vorik-google-play {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: .75rem;
    margin-top: auto;
    min-width: 185px;
    padding: .7rem .95rem;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 11px;
    background: #050505;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.vorik-google-play:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0,0,0,.25);
}

.vorik-google-play-symbol {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    color: #ffffff;
    font-size: 1rem;
}

.vorik-google-play > span:last-child {
    display: flex;
    flex-direction: column;
}

.vorik-google-play small {
    margin-bottom: .05rem;
    color: #ffffff;
    font-size: .54rem;
    line-height: 1;
    letter-spacing: .08em;
}

.vorik-google-play strong {
    color: #ffffff;
    font-size: 1.15rem;
    line-height: 1.15;
}

@media (max-width: 760px) {
    .vorik-apps-heading {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .vorik-apps-grid {
        grid-template-columns: 1fr;
    }

    .vorik-app-card {
        min-height: 245px;
    }
}

@media (max-width: 480px) {
    .vorik-apps-panel {
        padding: 1.15rem;
        border-radius: 18px;
    }

    .vorik-app-card {
        padding: 1.25rem;
    }

    .vorik-google-play {
        width: 100%;
        justify-content: center;
    }
}


/* ============================================================
   VORIK MOBILE APPS - REAL APPLICATION ICONS R04
   ============================================================ */

.vorik-app-icon {
    display: block;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    object-fit: cover;
    border-radius: 14px;
    box-shadow:
        0 5px 14px rgba(0, 0, 0, .16);
}

@media (max-width: 480px) {
    .vorik-app-icon {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
        border-radius: 13px;
    }
}


/* ==========================================================
   VORIK EARLY ACCESS R10A
   ========================================================== */

.vorik-early-access[hidden] {
    display: none !important;
}

.vorik-early-access {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.vorik-early-access-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 19, 32, .66);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    animation: vorikEaFade .2s ease-out;
}

.vorik-early-access-dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 510px);
    max-height: min(760px, calc(100vh - 48px));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 30px;
    border: 1px solid rgba(15, 76, 129, .10);
    border-radius: 28px;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(56, 189, 248, .13),
            transparent 34%
        ),
        #fff;
    box-shadow:
        0 30px 90px rgba(5, 25, 45, .28),
        0 8px 30px rgba(5, 25, 45, .12);
    outline: none;
    animation: vorikEaDialog .28s cubic-bezier(.2,.8,.2,1);
}

.vorik-early-access-handle {
    display: none;
}

.vorik-early-access-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #f2f6f9;
    color: #355166;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    transition:
        transform .18s ease,
        background .18s ease;
}

.vorik-early-access-close:hover {
    background: #e8f0f5;
    transform: rotate(4deg);
}

.vorik-early-access-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 48px 26px 0;
}

.vorik-early-access-app-icon-wrap {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    overflow: hidden;
    border-radius: 17px;
    background: #fff;
    box-shadow:
        0 10px 25px rgba(15, 76, 129, .14),
        0 0 0 1px rgba(15, 76, 129, .08);
}

.vorik-early-access-app-icon-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vorik-early-access-eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #0f75a8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.vorik-early-access-brand strong {
    display: block;
    color: #102c40;
    font-size: 20px;
    font-weight: 800;
}

.vorik-early-access-state h2 {
    margin: 0 0 12px;
    color: #102c40;
    font-size: clamp(25px, 4vw, 32px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.vorik-early-access-lead,
.vorik-early-access-state > p {
    margin: 0 0 24px;
    color: #607483;
    font-size: 15px;
    line-height: 1.65;
}

.vorik-early-access-field {
    display: block;
    margin-bottom: 15px;
}

.vorik-early-access-field > span {
    display: block;
    margin: 0 0 7px;
    color: #29485d;
    font-size: 13px;
    font-weight: 750;
}

.vorik-early-access-field small {
    color: #8293a0;
    font-weight: 500;
}

.vorik-early-access-field input {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    border: 1px solid #d9e4eb;
    border-radius: 14px;
    background: #f9fbfc;
    color: #102c40;
    font: inherit;
    font-size: 16px;
    outline: none;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.vorik-early-access-field input:focus {
    border-color: #38bdf8;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(56,189,248,.13);
}

.vorik-early-access-phone-row {
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 12px;
}

.vorik-early-access-error {
    margin: 4px 0 14px;
    padding: 11px 13px;
    border-radius: 12px;
    background: #fff2f2;
    color: #a53636;
    font-size: 13px;
    line-height: 1.45;
}

.vorik-early-access-submit,
.vorik-early-access-secondary {
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 15px;
    cursor: pointer;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        opacity .18s ease;
}

.vorik-early-access-submit {
    position: relative;
    background: linear-gradient(135deg, #0f4c81, #087eb7);
    color: #fff;
    box-shadow: 0 12px 26px rgba(15,76,129,.23);
}

.vorik-early-access-submit:hover,
.vorik-early-access-secondary:hover {
    transform: translateY(-1px);
}

.vorik-early-access-submit:disabled {
    cursor: wait;
    opacity: .72;
    transform: none;
}

.vorik-early-access-submit.is-loading
    .vorik-early-access-submit-text {
    opacity: 0;
}

.vorik-early-access-spinner {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: vorikEaSpin .7s linear infinite;
}

.vorik-early-access-submit.is-loading
    .vorik-early-access-spinner {
    display: block;
}

.vorik-early-access-secondary {
    margin-top: 6px;
    background: #edf6fb;
    color: #0f4c81;
}

.vorik-early-access-privacy {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    margin: 14px 6px 0;
    color: #81919d;
    font-size: 11.5px;
    line-height: 1.5;
    text-align: center;
}

.vorik-early-access-status-icon {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    margin: 8px auto 22px;
    border-radius: 50%;
    background: #eaf6fc;
    color: #0f75a8;
    font-size: 30px;
    font-weight: 900;
}

.vorik-early-access-status-icon.is-success {
    background: #e9f8f0;
    color: #16824b;
}

.vorik-early-access-status-icon.is-waiting {
    background: #fff5df;
    color: #b47500;
}

.vorik-early-access-state[data-state="checking"],
.vorik-early-access-state[data-state="success"],
.vorik-early-access-state[data-state="invited"] {
    padding: 14px 0 4px;
    text-align: center;
}

.vorik-early-access-success-kicker {
    display: block;
    margin: -6px 0 9px;
    color: #16824b;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .12em;
}

.vorik-early-access-loader {
    width: 29px;
    height: 29px;
    border: 3px solid rgba(15,117,168,.18);
    border-top-color: #0f75a8;
    border-radius: 50%;
    animation: vorikEaSpin .7s linear infinite;
}

body.vorik-early-access-open {
    overflow: hidden;
}

@keyframes vorikEaSpin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes vorikEaFade {
    from {
        opacity: 0;
    }
}

@keyframes vorikEaDialog {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.985);
    }
}

@media (max-width: 640px) {
    .vorik-early-access {
        align-items: flex-end;
        padding: 0;
    }

    .vorik-early-access-dialog {
        width: 100%;
        max-height: min(88vh, 760px);
        padding:
            13px
            20px
            calc(22px + env(safe-area-inset-bottom));
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 26px 26px 0 0;
        animation: vorikEaSheet .3s cubic-bezier(.2,.8,.2,1);
    }

    .vorik-early-access-handle {
        display: block;
        width: 42px;
        height: 5px;
        margin: 0 auto 17px;
        border-radius: 999px;
        background: #d8e2e8;
    }

    .vorik-early-access-close {
        top: 18px;
        right: 17px;
    }

    .vorik-early-access-brand {
        margin-bottom: 19px;
    }

    .vorik-early-access-state h2 {
        font-size: 25px;
    }

    .vorik-early-access-lead,
    .vorik-early-access-state > p {
        margin-bottom: 19px;
        font-size: 14px;
    }
}

@media (max-width: 390px) {
    .vorik-early-access-phone-row {
        grid-template-columns: 92px 1fr;
        gap: 9px;
    }

    .vorik-early-access-dialog {
        padding-right: 17px;
        padding-left: 17px;
    }
}

@keyframes vorikEaSheet {
    from {
        opacity: .4;
        transform: translateY(100%);
    }
}
