
.mkt {
    --mkt-max-width: 1120px;
    --mkt-gap: 1.5rem;
    --mkt-radius: 10px;
    --mkt-fg: #111827;
    --mkt-muted: #6b7280;
    --mkt-bg: #ffffff;
    --mkt-bg-alt: #f9fafb;
    --mkt-border: #e5e7eb;
    --mkt-accent: #1d4ed8;
    --mkt-accent-fg: #ffffff;

    margin: 0;
    color: var(--mkt-fg);
    background: var(--mkt-bg);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    line-height: 1.6;
}

.mkt a { color: inherit; }


.mkt-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mkt-gap);
    flex-wrap: wrap;
    max-width: var(--mkt-max-width);
    margin: 0 auto;
    padding: 1rem 1.25rem;
}

.mkt-logo {
    font-weight: 700;
    font-size: 1.25rem;
    text-decoration: none;
}

.mkt-header__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.mkt-login { text-decoration: none; color: var(--mkt-muted); }
.mkt-login:hover { color: var(--mkt-fg); }



.mkt .mkt-cta,
.mkt a.mkt-cta {
    display: inline-block;
    padding: 0.6rem 1.1rem;
    border-radius: var(--mkt-radius);
    background: var(--mkt-accent);
    color: var(--mkt-accent-fg);
    text-decoration: none;
    font-weight: 600;
}
.mkt-cta:hover { opacity: 0.92; }
.mkt-cta--lg { padding: 0.85rem 1.6rem; font-size: 1.05rem; }


.mkt-main { display: block; }

.mkt-main > section {
    max-width: var(--mkt-max-width);
    margin: 0 auto;
    padding: 3rem 1.25rem;
}

.mkt-main > section:nth-of-type(even) {
    max-width: none;
    background: var(--mkt-bg-alt);
}
.mkt-main > section:nth-of-type(even) > * {
    max-width: var(--mkt-max-width);
    margin-left: auto;
    margin-right: auto;
}

.mkt-hero { text-align: center; }
.mkt-hero h1 { font-size: clamp(1.9rem, 4vw, 2.9rem); margin: 0 0 0.75rem; }
.mkt-hero__subtitle { font-size: 1.15rem; color: var(--mkt-muted); max-width: 42rem; margin: 0 auto 1.75rem; }

.mkt-steps__list,
.mkt-features__grid,
.mkt-pricing__grid {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 0;
    display: grid;
    gap: var(--mkt-gap);
}
.mkt-steps__list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); counter-reset: step; }
.mkt-features__grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.mkt-pricing__grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

.mkt-steps__list li,
.mkt-features__grid li,
.mkt-pricing__card {
    border: 1px solid var(--mkt-border);
    border-radius: var(--mkt-radius);
    padding: 1.5rem;
    background: var(--mkt-bg);
}

.mkt-steps__list li { counter-increment: step; }
.mkt-steps__list li h3::before {
    content: counter(step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    margin-right: 0.5rem;
    border-radius: 50%;
    background: var(--mkt-accent);
    color: var(--mkt-accent-fg);
    font-size: 0.9rem;
}

.mkt-pricing__price { font-size: 1.5rem; font-weight: 700; margin: 0.5rem 0; }
.mkt-pricing__price span { font-size: 0.95rem; font-weight: 400; color: var(--mkt-muted); }
.mkt-pricing__desc,
.mkt-pricing__meta { color: var(--mkt-muted); margin: 0.25rem 0; }
.mkt-pricing__card .mkt-cta { margin-top: 1rem; }

.mkt-faq__list dt { font-weight: 600; margin-top: 1rem; }
.mkt-faq__list dd { margin: 0.25rem 0 0; color: var(--mkt-muted); }

.mkt-final-cta { text-align: center; }


.mkt-footer {
    border-top: 1px solid var(--mkt-border);
    max-width: var(--mkt-max-width);
    margin: 0 auto;
    padding: 2rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mkt-gap);
    flex-wrap: wrap;
}
.mkt-footer__legal { display: flex; gap: 1rem; flex-wrap: wrap; }
.mkt-footer__legal a { color: var(--mkt-muted); text-decoration: none; }
.mkt-footer__legal a:hover { color: var(--mkt-fg); }
.mkt-footer__meta { display: flex; align-items: center; gap: 1rem; }
.mkt-footer__rights { color: var(--mkt-muted); margin: 0; font-size: 0.9rem; }


.mkt-locales { display: flex; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.mkt-locales a { text-decoration: none; color: var(--mkt-muted); text-transform: uppercase; font-size: 0.85rem; }
.mkt-locales a.is-current { color: var(--mkt-fg); font-weight: 700; }


.mkt .field { margin: 0 0 1rem; }
.mkt .field__label { display: block; margin-bottom: 0.35rem; font-weight: 600; font-size: 0.92rem; }
.mkt .field__help { display: block; margin-top: 0.3rem; color: var(--mkt-muted); font-size: 0.85rem; }
.mkt .field__errors { list-style: none; margin: 0.35rem 0 0; padding: 0; color: #b91c1c; font-size: 0.88rem; }
.mkt .field__error { display: flex; align-items: flex-start; gap: 0.3rem; }
.mkt .field__error-icon { width: 1em; height: 1em; flex: none; margin-top: 0.12em; }


.mkt .alert { padding: 0.6rem 0.8rem; border-radius: var(--mkt-radius); margin: 0 0 1rem; font-size: 0.92rem; }
.mkt .alert ul { margin: 0; padding-left: 1.1rem; }
.mkt .alert-danger { background: #fef2f2; color: #b91c1c; }
.mkt .alert-success { background: #f0fdf4; color: #166534; }

.mkt .field__control,
.mkt form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),
.mkt form select,
.mkt form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--mkt-border);
    border-radius: var(--mkt-radius);
    font: inherit;
    color: var(--mkt-fg);
    background: var(--mkt-bg);
}
.mkt form input:focus,
.mkt form select:focus,
.mkt form textarea:focus {
    outline: none;
    border-color: var(--mkt-accent);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.mkt .field--check { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.4rem; }
.mkt .field--check .field__check { width: auto; flex: none; margin: 0; }
.mkt .field__check-label { margin: 0; font-weight: 400; }

.mkt .btn,
.mkt form button:not([type=button]),
.mkt form input[type=submit] {
    display: inline-block;
    padding: 0.6rem 1.1rem;
    border: 0;
    border-radius: var(--mkt-radius);
    background: var(--mkt-accent);
    color: var(--mkt-accent-fg);
    font: inherit;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.mkt .btn:hover,
.mkt form button:not([type=button]):hover { opacity: 0.92; }


.mkt-nav { display: flex; gap: 1.25rem; align-items: center; }
.mkt-nav a { text-decoration: none; color: var(--mkt-muted); }
.mkt-nav a:hover { color: var(--mkt-fg); }
.mkt-section { max-width: 72rem; margin: 0 auto; padding: 3rem 1.5rem; }
.mkt-section--narrow { max-width: 40rem; }
.mkt-lead { color: var(--mkt-muted); font-size: 1.1rem; margin: 0 0 2rem; }
.mkt-prose h2 { margin: 1.5rem 0 0.5rem; }
.mkt-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.5rem; }
.mkt-plan { border: 1px solid var(--mkt-border); border-radius: var(--mkt-radius); padding: 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; }
.mkt-plan__price { font-size: 1.4rem; }
.mkt-plan__setup, .mkt-plan__desc { color: var(--mkt-muted); font-size: 0.92rem; }
.mkt-plan__perks { margin: 0.5rem 0; padding-left: 1.1rem; color: var(--mkt-muted); font-size: 0.9rem; }
.mkt-plan .mkt-cta { margin-top: auto; text-align: center; }
.mkt-pricing__note { margin-top: 1.5rem; color: var(--mkt-muted); font-size: 0.85rem; }
.mkt-cta-band { margin-top: 2rem; text-align: center; }
.mkt-form { display: flex; flex-direction: column; gap: 1rem; max-width: 32rem; }
.mkt-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mkt-contact__direct { margin-top: 1.5rem; color: var(--mkt-muted); font-size: 0.9rem; }
.mkt-empty { color: var(--mkt-muted); }


.subscribe, .subscribe-result { max-width: 60rem; margin: 0 auto; padding: 3rem 1.5rem; }
.subscribe > p { color: var(--mkt-muted); }
.subscribe__offers { list-style: none; margin: 1.5rem 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--mkt-gap); }
.subscribe__offer { border: 1px solid var(--mkt-border); border-radius: var(--mkt-radius); padding: 1.5rem; }
.subscribe__offer h2 { margin: 0 0 0.5rem; }
.subscribe__price { font-size: 1.4rem; font-weight: 700; margin: 0.5rem 0 0.25rem; }
.subscribe__price span { font-size: 0.95rem; font-weight: 400; color: var(--mkt-muted); }
.subscribe__setup, .subscribe__credits { color: var(--mkt-muted); font-size: 0.9rem; margin: 0.1rem 0; }
.subscribe form { max-width: 32rem; margin-top: 1.5rem; }
.subscribe__subdomain { display: flex; align-items: center; gap: 0.5rem; }

.subscribe__subdomain[hidden] { display: none; }
.subscribe__subdomain .field { flex: 1; margin-bottom: 0; }
.subscribe__suffix { color: var(--mkt-muted); white-space: nowrap; }
.subscribe__summary { border: 1px solid var(--mkt-border); background: var(--mkt-bg-alt); border-radius: var(--mkt-radius); padding: 1rem 1.25rem; margin: 0 0 1.5rem; }
.subscribe__summary h2 { margin: 0 0 0.5rem; font-size: 1rem; }
.subscribe__summary p { margin: 0.15rem 0; color: var(--mkt-muted); }
.subscribe__error { padding: 0.6rem 0.8rem; border-radius: var(--mkt-radius); background: #fef2f2; color: #b91c1c; font-size: 0.92rem; }
.subscribe__custom-notice { margin: 0.75rem 0 0; padding: 0.75rem 1rem; background: var(--mkt-bg-alt); border: 1px solid var(--mkt-border); border-radius: var(--mkt-radius); color: var(--mkt-muted); font-size: 0.92rem; }
.subscribe__legal-links { margin-top: 1rem; color: var(--mkt-muted); font-size: 0.9rem; }
.subscribe__legal-links a { color: var(--mkt-accent); }
.siret-status { margin: 0.35rem 0; font-size: 0.9rem; color: var(--mkt-muted); }
.subscribe-result { text-align: center; }
.subscribe-result a { display: inline-block; margin-top: 1rem; color: var(--mkt-accent); }


.mkt-plan__name { margin: 0 0 0.5rem; font-size: 1.25rem; }
.mkt-about__contact { margin-top: 1.5rem; color: var(--mkt-muted); }


.legal-document { max-width: 46rem; margin: 0 auto; padding: 3rem 1.5rem; }
.legal-document h1 { margin: 0 0 1.5rem; }
.legal-document h2 { margin: 2rem 0 0.75rem; font-size: 1.25rem; }
.legal-document h3 { margin: 1.5rem 0 0.5rem; font-size: 1.1rem; }
.legal-document p { margin: 0 0 1rem; }
.legal-document ul, .legal-document ol { margin: 0 0 1rem 1.25rem; }
.legal-document li { margin: 0.25rem 0; }
.legal-document a { color: var(--mkt-accent); }
.legal-document table { width: 100%; border-collapse: collapse; margin: 0 0 1rem; }
.legal-document th, .legal-document td { text-align: left; padding: 0.5rem 0.7rem; border: 1px solid var(--mkt-border); }


.anim-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    border-radius: 8px;
}

.anim-slider .anim-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}


.anim-slider .anim-slide:first-child {
    position: relative;
}

.anim-slider .anim-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.anim-slider .anim-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}


.anim-slider--fade .anim-slide {
    transition: opacity 0.8s ease-in-out;
}


.anim-slider--slide .anim-slide {
    transform: translateX(100%);
    transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out;
}
.anim-slider--slide .anim-slide.is-active {
    transform: translateX(0);
}


.anim-slider--zoom .anim-slide {
    transition: opacity 0.8s ease-in-out;
}
.anim-slider--zoom .anim-slide.is-active img {
    animation: anim-slider-zoom 0.9s ease-out;
}


.anim-slider--kenburns .anim-slide {
    transition: opacity 1s ease-in-out;
}
.anim-slider--kenburns .anim-slide.is-active img {
    animation: anim-slider-kenburns 8s ease-out forwards;
}

@keyframes anim-slider-zoom {
    from { transform: scale(1.08); }
    to { transform: scale(1); }
}

@keyframes anim-slider-kenburns {
    from { transform: scale(1) translate(0, 0); }
    to { transform: scale(1.15) translate(2%, -2%); }
}

@media (prefers-reduced-motion: reduce) {
    .anim-slider .anim-slide,
    .anim-slider .anim-slide.is-active img {
        transition: none;
        animation: none;
    }
}



.ts-wrapper.ts-wrapper {
    height: 30px !important;
    min-height: 30px !important;
    background: var(--mkt-bg) !important;
    border: 1px solid var(--mkt-border) !important;
    border-radius: var(--mkt-radius) !important;
    box-shadow: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    font-family: inherit;
    transition: border-color 0.14s, box-shadow 0.14s;
}

.ts-wrapper.ts-wrapper.focus {
    border-color: var(--mkt-accent) !important;
    box-shadow: none !important;
    outline: none !important;
}
.ts-wrapper.ts-wrapper.disabled {
    background: var(--mkt-bg-alt) !important;
    opacity: 1 !important;
}

.ts-wrapper.ts-wrapper .ts-control {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 1.75rem 0 0.5rem !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: inherit !important;
    color: var(--mkt-fg) !important;
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
}
.ts-wrapper.ts-wrapper .ts-control > .item,
.ts-wrapper.ts-wrapper .ts-control > input {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    line-height: 1.5 !important;
    color: var(--mkt-fg) !important;
}
.ts-wrapper.ts-wrapper .ts-control > input::placeholder {
    color: var(--mkt-muted) !important;
}


.ts-wrapper.ts-wrapper.single .ts-control:after {
    border-color: var(--mkt-muted) transparent transparent !important;
    right: 0.65rem !important;
}
.ts-wrapper.ts-wrapper.single.dropdown-active .ts-control:after {
    border-color: transparent transparent var(--mkt-muted) !important;
}


.ts-dropdown.ts-dropdown {
    background: var(--mkt-bg) !important;
    border: 1px solid var(--mkt-border) !important;
    border-radius: var(--mkt-radius) !important;
    box-shadow: 0 6px 24px -8px rgba(13, 16, 23, 0.18) !important;
    color: var(--mkt-fg) !important;
    font-size: 0.82rem !important;
    margin-top: 4px !important;
    padding: 4px !important;
    overflow: hidden !important;
}
.ts-dropdown.ts-dropdown .ts-dropdown-content {
    padding: 0 !important;
}
.ts-dropdown.ts-dropdown .option {
    border-radius: 6px !important;
    padding: 0.4rem 0.5rem !important;
    color: var(--mkt-fg) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.ts-dropdown.ts-dropdown .option.active {
    background: var(--mkt-bg-alt) !important;
    color: var(--mkt-fg) !important;
}
.ts-dropdown.ts-dropdown .option[aria-selected="true"] {
    font-weight: 600 !important;
}

.ts-dropdown.ts-dropdown .option[aria-disabled="true"] {
    display: none !important;
}


.cp-opt {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}
.cp-opt .fi {
    flex: 0 0 auto;
    width: 1.33em;
    height: 1em;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}
.cp-opt > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.js-phone {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.5rem !important;
    width: 100%;
}

.js-phone > .flex-fill {
    display: none !important;
}

.js-phone .form-group,
.js-phone .form-widget {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    width: auto !important;
}

.js-phone .ts-wrapper.ts-wrapper {
    width: 6.75rem !important;
    min-width: 0 !important;
    max-width: none !important;
}
.js-phone > .ts-wrapper,
.js-phone > *:has(.js-phone-country) {
    flex: 0 0 auto !important;
}

.js-phone > .js-phone-number,
.js-phone > *:has(.js-phone-number) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.js-phone .js-phone-number {
    width: 100% !important;
    border-radius: var(--mkt-radius) !important;
}


.brik-section { position: relative; }
.brik-container { display: grid; gap: var(--brik-gutter, 1.5rem); align-items: start; }
.brik-container + .brik-container { margin-top: var(--brik-gutter, 1.5rem); }

.brik-column { min-width: 0; }
.brik-block + .brik-block { margin-top: var(--brik-gutter, 1.5rem); }

@media (max-width: 768px) {
    .brik-container { grid-template-columns: 1fr !important; }
}

