@charset "UTF-8";

/* ===== cb06-audit-premium-v28.css ===== */
.audit-v28 {
    --a28-navy: #07182d;
    --a28-navy-soft: #0b2d59;
    --a28-blue: #1264f4;
    --a28-cyan: #6fe5d1;
    --a28-green: #087862;
    --a28-ink: #0b1b31;
    --a28-text: #50637b;
    --a28-muted: #74869c;
    --a28-line: #dce5ef;
    --a28-soft: #f5f8fc;
    overflow: hidden;
    color: var(--a28-ink);
    background: #ffffff;
}

.audit-v28 *,
.audit-v28 *::before,
.audit-v28 *::after {
    box-sizing: border-box;
}

.audit-v28__eyebrow {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: var(--a28-blue);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.audit-v28__eyebrow::before {
    width: 27px;
    height: 2px;
    content: "";
    border-radius: 99px;
    background: currentColor;
}

.audit-v28__hero {
    position: relative;
    padding: 54px 0 82px;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 87% 4%,
            rgba(38, 116, 255, .37),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--a28-navy),
            var(--a28-navy-soft)
        );
}

.audit-v28__hero::after {
    position: absolute;
    right: -270px;
    bottom: -480px;
    width: 900px;
    height: 900px;
    content: "";
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    box-shadow:
        0 0 0 90px rgba(255,255,255,.024),
        0 0 0 185px rgba(255,255,255,.016);
}

.audit-v28__hero .container {
    position: relative;
    z-index: 2;
}

.audit-v28__breadcrumb {
    display: flex;
    gap: 9px;
    margin-bottom: 45px;
    color: rgba(255,255,255,.56);
    font-size: 13px;
}

.audit-v28__breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.audit-v28__hero-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(340px, .65fr);
    gap: clamp(55px, 7vw, 105px);
    align-items: center;
}

.audit-v28__hero .audit-v28__eyebrow {
    color: var(--a28-cyan);
}

.audit-v28__hero h1 {
    max-width: 900px;
    margin: 20px 0 0;
    color: #ffffff;
    font-size: clamp(43px, 5vw, 72px);
    font-weight: 690;
    letter-spacing: -.055em;
    line-height: 1;
}

.audit-v28__hero-copy > p {
    max-width: 760px;
    margin: 28px 0 0;
    color: #becddd;
    font-size: 18px;
    line-height: 1.75;
}

.audit-v28__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 21px;
    align-items: center;
    margin-top: 35px;
}

.audit-v28__hero-link {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: #ffffff;
    font-weight: 750;
    text-decoration: none;
}

.audit-v28__hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 47px;
    padding-top: 27px;
    border-top: 1px solid rgba(255,255,255,.13);
}

.audit-v28__hero-metrics div {
    display: grid;
    gap: 4px;
    padding-right: 25px;
}

.audit-v28__hero-metrics div + div {
    padding-left: 25px;
    border-left: 1px solid rgba(255,255,255,.13);
}

.audit-v28__hero-metrics strong {
    color: #ffffff;
    font-size: 19px;
}

.audit-v28__hero-metrics span {
    color: #91a5bc;
    font-size: 11px;
}

.audit-v28__hero-panel {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 27px;
    background: rgba(255,255,255,.075);
    box-shadow: 0 35px 90px rgba(0,0,0,.25);
    backdrop-filter: blur(18px);
}

.audit-v28__hero-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 21px 24px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.audit-v28__hero-panel-head i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--a28-cyan);
    box-shadow: 0 0 0 6px rgba(111,229,209,.13);
}

.audit-v28__hero-score {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 21px;
    align-items: center;
    padding: 26px 24px 20px;
}

.audit-v28__hero-score > span {
    display: grid;
    width: 88px;
    height: 88px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    background: rgba(18,100,244,.2);
    font-size: 18px;
    font-weight: 800;
}

.audit-v28__hero-score strong {
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
}

.audit-v28__hero-score p {
    margin: 8px 0 0;
    color: #9fb1c5;
    font-size: 12px;
    line-height: 1.55;
}

.audit-v28__hero-panel ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 4px 24px 25px;
    list-style: none;
}

.audit-v28__hero-panel li {
    position: relative;
    padding: 12px 14px 12px 40px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 13px;
    background: rgba(255,255,255,.045);
    color: #c3d0df;
    font-size: 12px;
}

.audit-v28__hero-panel li::before {
    position: absolute;
    top: 50%;
    left: 15px;
    content: "✓";
    color: var(--a28-cyan);
    font-weight: 900;
    transform: translateY(-50%);
}

.audit-v28__hero-panel-foot {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 16px 24px;
    border-top: 1px solid rgba(255,255,255,.1);
    color: #9fb1c5;
    font-size: 11px;
}

.audit-v28__hero-panel-foot span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--a28-cyan);
}

.audit-v28__intro,
.audit-v28__request,
.audit-v28__after {
    padding: 95px 0;
}

.audit-v28__request {
    background: var(--a28-soft);
    border-top: 1px solid var(--a28-line);
    border-bottom: 1px solid var(--a28-line);
}

.audit-v28__section-heading {
    display: flex;
    justify-content: space-between;
    gap: 55px;
    align-items: end;
    margin-bottom: 43px;
}

.audit-v28__section-heading > div {
    max-width: 820px;
}

.audit-v28__section-heading h2 {
    margin: 16px 0 0;
    color: var(--a28-ink);
    font-size: clamp(33px, 3.8vw, 53px);
    letter-spacing: -.045em;
    line-height: 1.07;
}

.audit-v28__section-heading > p {
    max-width: 440px;
    margin: 0;
    color: var(--a28-text);
    line-height: 1.75;
}

.audit-v28__axes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.audit-v28__axes article {
    min-height: 265px;
    padding: 28px;
    border: 1px solid var(--a28-line);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 15px 45px rgba(20,48,82,.05);
}

.audit-v28__axes article > span {
    color: #c0ccd9;
    font-size: 30px;
    font-weight: 760;
}

.audit-v28__axes h3 {
    margin: 31px 0 12px;
    color: var(--a28-ink);
    font-size: 23px;
    letter-spacing: -.025em;
}

.audit-v28__axes p {
    margin: 0;
    color: var(--a28-text);
    font-size: 14px;
    line-height: 1.72;
}

.audit-v28__request-grid {
    display: grid;
    grid-template-columns:
        minmax(0, .72fr)
        minmax(560px, 1.28fr);
    gap: clamp(55px, 7vw, 100px);
    align-items: start;
}

.audit-v28__request-copy {
    position: sticky;
    top: 115px;
}

.audit-v28__request-copy h2 {
    margin: 17px 0 0;
    color: var(--a28-ink);
    font-size: clamp(35px, 4vw, 53px);
    letter-spacing: -.045em;
    line-height: 1.06;
}

.audit-v28__request-copy > p {
    margin: 24px 0 0;
    color: var(--a28-text);
    line-height: 1.75;
}

.audit-v28__benefits {
    display: grid;
    gap: 16px;
    margin-top: 32px;
}

.audit-v28__benefits > div {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 13px;
}

.audit-v28__benefits > div > span {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 10px;
    background: #e8f8f4;
    color: var(--a28-green);
    font-size: 12px;
    font-weight: 900;
}

.audit-v28__benefits p {
    display: grid;
    gap: 4px;
    margin: 0;
    color: var(--a28-muted);
    font-size: 13px;
    line-height: 1.5;
}

.audit-v28__benefits strong {
    color: var(--a28-ink);
    font-size: 14px;
}

.audit-v28__privacy {
    display: grid;
    gap: 9px;
    margin-top: 34px;
    padding: 24px;
    border-radius: 20px;
    background: var(--a28-navy);
    color: #ffffff;
}

.audit-v28__privacy > span {
    color: #ffffff;
    font-weight: 750;
}

.audit-v28__privacy p {
    margin: 0;
    color: #aebed0;
    font-size: 13px;
    line-height: 1.65;
}

.audit-v28__privacy a {
    display: inline-flex;
    gap: 9px;
    width: fit-content;
    color: var(--a28-cyan);
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.audit-v28__form-shell {
    overflow: hidden;
    border: 1px solid var(--a28-line);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 35px 90px rgba(20,48,82,.11);
}

.audit-v28__form-heading {
    padding: 31px 34px 26px;
    border-bottom: 1px solid var(--a28-line);
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(18,100,244,.11),
            transparent 39%
        ),
        #ffffff;
}

.audit-v28__form-heading > span {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 99px;
    background: #edf4ff;
    color: var(--a28-blue);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.audit-v28__form-heading h2 {
    margin: 16px 0 0;
    color: var(--a28-ink);
    font-size: 30px;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.audit-v28__form-heading p {
    margin: 10px 0 0;
    color: var(--a28-muted);
    font-size: 13px;
}

.audit-v28__progress {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 22px 28px 21px;
    border-bottom: 1px solid var(--a28-line);
    background: #fbfcfe;
}

.audit-v28__progress button {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--a28-muted);
    font: inherit;
    cursor: default;
}

.audit-v28__progress button > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid var(--a28-line);
    border-radius: 50%;
    background: #ffffff;
    font-size: 11px;
    font-weight: 800;
}

.audit-v28__progress button strong {
    font-size: 10px;
    font-weight: 750;
}

.audit-v28__progress button.is-active,
.audit-v28__progress button.is-complete {
    color: var(--a28-blue);
}

.audit-v28__progress button.is-active > span,
.audit-v28__progress button.is-complete > span {
    border-color: var(--a28-blue);
    background: var(--a28-blue);
    color: #ffffff;
}

.audit-v28__progress > i {
    position: absolute;
    top: 38px;
    left: 12.5%;
    z-index: 1;
    width: 0;
    max-width: 75%;
    height: 2px;
    background: var(--a28-blue);
    transition: width .25s ease;
}

.audit-v28__progress::before {
    position: absolute;
    top: 38px;
    right: 12.5%;
    left: 12.5%;
    height: 2px;
    content: "";
    background: var(--a28-line);
}

.audit-v28__form {
    padding: 31px 34px 35px;
}

.audit-v28__step > header {
    margin-bottom: 26px;
}

.audit-v28__step > header > span {
    color: var(--a28-blue);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.audit-v28__step > header h3 {
    margin: 9px 0 0;
    color: var(--a28-ink);
    font-size: 25px;
    letter-spacing: -.03em;
}

.audit-v28__step > header p {
    margin: 8px 0 0;
    color: var(--a28-muted);
    font-size: 13px;
    line-height: 1.6;
}

.audit-v28__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.audit-v28__field {
    display: grid;
    gap: 8px;
}

.audit-v28__field > span,
.audit-v28__choices legend {
    color: var(--a28-ink);
    font-size: 12px;
    font-weight: 760;
}

.audit-v28__field input,
.audit-v28__field select,
.audit-v28__field textarea {
    width: 100%;
    min-height: 51px;
    padding: 12px 14px;
    border: 1px solid #d5dfeb;
    border-radius: 13px;
    outline: none;
    background: #ffffff;
    color: var(--a28-ink);
    font: inherit;
    font-size: 14px;
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.audit-v28__field textarea {
    resize: vertical;
    line-height: 1.65;
}

.audit-v28__field input:focus,
.audit-v28__field select:focus,
.audit-v28__field textarea:focus {
    border-color: rgba(18,100,244,.65);
    box-shadow: 0 0 0 4px rgba(18,100,244,.1);
}

.audit-v28__field--full {
    grid-column: 1 / -1;
}

.audit-v28__choices {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
}

.audit-v28__choices legend {
    grid-column: 1 / -1;
    margin-bottom: 1px;
}

.audit-v28__choices label {
    display: flex;
    gap: 10px;
    align-items: center;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--a28-line);
    border-radius: 12px;
    background: #fbfcfe;
    color: var(--a28-text);
    font-size: 12px;
    cursor: pointer;
}

.audit-v28__choices input {
    width: 17px;
    height: 17px;
    accent-color: var(--a28-blue);
}

.audit-v28__choices.is-invalid {
    padding: 12px;
    border: 1px solid #d92d20;
    border-radius: 13px;
    background: #fff5f4;
}

.audit-v28__step-actions {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid var(--a28-line);
}

.audit-v28__next,
.audit-v28__back,
.audit-v28__submit {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    min-height: 49px;
    padding: 11px 18px;
    border-radius: 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 780;
    cursor: pointer;
}

.audit-v28__next,
.audit-v28__submit {
    border: 0;
    background: var(--a28-blue);
    color: #ffffff;
    box-shadow: 0 13px 28px rgba(18,100,244,.2);
}

.audit-v28__back {
    border: 1px solid var(--a28-line);
    background: #ffffff;
    color: var(--a28-ink);
}

.audit-v28__submit {
    min-width: 300px;
    justify-content: space-between;
}

.audit-v28__submit i {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 10px;
    background: rgba(255,255,255,.15);
    font-style: normal;
}

.audit-v28__submit:disabled {
    opacity: .65;
    cursor: wait;
}

.audit-v28__consent {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 11px;
    margin-top: 22px;
    color: var(--a28-muted);
    font-size: 12px;
    line-height: 1.55;
    cursor: pointer;
}

.audit-v28__consent input {
    width: 17px;
    height: 17px;
    accent-color: var(--a28-blue);
}

.audit-v28__submit-note {
    margin: 13px 0 0;
    color: var(--a28-muted);
    font-size: 11px;
    text-align: right;
}

.audit-v28__error {
    margin-top: 18px;
    padding: 15px 17px;
    border: 1px solid #edc0c0;
    border-radius: 13px;
    background: #fff1f1;
    color: #a51d1d;
    font-size: 13px;
    line-height: 1.55;
}

.audit-v28__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.audit-v28__after-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.audit-v28__after-grid article {
    padding: 28px;
    border: 1px solid var(--a28-line);
    border-radius: 21px;
    background: #ffffff;
}

.audit-v28__after-grid article > span {
    color: #c0ccd9;
    font-size: 29px;
    font-weight: 760;
}

.audit-v28__after-grid h3 {
    margin: 29px 0 11px;
    font-size: 22px;
}

.audit-v28__after-grid p {
    margin: 0;
    color: var(--a28-text);
    font-size: 14px;
    line-height: 1.7;
}

/* Confirmation */

.audit-v28-confirmation {
    padding: clamp(25px, 5vw, 44px);
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(18,100,244,.11),
            transparent 37%
        ),
        #ffffff;
}

.audit-v28-confirmation__heading {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 21px;
}

.audit-v28-confirmation__icon {
    display: grid;
    width: 61px;
    height: 61px;
    place-items: center;
    border: 1px solid #b9e6da;
    border-radius: 18px;
    background: #e9faf5;
    color: var(--a28-green);
    font-size: 28px;
    font-weight: 900;
}

.audit-v28-confirmation__eyebrow {
    display: block;
    margin-bottom: 9px;
    color: var(--a28-green);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.audit-v28-confirmation h2 {
    margin: 0;
    color: var(--a28-ink);
    font-size: clamp(29px, 4vw, 42px);
    letter-spacing: -.04em;
    line-height: 1.08;
}

.audit-v28-confirmation__heading p {
    margin: 14px 0 0;
    color: var(--a28-muted);
    line-height: 1.65;
}

.audit-v28-confirmation__meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 28px 0 19px;
    overflow: hidden;
    border-radius: 16px;
    background: rgba(255,255,255,.12);
}

.audit-v28-confirmation__meta > div {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 17px 18px;
    background: var(--a28-navy);
}

.audit-v28-confirmation__meta span {
    color: #91a5bb;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.audit-v28-confirmation__meta strong {
    color: #ffffff;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.audit-v28-confirmation__details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--a28-line);
    border-radius: 17px;
    background: var(--a28-line);
}

.audit-v28-confirmation__details > div {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 17px 19px;
    background: #ffffff;
}

.audit-v28-confirmation__details span {
    color: var(--a28-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.audit-v28-confirmation__details strong {
    color: var(--a28-ink);
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.audit-v28-confirmation__next {
    margin-top: 19px;
    padding: 18px 20px;
    border-left: 3px solid var(--a28-blue);
    background: #f3f7ff;
}

.audit-v28-confirmation__next p {
    margin: 5px 0 0;
    color: var(--a28-muted);
    font-size: 13px;
    line-height: 1.55;
}

.audit-v28-confirmation__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 23px;
}

.audit-v28-confirmation__actions button,
.audit-v28-confirmation__actions a {
    display: inline-flex;
    min-height: 45px;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid var(--a28-line);
    border-radius: 12px;
    background: #ffffff;
    color: var(--a28-ink);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.audit-v28-confirmation__actions button:first-child {
    border-color: var(--a28-blue);
    background: var(--a28-blue);
    color: #ffffff;
}

@media (max-width: 1080px) {
    .audit-v28__hero-grid,
    .audit-v28__request-grid {
        grid-template-columns: 1fr;
    }

    .audit-v28__hero-panel {
        max-width: 760px;
    }

    .audit-v28__request-copy {
        position: static;
    }
}

@media (max-width: 820px) {
    .audit-v28__intro,
    .audit-v28__request,
    .audit-v28__after {
        padding: 70px 0;
    }

    .audit-v28__section-heading {
        display: grid;
        gap: 18px;
    }

    .audit-v28__axes,
    .audit-v28__after-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {
    .audit-v28__hero {
        padding: 38px 0 55px;
    }

    .audit-v28__hero h1 {
        font-size: 41px;
    }

    .audit-v28__hero-metrics,
    .audit-v28__axes,
    .audit-v28__after-grid,
    .audit-v28__fields,
    .audit-v28__choices {
        grid-template-columns: 1fr;
    }

    .audit-v28__hero-metrics {
        gap: 17px;
    }

    .audit-v28__hero-metrics div,
    .audit-v28__hero-metrics div + div {
        padding: 0;
        border-left: 0;
    }

    .audit-v28__hero-metrics div + div {
        padding-top: 17px;
        border-top: 1px solid rgba(255,255,255,.12);
    }

    .audit-v28__progress {
        padding-right: 12px;
        padding-left: 12px;
    }

    .audit-v28__progress button strong {
        display: none;
    }

    .audit-v28__form-heading,
    .audit-v28__form {
        padding-right: 22px;
        padding-left: 22px;
    }

    .audit-v28__field--full {
        grid-column: auto;
    }

    .audit-v28__step-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .audit-v28__next,
    .audit-v28__back,
    .audit-v28__submit {
        width: 100%;
        min-width: 0;
    }

    .audit-v28__step-actions > span {
        display: none;
    }

    .audit-v28-confirmation__heading,
    .audit-v28-confirmation__meta,
    .audit-v28-confirmation__details {
        grid-template-columns: 1fr;
    }

    .audit-v28-confirmation__actions {
        display: grid;
    }

    .audit-v28-confirmation__actions button,
    .audit-v28-confirmation__actions a {
        width: 100%;
    }
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .audit-v28-confirmation,
    .audit-v28-confirmation * {
        visibility: visible !important;
    }

    .audit-v28-confirmation {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .audit-v28-confirmation__actions {
        display: none !important;
    }
}


/* ===== cb06-contact-unique-v27b.css ===== */
.contact-v27b-confirmation {
    --v27b-navy: #07182d;
    --v27b-blue: #1264f4;
    --v27b-green: #087862;
    --v27b-muted: #66788e;
    --v27b-line: #dce5ef;

    width: 100%;
    padding: clamp(26px, 5vw, 47px);
    border: 1px solid var(--v27b-line);
    border-radius: 27px;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(18, 100, 244, .12),
            transparent 38%
        ),
        #ffffff;
    box-shadow:
        0 32px 90px
        rgba(10, 38, 72, .13);
    color: var(--v27b-navy);
    scroll-margin-top: 120px;
}

.contact-v27b-confirmation *,
.contact-v27b-confirmation *::before,
.contact-v27b-confirmation *::after {
    box-sizing: border-box;
}

.contact-v27b-confirmation__heading {
    display: grid;
    grid-template-columns:
        66px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.contact-v27b-confirmation__icon {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    border: 1px solid #b9e6da;
    border-radius: 19px;
    background: #e9faf5;
    color: var(--v27b-green);
    font-size: 29px;
    font-weight: 900;
}

.contact-v27b-confirmation__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--v27b-green);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.contact-v27b-confirmation h2 {
    max-width: 770px;
    margin: 0;
    color: var(--v27b-navy);
    font-size: clamp(30px, 4vw, 45px);
    font-weight: 690;
    letter-spacing: -.043em;
    line-height: 1.08;
}

.contact-v27b-confirmation__heading p {
    max-width: 750px;
    margin: 15px 0 0;
    color: var(--v27b-muted);
    font-size: 15px;
    line-height: 1.7;
}

.contact-v27b-confirmation__meta {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 29px 0 20px;
    overflow: hidden;
    border-radius: 17px;
    background:
        rgba(255, 255, 255, .13);
}

.contact-v27b-confirmation__meta > div {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 18px 20px;
    background: var(--v27b-navy);
}

.contact-v27b-confirmation__meta span {
    color: #92a5ba;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contact-v27b-confirmation__meta strong {
    color: #ffffff;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.contact-v27b-confirmation__details {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--v27b-line);
    border-radius: 18px;
    background: var(--v27b-line);
}

.contact-v27b-confirmation__details > div {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 18px 20px;
    background: #ffffff;
}

.contact-v27b-confirmation__details span {
    color: var(--v27b-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contact-v27b-confirmation__details strong {
    color: var(--v27b-navy);
    font-size: 14px;
    font-weight: 680;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.contact-v27b-confirmation__next {
    margin-top: 20px;
    padding: 19px 21px;
    border-left: 3px solid var(--v27b-blue);
    background: #f3f7ff;
}

.contact-v27b-confirmation__next strong {
    color: var(--v27b-navy);
    font-size: 14px;
}

.contact-v27b-confirmation__next p {
    margin: 6px 0 0;
    color: var(--v27b-muted);
    font-size: 13px;
    line-height: 1.58;
}

.contact-v27b-confirmation__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.contact-v27b-confirmation__actions button,
.contact-v27b-confirmation__actions a {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    border: 1px solid var(--v27b-line);
    border-radius: 12px;
    background: #ffffff;
    color: var(--v27b-navy);
    font: inherit;
    font-size: 13px;
    font-weight: 760;
    text-decoration: none;
    cursor: pointer;
}

.contact-v27b-confirmation__actions
button:first-child {
    border-color: var(--v27b-blue);
    background: var(--v27b-blue);
    color: #ffffff;
}

.contact-v27b-error {
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid #ecc0c0;
    border-radius: 13px;
    background: #fff1f1;
    color: #a51d1d;
    font-size: 13px;
    line-height: 1.58;
}

@media print {
    body * {
        visibility: hidden !important;
    }

    .contact-v27b-confirmation,
    .contact-v27b-confirmation * {
        visibility: visible !important;
    }

    .contact-v27b-confirmation {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        border: 0;
        box-shadow: none;
    }

    .contact-v27b-confirmation__actions {
        display: none !important;
    }
}

@media (max-width: 700px) {
    .contact-v27b-confirmation {
        padding: 24px;
        border-radius: 21px;
    }

    .contact-v27b-confirmation__heading {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .contact-v27b-confirmation__meta,
    .contact-v27b-confirmation__details {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .contact-v27b-confirmation__actions {
        display: grid;
    }

    .contact-v27b-confirmation__actions button,
    .contact-v27b-confirmation__actions a {
        width: 100%;
    }
}


/* ===== app.css ===== */

:root{
  --ink:#081426;--ink-2:#11213a;--ink-3:#203451;--paper:#fff;--soft:#f4f7fb;--soft-2:#e9eff7;
  --line:#dbe4ef;--muted:#5d6d82;--muted-2:#8290a3;--brand:#1468ff;--brand-2:#19a8ff;
  --accent:#90f3d1;--warm:#ffca80;--danger:#b42318;--success:#067647;--shadow:0 24px 80px rgba(8,20,38,.12);
  --shadow-sm:0 12px 40px rgba(8,20,38,.08);--radius:26px;--radius-sm:16px;--container:1240px;
  --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,6vw,5.7rem);margin-bottom:24px}h2{font-size:clamp(2.15rem,4vw,4rem);margin-bottom:22px}h3{font-size:1.35rem;letter-spacing:-.025em}p{color:var(--muted)}strong{color:var(--ink)}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{padding:112px 0}.section--soft{background:var(--soft)}.section--dark{background:var(--ink);color:#fff}.section--dark p,.section--dark strong{color:#c7d3e5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:56px}.section-heading>div:first-child{max-width:780px}.section-heading>p{max-width:470px;margin:0}.section-heading--light h2,.section-heading--light strong{color:#fff}.split-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:80px;align-items:start}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;color:var(--brand);font-size:.77rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.eyebrow--light{color:var(--accent)}.eyebrow__dot,.announcement__dot{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 6px rgba(144,243,209,.13)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:800}.text-link svg,.btn svg,.service-card__arrow svg,.service-row__arrow svg{width:18px;height:18px;transition:transform .2s}.text-link:hover svg,.btn:hover svg{transform:translateX(4px)}.text-link--light{color:var(--accent)}
.skip-link{position:fixed;z-index:9999;top:10px;left:10px;transform:translateY(-150%);padding:12px 18px;background:#fff;border-radius:10px;box-shadow:var(--shadow);font-weight:800}.skip-link:focus{transform:none}.announcement{background:#06101e;color:#dce8f8;font-size:.82rem}.announcement__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.announcement__inner>span{display:flex;align-items:center;gap:12px}.announcement a{display:flex;gap:8px;align-items:center;color:#fff;font-weight:700}.announcement svg{width:15px}.site-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(219,228,239,.8);backdrop-filter:blur(20px);transition:box-shadow .25s,background .25s}.site-header.is-scrolled{box-shadow:0 12px 35px rgba(8,20,38,.08);background:rgba(255,255,255,.96)}.header__inner{height:82px;display:flex;align-items:center;gap:35px}.brand{display:flex;flex:0 0 auto}.brand img,.footer-brand img,.admin-top img,.admin-login__card img{width:210px;height:auto}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:5px;margin-left:auto}.nav-link{padding:11px 13px;border-radius:10px;color:var(--ink-3);font-size:.91rem;font-weight:700;white-space:nowrap}.nav-link:hover{background:var(--soft);color:var(--brand)}.nav-link--button{display:flex;align-items:center;gap:5px;border:0;background:transparent}.nav-link--button svg{width:15px;transform:rotate(90deg)}.nav-group{position:relative}.mega-menu{position:absolute;top:calc(100% + 20px);left:50%;width:min(940px,calc(100vw - 50px));padding:26px;display:grid;grid-template-columns:270px 1fr;gap:30px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:.2s}.nav-group.is-open .mega-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.mega-menu:before{content:"";position:absolute;top:-21px;left:0;right:0;height:22px}.mega-menu__intro{padding:26px;border-radius:18px;background:linear-gradient(145deg,var(--ink),#17325a);color:#fff}.mega-menu__intro strong{display:block;color:#fff;font-size:1.5rem;line-height:1.15;margin-bottom:14px}.mega-menu__intro p{color:#b8c7dc;font-size:.9rem}.mega-menu__links{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.mega-menu__links>a{display:flex;gap:14px;padding:13px;border-radius:14px}.mega-menu__links>a:hover{background:var(--soft)}.mega-menu__links strong,.mega-menu__links small{display:block}.mega-menu__links strong{font-size:.9rem}.mega-menu__links small{margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.35}.mega-menu__icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;background:#eaf2ff;color:var(--brand)}.mega-menu__icon svg{width:19px}.header__actions{display:flex;align-items:center;gap:10px}.header-phone{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:800;white-space:nowrap}.header-phone svg{width:17px;color:var(--brand)}.mobile-toggle{display:none;place-items:center;width:45px;height:45px;border:1px solid var(--line);background:#fff;border-radius:12px}.mobile-toggle svg{width:23px}.mobile-toggle span:last-child{display:none}.mobile-toggle[aria-expanded=true] span:first-child{display:none}.mobile-toggle[aria-expanded=true] span:last-child{display:block}.mobile-panel{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 120px);overflow:auto;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mobile-panel.is-open{display:block}.mobile-panel nav{display:grid;padding:20px}.mobile-panel nav a{padding:13px;border-bottom:1px solid var(--line);font-weight:800}.mobile-panel nav .mobile-sub{padding-left:24px;color:var(--muted);font-size:.88rem;font-weight:600}.mobile-panel__actions{display:grid;gap:10px;padding:0 20px 25px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 22px;border:1px solid transparent;border-radius:13px;font-weight:800;line-height:1.1;transition:transform .2s,box-shadow .2s,background .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn--primary{color:#fff;background:linear-gradient(135deg,var(--brand),#0c55dd);box-shadow:0 13px 30px rgba(20,104,255,.22)}.btn--primary:hover{box-shadow:0 17px 38px rgba(20,104,255,.3)}.btn--ghost{background:#fff;border-color:var(--line)}.btn--light{background:#fff;color:var(--ink)}.btn--outline-light{border-color:rgba(255,255,255,.25);color:#fff}.btn--small{min-height:43px;padding:10px 16px;font-size:.87rem}.btn--large{min-height:58px;padding:15px 25px}.btn--full{width:100%}
.hero{position:relative;overflow:hidden}.hero--home{min-height:780px;padding:108px 0 68px;background:radial-gradient(circle at 14% 10%,rgba(25,168,255,.12),transparent 34%),linear-gradient(180deg,#f9fbff 0%,#fff 70%)}.hero__mesh{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(rgba(20,104,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(20,104,255,.08) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(450px,.97fr);align-items:center;gap:64px}.hero__content h1{max-width:800px}.hero__lead{max-width:720px;font-size:1.23rem}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.hero__assurances{display:flex;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:.88rem}.hero__assurances span{display:flex;align-items:center;gap:7px}.hero__assurances svg{width:17px;color:var(--success)}.hero-showcase{position:relative;min-height:570px}.showcase-browser{position:absolute;inset:35px 0 20px 15px;border:1px solid rgba(255,255,255,.35);background:#fff;border-radius:25px;box-shadow:0 45px 100px rgba(8,20,38,.18);overflow:hidden;transform:perspective(1400px) rotateY(-5deg) rotateX(1deg)}.showcase-browser__bar,.work-card__mockbar{height:42px;display:flex;align-items:center;gap:6px;padding:0 16px;background:#f4f7fb;border-bottom:1px solid var(--line)}.showcase-browser__bar i,.work-card__mockbar i{width:8px;height:8px;border-radius:50%;background:#c8d2df}.showcase-browser__screen{min-height:500px;padding:54px;background:linear-gradient(145deg,#06101e,#153961);color:#fff}.showcase-nav{display:flex;justify-content:space-between;align-items:center;color:#9cb2ce;font-size:.72rem}.showcase-copy{max-width:360px;margin-top:70px}.showcase-copy span{color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.showcase-copy strong{display:block;margin:14px 0;color:#fff;font-size:2.7rem;line-height:1}.showcase-copy p{color:#b8c7dc}.showcase-art{position:absolute;right:28px;bottom:35px;width:44%;height:55%;border-radius:50% 50% 15% 45%;background:radial-gradient(circle at 30% 30%,#b5ffe7,transparent 30%),linear-gradient(135deg,#158cf5,#6c4af6);box-shadow:0 0 80px rgba(25,168,255,.5)}.showcase-orbit{position:absolute;right:8%;top:19%;width:210px;height:210px;border:1px solid rgba(255,255,255,.3);border-radius:50%}.showcase-orbit:after{content:"";position:absolute;top:20px;left:10px;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 28px var(--accent)}.floating-proof{position:absolute;z-index:2;display:flex;gap:12px;align-items:center;padding:15px 17px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)}.floating-proof strong,.floating-proof small{display:block}.floating-proof strong{font-size:.88rem}.floating-proof small{color:var(--muted);font-size:.7rem}.floating-proof svg{width:22px;color:var(--brand)}.floating-proof--top{right:-15px;top:0}.floating-proof--bottom{left:-22px;bottom:0}.hero__foot{position:relative;margin-top:55px}.trust-strip{border-block:1px solid var(--line);background:#fff}.trust-strip__inner{display:grid;grid-template-columns:230px 1fr;align-items:center;min-height:90px}.trust-strip__inner>span{font-size:.78rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.trust-strip__items{display:grid;grid-template-columns:repeat(5,1fr)}.trust-strip__items span{padding:16px;text-align:center;border-left:1px solid var(--line);font-size:.83rem;font-weight:800;color:var(--ink-3)}
.page-hero{position:relative;overflow:hidden;padding:100px 0 90px;background:radial-gradient(circle at 85% 10%,rgba(20,104,255,.17),transparent 35%),linear-gradient(145deg,#06101e,#102b4c);color:#fff}.page-hero:after{content:"";position:absolute;right:-10%;bottom:-65%;width:650px;height:650px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.015)}.page-hero h1,.page-hero h2,.page-hero strong{color:#fff}.page-hero p{color:#bac9dd}.page-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:70px;align-items:center}.page-hero__copy{max-width:820px}.page-hero__copy h1{font-size:clamp(2.7rem,5.5vw,5.1rem)}.page-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.page-hero__aside,.offer-summary,.sector-hero-card,.location-summary,.audit-score-card{padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.07);backdrop-filter:blur(15px);box-shadow:0 30px 80px rgba(0,0,0,.16)}.offer-summary__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--accent);color:var(--ink)}.offer-summary__icon svg{width:27px}.offer-summary dl{display:grid;gap:16px;margin:25px 0 0}.offer-summary dl div{display:flex;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.offer-summary dt{color:#9eb0c8}.offer-summary dd{margin:0;color:#fff;font-weight:800}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;color:#a9bad0;font-size:.8rem}.breadcrumbs a:hover{color:#fff}
.bento-services{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.service-card{position:relative;min-height:280px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 5px 0 rgba(8,20,38,.015);transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm);border-color:#b9cef0}.service-card:nth-child(1),.service-card:nth-child(2){grid-column:span 6}.service-card:nth-child(n+3){grid-column:span 4}.service-card__number{position:absolute;right:24px;top:20px;color:#d8e1ec;font-weight:800;font-size:1.15rem}.service-card__icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:35px;border-radius:16px;background:#eaf2ff;color:var(--brand)}.service-card__icon svg{width:26px}.service-card h3{font-size:1.55rem}.service-card p{max-width:440px}.service-card__arrow{position:absolute;right:24px;bottom:23px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff}.service-card:hover .service-card__arrow svg{transform:translateX(3px)}.service-card__eyebrow{display:block;margin-bottom:8px;color:var(--brand);font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.service-listing{display:grid;gap:1px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--line)}.service-row{display:grid;grid-template-columns:75px 58px 1fr auto 50px;align-items:center;gap:20px;padding:28px;background:#fff;transition:.2s}.service-row:hover{background:#f8fbff}.service-row__number{color:#a9b7c8;font-size:.78rem;font-weight:800}.service-row__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#eaf2ff;color:var(--brand)}.service-row__icon svg{width:23px}.service-row__copy p{margin:5px 0 0}.service-row__meta{text-align:right}.service-row__meta strong,.service-row__meta small{display:block}.service-row__meta small{color:var(--muted)}.service-row__arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line)}
.work-grid,.portfolio-full-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.work-card,.portfolio-project{display:grid;grid-template-columns:1.1fr .9fr;min-height:420px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:.25s}.work-card:hover,.portfolio-project:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.work-card__visual,.portfolio-project__visual{position:relative;padding:28px;background:linear-gradient(145deg,#dceaff,#f4f8ff);overflow:hidden}.work-card:nth-child(2n) .work-card__visual,.portfolio-project:nth-child(2n) .portfolio-project__visual{background:linear-gradient(145deg,#e6fff6,#f5fffb)}.work-card__mockup{position:absolute;inset:45px -15px 28px 28px;border-radius:18px 0 0 18px;background:#fff;box-shadow:0 22px 55px rgba(8,20,38,.18);overflow:hidden}.work-card__screen{height:100%;background:radial-gradient(circle at 70% 28%,rgba(144,243,209,.55),transparent 28%),linear-gradient(140deg,#07172c,#17416c)}.work-card__badge,.portfolio-project__visual>span{position:relative;z-index:2;display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.8);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.work-card__body,.portfolio-project__copy{padding:38px;align-self:center}.work-card__body p,.portfolio-project__copy p{margin-bottom:25px}.work-card__link{display:flex;align-items:center;justify-content:space-between;color:var(--brand);font-weight:800}.work-disclaimer{margin-top:25px;padding:18px 22px;border-left:3px solid var(--brand);background:#eef5ff;border-radius:0 12px 12px 0;color:var(--muted)}
.estimator-section{background:linear-gradient(145deg,#06101e,#102e51);color:#fff}.estimator-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.estimator-copy h2,.estimator-copy strong{color:#fff}.estimator-copy p{color:#b9c8da}.estimator-copy .check-list li{color:#d9e4f2}.estimator{padding:35px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.08);box-shadow:0 30px 90px rgba(0,0,0,.2)}.estimator__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.estimator__header span{color:#b8c8dc}.estimator__header strong{font-size:1.55rem;color:var(--accent)}.estimator__field{margin-top:20px}.estimator__field>label,.estimator__label label{display:block;margin-bottom:8px;font-weight:800;color:#fff}.estimator__label{display:flex;justify-content:space-between}.estimator__label output{color:var(--accent);font-weight:800}.estimator select,.estimator input[type=range]{width:100%}.estimator__checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.estimator__checks label{padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:12px;color:#d7e3f1;font-size:.85rem}.estimator__result{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid rgba(255,255,255,.15)}.estimator__result small,.estimator__result strong{display:block}.estimator__result small{color:#aebed2}.estimator__result strong{color:#fff;font-size:1.3rem}
.check-list{display:grid;gap:13px;padding:0;list-style:none}.check-list li{position:relative;padding-left:29px;color:var(--muted)}.check-list li:before{content:"✓";position:absolute;left:0;top:1px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#dff8ef;color:var(--success);font-size:.72rem;font-weight:900}.process-track,.process-long{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;counter-reset:steps}.process-track--four{grid-template-columns:repeat(4,1fr)}.process-step,.numbered-section{position:relative;padding:28px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.process-step span,.article-section-number{display:inline-grid;place-items:center;width:40px;height:40px;margin-bottom:22px;border-radius:12px;background:var(--ink);color:#fff;font-size:.75rem;font-weight:800}.process-step p{margin:0;font-size:.9rem}
.france-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.france-copy .city-cloud{margin-top:32px}.france-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.france-stats div{padding:18px;border:1px solid var(--line);border-radius:15px}.france-stats strong,.france-stats span{display:block}.france-stats strong{font-size:1.5rem}.france-stats span{color:var(--muted);font-size:.76rem}.city-cloud{display:flex;flex-wrap:wrap;gap:8px}.city-cloud a{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.8rem;font-weight:700}.city-cloud a:hover{border-color:var(--brand);color:var(--brand)}.france-map-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.france-map{position:relative;aspect-ratio:1.05;background:linear-gradient(145deg,#eaf2ff,#f7faff);clip-path:polygon(41% 4%,62% 9%,72% 20%,88% 27%,83% 45%,93% 59%,78% 75%,67% 94%,48% 87%,32% 97%,21% 79%,6% 67%,14% 52%,5% 36%,24% 24%,29% 10%);overflow:hidden}.france-map:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(20,104,255,.16) 1px,transparent 1px);background-size:20px 20px}.map-label{position:absolute;z-index:2;padding:7px 10px;border-radius:999px;background:var(--ink);color:#fff;font-size:.68rem;font-weight:800;box-shadow:0 8px 20px rgba(8,20,38,.18)}.map-label--paris{top:28%;left:45%}.map-label--lyon{top:55%;left:55%}.map-label--bordeaux{top:62%;left:25%}.map-label--nice{top:77%;left:68%}
.sector-grid,.sectors-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sector-card{position:relative;min-height:210px;padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.22s}.sector-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.sector-card span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:35px;border-radius:12px;background:var(--soft);color:var(--brand);font-size:.72rem;font-weight:800}.sector-card p{margin-bottom:0;font-size:.86rem}.sector-listing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sector-feature{display:grid;grid-template-columns:55px 1fr;gap:16px;padding:26px;border:1px solid var(--line);border-radius:20px}.sector-feature__number{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ink);color:#fff;font-weight:800}.sector-feature p{margin-bottom:0}.sector-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sector-plan article{padding:28px;border-radius:20px;background:var(--soft)}
.guide-grid,.guide-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-card,.guide-index-card{display:flex;flex-direction:column;min-height:310px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;transition:.22s}.guide-card:hover,.guide-index-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}.guide-card__meta{display:flex;justify-content:space-between;margin-bottom:45px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.guide-card h3,.guide-index-card h3{font-size:1.5rem}.guide-card .text-link,.guide-index-card .text-link{margin-top:auto}.article-hero{padding:95px 0;background:var(--soft)}.article-hero__inner{max-width:950px}.article-hero h1{font-size:clamp(2.7rem,5vw,5rem)}.article-intro{font-size:1.25rem}.article-layout{display:grid;grid-template-columns:250px minmax(0,790px);gap:80px;justify-content:center}.article-toc{position:sticky;top:120px;align-self:start;padding:22px;border:1px solid var(--line);border-radius:16px}.article-toc strong{display:block;margin-bottom:12px}.article-toc a{display:block;padding:6px 0;color:var(--muted);font-size:.85rem}.article-content h2{margin-top:70px;font-size:2.25rem}.article-content h3{margin-top:38px}.article-content p,.article-content li{font-size:1.07rem}.article-callout{padding:28px;margin:35px 0;border-left:4px solid var(--brand);border-radius:0 16px 16px 0;background:#eef5ff}.article-callout p:last-child{margin-bottom:0}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pricing-card{position:relative;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.pricing-card--featured{border-color:var(--brand);box-shadow:0 25px 65px rgba(20,104,255,.14);transform:translateY(-12px)}.pricing-card__badge{position:absolute;right:20px;top:20px;padding:6px 10px;border-radius:999px;background:var(--brand);color:#fff;font-size:.66rem;font-weight:800;text-transform:uppercase}.pricing-card__price{display:block;margin:23px 0;font-size:2.15rem;line-height:1}.pricing-card .check-list{margin:28px 0}.price-mini-list{display:grid;gap:10px}.price-mini-list div{display:flex;justify-content:space-between;gap:20px;padding:16px;border-bottom:1px solid var(--line)}.pricing-note,.indexing-note,.setup-notice,.legal-warning{padding:22px;border:1px solid #bdd4ff;border-radius:15px;background:#eef5ff;color:var(--muted)}.option-table{width:100%;border-collapse:collapse}.option-table th,.option-table td{padding:18px;text-align:left;border-bottom:1px solid var(--line)}.option-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.service-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:75px}.service-detail-main>.rich-copy+.rich-copy{margin-top:65px}.rich-copy h2{font-size:2.4rem}.feature-cards,.deliverables-grid,.values-grid,.mini-card-grid,.location-seo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature-cards article,.deliverables-grid article,.values-grid article,.mini-card,.location-seo-points article{padding:25px;border:1px solid var(--line);border-radius:18px}.sticky-benefits{position:sticky;top:115px;align-self:start;padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--soft)}.related-services{display:grid;gap:10px}.related-services a{display:flex;align-items:center;justify-content:space-between;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.deliverables{margin-top:50px}.deliverables-grid h3{font-size:1rem}.deliverables-grid p{margin:0;font-size:.86rem}
.accordion{border-top:1px solid var(--line)}.accordion__item{border-bottom:1px solid var(--line)}.accordion__item button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;border:0;background:transparent;text-align:left;font-weight:800;color:var(--ink)}.accordion__item button svg{width:20px;transition:transform .2s}.accordion__item.is-open button svg{transform:rotate(45deg)}.accordion__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s}.accordion__panel>div{overflow:hidden}.accordion__panel p{padding:0 0 22px;margin:0;max-width:850px}.accordion__item.is-open .accordion__panel{grid-template-rows:1fr}.faq-layout{display:grid;grid-template-columns:350px 1fr;gap:75px}.faq-layout h2{font-size:2.5rem}
.lead-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-span{grid-column:1/-1}.lead-form label>span:not(.checkbox span),.audit-form-wrap label>span{display:block;margin-bottom:7px;font-size:.82rem;font-weight:800;color:var(--ink-3)}input,textarea,select{width:100%;border:1px solid #cbd7e5;border-radius:12px;background:#fff;color:var(--ink);outline:none;transition:.2s}input,select{height:50px;padding:0 14px}textarea{padding:14px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(20,104,255,.1)}.checkbox{display:flex;align-items:flex-start;gap:10px}.checkbox input{width:18px;height:18px;margin-top:3px;flex:0 0 auto}.checkbox span{font-size:.78rem;color:var(--muted)}.checkbox a{text-decoration:underline}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.form-note,.form-status{margin:0;font-size:.8rem}.form-status.is-success{color:var(--success);font-weight:800}.form-status.is-error{color:var(--danger);font-weight:800}.lead-form.is-loading{opacity:.7;pointer-events:none}
.contact-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding:65px;border-radius:32px;background:linear-gradient(145deg,#07111f,#13365d);color:#fff}.contact-card h2,.contact-card strong{color:#fff}.contact-card p{color:#b7c7db}.contact-card__direct{display:grid;gap:12px;margin-top:35px}.contact-card__direct a{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800}.contact-card__direct svg{width:20px;color:var(--accent)}.contact-card__form{padding:35px;border-radius:22px;background:#fff;color:var(--ink)}.contact-page__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:35px}.contact-page__form,.contact-direct-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.contact-page__aside{display:grid;gap:18px}.contact-direct-card{background:var(--ink);color:#fff}.contact-direct-card h2,.contact-direct-card strong{color:#fff}.contact-direct-card p{color:#b9c8da}.contact-direct-card a{display:block;margin:12px 0;font-weight:800}.contact-confidence{display:grid;gap:12px}.contact-confidence div{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px}.contact-confidence svg{width:22px;color:var(--brand);flex:0 0 auto}
.agency-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.agency-facts div,.metric-card,.national-card{padding:25px;border:1px solid var(--line);border-radius:20px}.agency-facts strong,.metric-card strong{display:block;font-size:1.7rem}.founder-card{display:grid;grid-template-columns:210px 1fr;gap:35px;padding:35px;border:1px solid var(--line);border-radius:var(--radius)}.founder-card__portrait{display:grid;place-items:center;aspect-ratio:1;border-radius:20px;background:linear-gradient(145deg,var(--brand),#152e5e);color:#fff}.founder-card__portrait span{font-size:3rem;font-weight:900}.abstract-visual{min-height:420px;border-radius:var(--radius);background:radial-gradient(circle at 30% 30%,var(--accent),transparent 22%),radial-gradient(circle at 70% 70%,var(--brand-2),transparent 25%),linear-gradient(145deg,#07111f,#173e6a);box-shadow:var(--shadow)}
.audit-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:60px}.audit-form-wrap{padding:40px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.audit-items{display:grid;gap:12px}.audit-items article{display:grid;grid-template-columns:50px 1fr;gap:17px;padding:22px;border:1px solid var(--line);border-radius:17px}.audit-items article>span{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:var(--soft);font-weight:900}.audit-items p{margin:0;font-size:.88rem}.audit-score-ring{display:grid;place-items:center;width:145px;height:145px;margin:25px auto;border:12px solid rgba(255,255,255,.12);border-top-color:var(--accent);border-radius:50%}.audit-score-ring strong,.audit-score-ring small{display:block;text-align:center}.audit-score-ring strong{font-size:3rem}.comparison{display:grid;gap:15px}.comparison div{padding:24px;border:1px solid var(--line);border-radius:16px}
.region-grid,.department-grid,.city-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.region-card,.national-card{display:flex;flex-direction:column;min-height:200px;background:#fff;transition:.2s}.region-card{padding:25px;border:1px solid var(--line);border-radius:20px}.region-card:hover,.national-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.region-card span{display:block;color:var(--brand);font-size:.75rem;font-weight:800;text-transform:uppercase}.region-card .text-link{margin-top:auto}.department-grid a,.city-directory a{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.department-grid a strong,.city-directory a strong{display:block}.department-grid a small,.city-directory a small{color:var(--muted)}.location-transparency{padding:18px;border-left:3px solid var(--accent);background:rgba(255,255,255,.08);border-radius:0 12px 12px 0}.location-method{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.location-method article{padding:25px;border:1px solid var(--line);border-radius:18px}.location-seo-points{display:grid;gap:12px}.location-seo-points article h3{font-size:1rem}.location-seo-points article p{margin:0}.national-method{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.national-method article{padding:28px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,800px);gap:70px;justify-content:center}.legal-content h2{margin-top:55px;font-size:2rem}.legal-content h3{margin-top:30px}.legal-content a{color:var(--brand);text-decoration:underline}.legal-page .article-toc{position:sticky;top:120px}
.site-footer{background:#050d18;color:#c5d2e2}.footer-cta{padding:80px 0;border-bottom:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 10% 0,rgba(20,104,255,.35),transparent 35%)}.footer-cta__inner{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px}.footer-cta h2{margin:0;color:#fff;font-size:clamp(2.2rem,4vw,3.8rem)}.footer-cta__actions{display:flex;align-items:center;justify-content:flex-end;gap:25px}.footer-call small,.footer-call strong{display:block}.footer-call small{color:#93a5bd}.footer-call strong{color:#fff;font-size:1.3rem}.footer-main{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:60px;padding:75px 0}.footer-brand img{filter:brightness(0) invert(1)}.footer-brand p{max-width:420px;color:#91a3bb}.footer-contact{display:grid;gap:10px}.footer-contact a{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}.footer-contact svg{width:18px;color:var(--accent)}.footer-column h3{color:#fff;font-size:.86rem;text-transform:uppercase;letter-spacing:.1em}.footer-column a{display:block;padding:5px 0;color:#92a4bc;font-size:.88rem}.footer-column a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding:25px 0;border-top:1px solid rgba(255,255,255,.08);font-size:.74rem;color:#778ba5}
.mobile-sticky-cta{display:none}.project-chat{position:fixed;z-index:250;right:22px;bottom:22px}.project-chat__launcher{display:flex;align-items:center;gap:10px;padding:14px 19px;border:0;border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 20px 50px rgba(8,20,38,.28);font-weight:800}.project-chat__launcher svg{width:19px}.project-chat__pulse{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(144,243,209,.6);animation:pulse 2s infinite}.project-chat__panel{position:absolute;right:0;bottom:65px;width:min(390px,calc(100vw - 28px));border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transition:.2s}.project-chat.is-open .project-chat__panel{opacity:1;visibility:visible;transform:none}.project-chat__panel>header{display:flex;align-items:center;justify-content:space-between;padding:17px;background:var(--ink);color:#fff}.project-chat__panel>header>div{display:flex;gap:11px;align-items:center}.project-chat__panel>header strong,.project-chat__panel>header small{display:block;color:#fff}.project-chat__panel>header small{color:#aebed1;font-size:.68rem}.project-chat__panel>header button{border:0;background:transparent;color:#fff}.project-chat__panel>header button svg{width:19px}.project-chat__avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--accent);color:var(--ink)}.project-chat__avatar svg{width:20px}.project-chat__body{max-height:520px;padding:18px;overflow:auto}.chat-message{max-width:88%;padding:12px 14px;border-radius:14px;font-size:.88rem}.chat-message--bot{background:var(--soft)}.chat-options{display:grid;gap:8px;margin-top:13px}.chat-options button{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;font-size:.83rem;font-weight:700}.chat-options button:hover{border-color:var(--brand);color:var(--brand)}.chat-mini-form{display:grid;gap:10px;margin-top:15px}.chat-mini-form label{font-size:.75rem;font-weight:800}.chat-mini-form input,.chat-mini-form textarea{margin-top:5px}.chat-mini-form .checkbox{font-weight:400}.chat-mini-form[hidden]{display:none}.chat-confirmation{padding:20px;border-radius:14px;background:#e8f8f2;color:var(--success);font-weight:800}
.not-found{display:grid;place-items:center;min-height:70vh;padding:80px 20px;text-align:center}.not-found>div{max-width:700px}.not-found strong{display:block;color:var(--brand);font-size:7rem;line-height:1}.not-found__actions{display:flex;justify-content:center;gap:12px;margin-top:30px}
.admin-login{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 10%,rgba(20,104,255,.22),transparent 30%),var(--ink)}.admin-login__card{width:min(440px,100%);padding:38px;border-radius:25px;background:#fff;box-shadow:var(--shadow)}.admin-login__card form{display:grid;gap:15px;margin:25px 0}.admin-login__card label{font-size:.8rem;font-weight:800}.admin-login__card input{margin-top:7px}.admin-alert{padding:12px;margin:15px 0;border-radius:10px;background:#fff1f0;color:var(--danger);font-size:.84rem}.admin-body{background:var(--soft)}.admin-top{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - var(--container))/2));background:#fff;border-bottom:1px solid var(--line)}.admin-top img{width:180px}.admin-top nav{display:flex;gap:18px}.admin-top nav a{font-size:.83rem;font-weight:800}.admin-main{width:min(calc(100% - 40px),var(--container));margin:45px auto}.admin-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.admin-heading h1{font-size:3rem;margin:0}.admin-heading>span{color:var(--muted);font-size:.8rem}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.admin-stats article{padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff}.admin-stats span,.admin-stats strong{display:block}.admin-stats span{color:var(--muted);font-size:.78rem}.admin-stats strong{font-size:2rem}.admin-grid{display:grid;grid-template-columns:1fr 280px;gap:20px}.admin-panel{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.admin-panel--wide{min-width:0}.admin-panel__head{display:flex;justify-content:space-between;align-items:center}.admin-panel__head a{color:var(--brand);font-size:.8rem;font-weight:800}.admin-table-wrap{overflow:auto}.admin-table{width:100%;min-width:950px;border-collapse:collapse;font-size:.78rem}.admin-table th,.admin-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.admin-table td strong,.admin-table td a,.admin-table td small{display:block}.admin-table td a{color:var(--brand)}.admin-table td small{color:var(--muted)}.admin-table details summary{cursor:pointer}.admin-table details p{max-width:380px;margin:10px 0;font-size:.78rem}.admin-table select{height:37px;padding:0 7px;font-size:.75rem}.event-list{display:grid;gap:8px}.event-list div{display:flex;justify-content:space-between;padding:11px;border-radius:10px;background:var(--soft)}.event-list span{text-transform:capitalize}.admin-muted{font-size:.75rem}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal--delay{transition-delay:.12s}.reveal.is-visible{opacity:1;transform:none}@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(144,243,209,0)}100%{box-shadow:0 0 0 0 rgba(144,243,209,0)}}
@media (max-width:1120px){.desktop-nav{display:none}.mobile-toggle{display:grid}.header-phone{display:none}.hero__grid{grid-template-columns:1fr}.hero-showcase{max-width:720px;width:100%;margin-inline:auto}.hero__content{text-align:center}.hero__lead{margin-inline:auto}.hero__actions,.hero__assurances{justify-content:center}.bento-services .service-card{grid-column:span 6}.sector-grid,.sectors-preview{grid-template-columns:repeat(3,1fr)}.footer-main{grid-template-columns:1.4fr repeat(2,1fr)}.footer-column:last-child{grid-column:2}.work-card,.portfolio-project{grid-template-columns:1fr}.work-card__visual,.portfolio-project__visual{min-height:280px}.service-detail-grid{grid-template-columns:1fr}.sticky-benefits{position:static}.admin-grid{grid-template-columns:1fr}}
@media (max-width:850px){.section{padding:78px 0}.section-heading,.split-heading{display:block}.section-heading>p{margin-top:20px}.announcement__inner{justify-content:center}.announcement__inner>a{display:none}.header__actions>.btn{display:none}.hero--home{padding-top:72px}.hero-showcase{min-height:460px}.showcase-browser{inset:25px 0 15px}.showcase-browser__screen{padding:35px;min-height:420px}.showcase-copy{margin-top:50px}.showcase-copy strong{font-size:2.2rem}.floating-proof--top{right:0}.floating-proof--bottom{left:0}.trust-strip__inner{grid-template-columns:1fr}.trust-strip__inner>span{padding:18px;text-align:center}.trust-strip__items{grid-template-columns:repeat(3,1fr)}.trust-strip__items span:nth-child(n+4){display:none}.page-hero__inner,.estimator-layout,.france-layout,.contact-card,.contact-page__grid,.audit-layout,.footer-cta__inner,.faq-layout{grid-template-columns:1fr}.page-hero{padding:75px 0}.page-hero__aside{max-width:600px}.work-grid,.portfolio-full-grid,.pricing-grid,.guide-grid,.guide-index-grid,.sector-listing,.sector-plan,.region-grid,.department-grid,.city-directory{grid-template-columns:repeat(2,1fr)}.sector-grid,.sectors-preview{grid-template-columns:repeat(2,1fr)}.process-track,.process-long,.process-track--four,.location-method{grid-template-columns:repeat(2,1fr)}.footer-cta__actions{justify-content:flex-start}.footer-main{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.footer-column:last-child{grid-column:auto}.article-layout,.legal-layout{grid-template-columns:1fr}.article-toc,.legal-page .article-toc{position:static}.admin-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){body{font-size:15px}.container{width:min(calc(100% - 28px),var(--container))}.announcement{font-size:.69rem}.header__inner{height:70px}.brand img{width:170px}.mobile-toggle{width:42px;height:42px}.hero--home{min-height:auto;padding:58px 0 40px}.hero__grid{gap:35px}.hero__content h1{font-size:clamp(2.45rem,14vw,4rem)}.hero__lead{font-size:1.04rem}.hero__actions{display:grid}.hero__actions .btn{width:100%}.hero__assurances{display:grid;gap:8px;text-align:left}.hero-showcase{min-height:350px}.showcase-browser{inset:15px 0}.showcase-browser__bar{height:32px}.showcase-browser__screen{min-height:320px;padding:24px}.showcase-nav{font-size:.56rem}.showcase-copy{margin-top:35px;max-width:240px}.showcase-copy strong{font-size:1.75rem}.showcase-copy p{font-size:.75rem}.showcase-art{right:15px;bottom:25px}.showcase-orbit{width:130px;height:130px}.floating-proof{padding:10px 12px}.floating-proof strong{font-size:.7rem}.floating-proof small{font-size:.59rem}.floating-proof svg{width:17px}.hero__foot{margin-top:28px}.trust-strip__items{grid-template-columns:repeat(2,1fr)}.trust-strip__items span:nth-child(3){display:none}.section{padding:62px 0}.section-heading{margin-bottom:35px}.section-heading h2,h2{font-size:clamp(2rem,10vw,3rem)}.bento-services{grid-template-columns:1fr}.bento-services .service-card{grid-column:auto;min-height:240px}.service-card__icon{margin-bottom:28px}.service-listing{border-radius:18px}.service-row{grid-template-columns:38px 1fr 38px;gap:12px;padding:20px}.service-row__icon{display:none}.service-row__meta{grid-column:2;text-align:left}.work-grid,.portfolio-full-grid,.pricing-grid,.guide-grid,.guide-index-grid,.sector-grid,.sectors-preview,.sector-listing,.sector-plan,.region-grid,.department-grid,.city-directory,.feature-cards,.deliverables-grid,.values-grid,.mini-card-grid,.location-seo-grid,.agency-facts,.national-method{grid-template-columns:1fr}.work-card__body,.portfolio-project__copy{padding:28px}.estimator{padding:24px}.estimator__checks{grid-template-columns:1fr}.estimator__result{display:grid}.france-stats{grid-template-columns:1fr}.process-track,.process-long,.process-track--four,.location-method{grid-template-columns:1fr}.page-hero__inner{gap:35px}.page-hero__copy h1{font-size:clamp(2.35rem,12vw,3.7rem)}.page-hero__aside,.offer-summary,.sector-hero-card,.location-summary,.audit-score-card{padding:24px}.form-grid{grid-template-columns:1fr}.form-span{grid-column:auto}.contact-card{padding:28px}.contact-card__form,.contact-page__form,.contact-direct-card,.audit-form-wrap{padding:25px}.pricing-card--featured{transform:none}.footer-cta{padding:60px 0}.footer-cta__actions{display:grid}.footer-main{grid-template-columns:1fr;gap:35px;padding:55px 0}.footer-brand,.footer-column:last-child{grid-column:auto}.footer-bottom{display:grid;text-align:center;padding-bottom:85px}.project-chat{right:14px;bottom:78px}.project-chat__launcher span:last-child{display:none}.project-chat__launcher{width:52px;height:52px;padding:0;justify-content:center}.project-chat__pulse{position:absolute;top:3px;right:3px}.mobile-sticky-cta{position:fixed;z-index:200;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 25px rgba(8,20,38,.08)}.mobile-sticky-cta a{display:grid;place-items:center;gap:2px;padding:9px 4px;color:var(--ink);font-size:.65rem;font-weight:800}.mobile-sticky-cta svg{width:18px;color:var(--brand)}.article-layout{gap:35px}.article-content h2{font-size:1.85rem}.founder-card{grid-template-columns:1fr;padding:25px}.founder-card__portrait{max-width:180px}.legal-layout{gap:30px}.not-found strong{font-size:5rem}.not-found__actions{display:grid}.admin-top{height:auto;padding:15px;display:grid;gap:12px}.admin-top nav{flex-wrap:wrap}.admin-main{width:calc(100% - 24px);margin:25px auto}.admin-heading{display:block}.admin-heading h1{font-size:2.3rem}.admin-stats{grid-template-columns:1fr 1fr}.admin-panel{padding:14px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Empêche le zoom automatique d’iOS sur les champs lorsque le corps passe à 15 px. */
@media (max-width:620px){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  textarea,
  select{font-size:16px}
}
.pricing-card__price small,.pricing-card__price strong,.pricing-card__price span{display:block}.pricing-card__price small,.pricing-card__price span{color:var(--muted);font-size:.76rem}.pricing-card__price strong{margin:7px 0;font-size:2.25rem}.pricing-card>ul{display:grid;gap:12px;padding:0;margin:28px 0;list-style:none}.pricing-card>ul li{display:flex;align-items:flex-start;gap:9px;color:var(--muted)}.pricing-card>ul svg{width:18px;flex:0 0 auto;margin-top:3px;color:var(--success)}.option-table{display:grid;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--line)}.option-table>div{display:grid;grid-template-columns:1fr 220px 1.4fr;gap:25px;align-items:center;padding:22px 25px;background:#fff}.option-table>div+div{border-top:1px solid var(--line)}.option-table>div>span{font-weight:800}.option-table>div>strong{text-align:right}.option-table>div>p{margin:0;font-size:.86rem}@media(max-width:700px){.option-table>div{grid-template-columns:1fr;gap:5px}.option-table>div>strong{text-align:left}}
/* Finitions visuelles des composants éditoriaux */
.hero h1 em,.showcase-copy em{font-style:normal;color:var(--brand)}
.hero__foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.hero__foot i{width:4px;height:4px;border-radius:50%;background:var(--brand)}
.showcase-browser__bar>span{width:8px;height:8px;border-radius:50%;background:#c8d2df}.showcase-browser__bar>div{margin-left:10px;padding:5px 12px;border-radius:8px;background:#fff;color:#7d8ca0;font-size:.63rem}.showcase-copy small{color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.13em}.showcase-copy>span{display:inline-flex;margin-top:14px}.showcase-card{position:absolute;z-index:3;min-width:92px;padding:10px 12px;border:1px solid rgba(255,255,255,.25);border-radius:13px;background:rgba(7,17,31,.72);backdrop-filter:blur(10px);color:#fff;box-shadow:0 15px 35px rgba(0,0,0,.2)}.showcase-card span,.showcase-card b{display:block}.showcase-card span{color:#c8d7e8;font-size:.57rem}.showcase-card b{font-size:1.05rem}.showcase-card--one{left:-30px;top:26%}.showcase-card--two{right:-18px;bottom:14%}
.trust-strip__inner>p{margin:0;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.trust-strip__items{grid-template-columns:repeat(6,1fr)}
.work-card__screen{display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff}.work-card__screen small{color:var(--accent);font-size:.62rem;letter-spacing:.12em}.work-card__screen strong{display:block;max-width:220px;margin:8px 0;color:#fff;font-size:1.8rem;line-height:1}.work-card__screen span{font-size:.7rem;color:#d3dfed}.work-card__body>span,.portfolio-project__copy>span{display:block;margin-bottom:10px;color:var(--brand);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.process-track{grid-template-columns:repeat(3,1fr)}.process-long{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.process-long>.section-heading{grid-column:1/-1}.process-long>article{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:25px;border:1px solid var(--line);border-radius:18px;background:#fff}.process-long>article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--ink);color:#fff;font-size:.75rem;font-weight:900}.process-long>article p{margin:0;font-size:.87rem}
.france-map{clip-path:none;background:linear-gradient(145deg,#eaf2ff,#f7faff)}.france-map svg{position:absolute;inset:6%;width:88%;height:88%;overflow:visible}.france-map svg path:first-child{fill:#d9e8ff;stroke:#1468ff;stroke-width:3}.france-map svg circle{fill:#1468ff;stroke:#fff;stroke-width:4}.france-map svg path:last-child{fill:none;stroke:#7ba8ee;stroke-width:2;stroke-dasharray:6 7}.sector-card>svg{position:absolute;right:20px;bottom:20px;width:19px;color:var(--brand)}
.portfolio-count{display:grid;place-items:center;min-height:250px;padding:35px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.07);text-align:center}.portfolio-count strong{font-size:6rem;line-height:1;color:var(--accent)}.portfolio-count span{max-width:180px;color:#c4d2e3}.portfolio-browser{position:absolute;inset:60px -15px 28px 28px;border-radius:18px 0 0 18px;background:#fff;box-shadow:0 25px 60px rgba(8,20,38,.2);overflow:hidden}.portfolio-browser>div{height:38px;display:flex;align-items:center;gap:6px;padding:0 13px;background:#eef3f8}.portfolio-browser>div i{width:7px;height:7px;border-radius:50%;background:#bbc8d7}.portfolio-browser>div span{margin-left:8px;color:#8493a5;font-size:.58rem}.portfolio-browser>section{height:calc(100% - 38px);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:radial-gradient(circle at 75% 28%,rgba(144,243,209,.6),transparent 25%),linear-gradient(145deg,#07111f,#17416c);color:#fff}.portfolio-browser>section small{color:var(--accent);font-size:.6rem;letter-spacing:.12em}.portfolio-browser>section strong{display:block;max-width:240px;margin:8px 0;color:#fff;font-size:1.8rem;line-height:1}.portfolio-browser>section span{font-size:.62rem;color:#cbd8e7}.section--dark .portfolio-project__copy h2{color:var(--ink)}
.metric-card{background:#fff}.page-hero .metric-card{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.page-hero .metric-card span,.page-hero .metric-card strong,.page-hero .metric-card small{display:block}.page-hero .metric-card span{color:var(--accent);font-size:2rem;font-weight:900}.page-hero .metric-card strong{margin:5px 0}.page-hero .metric-card small{color:#b4c5d9}.page-hero__aside{display:grid;gap:12px}
@media(max-width:850px){.trust-strip__items{grid-template-columns:repeat(3,1fr)}.process-track,.process-long{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.hero__foot{display:none}.showcase-card--one{left:-12px}.showcase-card--two{right:-8px}.trust-strip__items{grid-template-columns:repeat(2,1fr)}.process-track,.process-long{grid-template-columns:1fr}.portfolio-browser{inset:45px -10px 20px 20px}.portfolio-count strong{font-size:4.5rem}}
section.sectors-preview{display:block}
.process-track--four{grid-template-columns:repeat(4,1fr)}
@media(max-width:850px){.process-track--four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.process-track--four{grid-template-columns:1fr}}


/* Finitions structurelles — pages nationales, locales et agence */
.container.location-method,.container.national-method{display:block}
.container.location-method>.section-heading,.container.national-method>div:first-child{margin-bottom:46px}
.location-summary{display:grid;gap:0;color:#fff}
.location-summary>div{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.location-summary small{color:#aebed3;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.location-summary strong{color:#fff;text-align:right}
.location-summary>p{margin:20px 0 0;color:#c7d3e5}
.location-seo-points>div{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.location-seo-points>div>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eaf2ff;color:var(--brand);font-weight:900}
.location-seo-points>div h3{margin:1px 0 7px;font-size:1rem}
.location-seo-points>div p{margin:0;font-size:.92rem}
.mini-card{position:relative;display:flex;min-height:250px;flex-direction:column;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}
.mini-card:hover{transform:translateY(-5px);border-color:#bad0f5;box-shadow:var(--shadow-sm)}
.mini-card>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:28px;border-radius:15px;background:#eaf2ff;color:var(--brand)}
.mini-card>span svg{width:23px}
.mini-card h3{padding-right:36px}
.mini-card p{margin-bottom:28px}
.mini-card>i{position:absolute;right:22px;bottom:22px;color:var(--brand)}
.mini-card>i svg{width:20px;transition:transform .2s}
.mini-card:hover>i svg{transform:translateX(4px)}
.department-grid a,.city-directory a{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px;min-height:84px;padding-right:52px;transition:transform .2s,box-shadow .2s,border-color .2s}
.department-grid a:hover,.city-directory a:hover{transform:translateY(-3px);border-color:#bad0f5;box-shadow:var(--shadow-sm)}
.department-grid a strong,.city-directory a strong{grid-column:1;line-height:1.25}
.department-grid a small,.department-grid a span,.city-directory a small,.city-directory a span{grid-column:1;color:var(--muted);font-size:.82rem}
.department-grid a>svg,.city-directory a>svg{position:absolute;right:20px;top:50%;width:18px;color:var(--brand);transform:translateY(-50%)}
.national-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f5f8fd)}
.national-card:after{content:"";position:absolute;right:-28px;bottom:-42px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(20,104,255,.15),transparent 68%)}
.national-card strong{display:block;font-size:2rem;line-height:1.1}
.national-card span{display:block;margin-top:6px;color:var(--muted)}
.region-card{position:relative;overflow:hidden}
.region-card>svg{position:absolute;right:22px;bottom:22px;width:22px;color:var(--brand)}
.sector-plan>div{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--soft)}
.sector-plan>div>span{display:block;margin-bottom:14px;color:var(--brand);font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.sector-plan>div>strong{display:block;margin-bottom:8px;font-size:1.14rem}
.sector-plan>div>p{margin:0}
.values-grid{grid-template-columns:repeat(4,1fr)}
.values-grid article{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
.values-grid article>span{display:block;margin-bottom:48px;color:var(--accent);font-weight:900}
.values-grid article h2{color:#fff;font-size:1.7rem}
.values-grid article p{margin:0;color:#c7d3e5}
.agency-facts{grid-template-columns:repeat(2,1fr)}
.agency-facts div{background:#fff}
.agency-facts span{display:block;margin-top:5px;color:var(--muted)}
.page-hero .founder-card{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.16)}
.page-hero .founder-card strong{color:#fff}
.page-hero .founder-card small,.page-hero .founder-card p{color:#c7d3e5}

/* MASTER FINAL — problème métier avant solution technique */
.problem-section{background:linear-gradient(180deg,#f5f8fc 0%,#fff 100%)}
.problem-section__heading{align-items:end}
.problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.problem-card{display:flex;flex-direction:column;min-height:310px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(8,20,38,.05);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.problem-card:hover{transform:translateY(-4px);border-color:rgba(20,104,255,.35);box-shadow:0 20px 50px rgba(8,20,38,.09)}
.problem-card>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:28px;border-radius:12px;background:var(--soft);color:var(--brand);font-size:.75rem;font-weight:900}
.problem-card h3{font-size:1.35rem;line-height:1.22}
.problem-card p{color:var(--muted);font-size:.92rem}
.problem-card a{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--brand);font-size:.84rem;font-weight:850}
.problem-card a svg{width:16px;height:16px}
.problem-section__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.estimator__field--split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.estimator__field--split label{margin:0;color:#fff;font-weight:620}
.estimator__field--split input,.estimator__field--split select{margin-top:8px}
.estimator__recommendation{display:grid;gap:5px;margin:22px 0;padding:18px;border:1px solid rgba(144,243,209,.28);border-radius:14px;background:rgba(144,243,209,.08)}
.estimator__recommendation small{color:var(--accent);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.estimator__recommendation strong{color:#fff;font-size:1rem;line-height:1.35}
.estimator__recommendation span{color:#b8c8dc;font-size:.82rem;line-height:1.45}
@media(max-width:850px){.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.problem-grid,.estimator__field--split{grid-template-columns:1fr}.problem-card{min-height:auto}.problem-section__actions{display:grid}.problem-section__actions .btn{width:100%}}
.location-transparency{display:flex;gap:12px;align-items:flex-start}
.location-transparency svg{width:20px;flex:0 0 auto;margin-top:2px;color:var(--accent)}
.not-found>div{width:min(100%,760px)}
.not-found>div>span{display:block;margin-bottom:16px;color:var(--brand);font-size:clamp(5rem,15vw,9rem);font-weight:900;line-height:.8;letter-spacing:-.08em}

@media (max-width:980px){
  .values-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .values-grid,.agency-facts{grid-template-columns:1fr}
  .container.location-method>.section-heading,.container.national-method>div:first-child{margin-bottom:30px}
  .location-summary>div{display:block}
  .location-summary strong{display:block;margin-top:4px;text-align:left}
  .mini-card{min-height:220px}
}

/* =========================================================
   WEB.CB06.FR — DIRECTION ARTISTIQUE PREMIUM V2
   Correction globale typographie, proportions et composants
   ========================================================= */
:root{
  --radius:22px;
  --radius-sm:14px;
  --shadow:0 24px 70px rgba(8,20,38,.10);
  --shadow-sm:0 12px 34px rgba(8,20,38,.07);
}
body{font-weight:400;line-height:1.68;letter-spacing:0}
h1,h2,h3,h4{font-weight:620;letter-spacing:-.032em;text-wrap:balance}
h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.03}
h2{font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.08}
h3{font-weight:620;line-height:1.18}
p,li{font-weight:400}
strong,b{font-weight:620}
.eyebrow,.text-link,.btn,.nav-link,.header-phone,.mobile-panel nav a,
.pricing-card__badge,.work-card__body>span,.portfolio-project__copy>span,
.guide-card__meta,.sector-feature__number,.process-step>span,
.form-status.is-success,.form-status.is-error{font-weight:650}
.section{padding:92px 0}
.section-heading{margin-bottom:44px}
.page-hero{padding:88px 0}
.page-hero__copy h1{font-size:clamp(2.55rem,4.7vw,4.7rem);max-width:940px}
.page-hero__copy p{max-width:760px;font-size:1.08rem}

/* Les SVG ne doivent jamais hériter d'une taille libre */
svg{flex:0 0 auto}
.check-list{display:grid;gap:13px;padding:0;margin:28px 0;list-style:none}
.check-list li{display:flex;align-items:flex-start;gap:11px;color:inherit}
.check-list li svg{width:19px!important;height:19px!important;min-width:19px;max-width:19px;margin-top:3px;color:var(--accent)}

/* Portfolio : cartes équilibrées, sans grand pictogramme parasite */
.portfolio-full-grid{gap:24px}
.portfolio-project{overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 20px 55px rgba(0,0,0,.12)}
.portfolio-project__visual{min-height:410px}
.portfolio-browser{inset:34px 0 0 24px;border-radius:18px 0 0 0}
.portfolio-browser>section{padding:30px}
.portfolio-browser>section strong{font-size:1.65rem;font-weight:620}
.portfolio-project__copy{display:flex;flex-direction:column;justify-content:center;padding:42px}
.portfolio-project__copy h2{font-size:clamp(1.9rem,2.8vw,2.8rem);font-weight:620}
.portfolio-project__copy .text-link svg{width:17px!important;height:17px!important}

/* Estimateur : cases natives maîtrisées, arguments lisibles */
.estimator-layout{grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:70px}
.estimator-copy{max-width:560px}
.estimator{padding:34px}
.estimator__field>label,.estimator__label label{font-weight:620}
.estimator__checks label{display:flex;align-items:center;gap:11px;min-height:64px;padding:14px 16px}
.estimator__checks input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;border:0!important;border-radius:3px!important;box-shadow:none!important;accent-color:var(--brand)}
.estimator__header strong,.estimator__result strong{font-weight:650}

/* Secteurs : vraies cartes, aucune grille interne écrasée */
.sector-listing{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sector-feature{position:relative;display:flex;flex-direction:column;min-width:0;min-height:480px;padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.sector-feature:hover{transform:translateY(-5px);border-color:#bfd2ed;box-shadow:var(--shadow-sm)}
.sector-feature__number{width:44px;height:44px;margin-bottom:26px;font-size:.72rem;font-weight:650}
.sector-feature>div{min-width:0}
.sector-feature>div>span{display:block;min-height:44px;margin-bottom:12px;color:var(--muted);font-size:.86rem;line-height:1.45}
.sector-feature h2{font-size:clamp(2rem,2.8vw,3rem);font-weight:620;line-height:1.04;overflow-wrap:normal;word-break:normal;hyphens:none}
.sector-feature p{font-size:.95rem;line-height:1.65}
.sector-feature ul{display:grid;gap:11px;margin:28px 0 55px;padding:0;list-style:none}
.sector-feature li{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:.9rem;line-height:1.5}
.sector-feature li svg{width:17px!important;height:17px!important;min-width:17px;margin-top:3px;color:var(--success)}
.sector-feature>i{position:absolute;right:28px;bottom:25px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--soft);color:var(--brand);font-style:normal;transition:.2s}
.sector-feature>i svg{width:18px!important;height:18px!important;max-width:18px}
.sector-feature:hover>i{background:var(--brand);color:#fff;transform:translateX(3px)}

/* Tarifs, services, guides : plus fins et plus élégants */
.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pricing-card{padding:32px;box-shadow:0 12px 35px rgba(8,20,38,.035)}
.pricing-card--featured{transform:none}
.pricing-card h2{font-size:2.35rem}
.pricing-card__price strong{font-weight:650}
.option-table>div>span,.option-table>div>strong{font-weight:620}
.service-card h3,.guide-card h3,.guide-index-card h3{font-weight:620}
.service-row h2{font-weight:620}
.article-content h2{font-weight:620}
.accordion__item button{font-weight:620}

/* Navigation et boutons moins lourds */
.nav-link{font-weight:600}
.header-phone{font-weight:650}
.btn{font-weight:650;border-radius:12px}
.mobile-panel nav a{font-weight:620}
.footer-column h3{font-weight:620}

@media(max-width:1120px){
  .estimator-layout{grid-template-columns:1fr}
  .estimator-copy{max-width:760px}
  .sector-listing{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .section{padding:72px 0}
  .portfolio-project__visual{min-height:340px}
  .portfolio-project__copy{padding:32px}
  .pricing-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  h1{font-size:clamp(2.25rem,11vw,3.5rem)}
  h2,.section-heading h2{font-size:clamp(1.85rem,8.5vw,2.65rem)}
  .section{padding:58px 0}
  .page-hero{padding:62px 0}
  .page-hero__copy h1{font-size:clamp(2.15rem,10vw,3.35rem)}
  .sector-listing{grid-template-columns:1fr}
  .sector-feature{min-height:auto;padding:25px}
  .sector-feature h2{font-size:2.2rem}
  .sector-feature ul{margin-bottom:50px}
  .portfolio-project__visual{min-height:290px}
  .portfolio-browser{inset:22px 0 0 16px}
  .portfolio-project__copy{padding:27px}
  .estimator{padding:22px}
  .estimator__header{align-items:flex-start;gap:15px}
  .estimator__header strong{font-size:1.2rem;text-align:right}
}

/* BEGIN WEB.CB06 LEAD DELETE V43 */

.admin-alert--success {
    border: 1px solid #b6ead3;
    background: #ecfbf4;
    color: #12653f;
}

.admin-actions {
    width: 118px;
    min-width: 118px;
    text-align: right;
    vertical-align: middle;
}

.admin-delete-form {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    margin: 0;
}

.admin-delete-button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border: 1px solid #efb5b5;
    border-radius: 10px;
    background: #fff7f7;
    color: #b42318;
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    line-height: 1;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        color .18s ease,
        transform .18s ease;
}

.admin-delete-button:hover {
    border-color: #d92d20;
    background: #d92d20;
    color: #ffffff;
    transform: translateY(-1px);
}

.admin-delete-button:focus-visible {
    outline: 3px solid rgba(217, 45, 32, .22);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .admin-actions {
        width: auto;
        min-width: 105px;
    }

    .admin-delete-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-delete-button {
        transition: none;
    }
}

/* END WEB.CB06 LEAD DELETE V43 */

/* BEGIN WEB.CB06 BRAND VOICE V69 */
.hero__content h1 {
    text-wrap: balance;
}

@media (max-width: 620px) {
    .hero__content h1 {
        font-size: clamp(2.2rem, 11.5vw, 3.35rem);
        line-height: .98;
    }

    .hero__lead {
        line-height: 1.58;
    }
}

@media (max-width: 390px) {
    .hero__content h1 {
        font-size: clamp(2.05rem, 10.8vw, 2.8rem);
    }
}

@media (max-width: 340px) {
    .hero__content h1 {
        font-size: 2rem;
    }
}
/* END WEB.CB06 BRAND VOICE V69 */


/* ===== web-cb06-finitions-v3.css ===== */
/* =========================================================
   WEB.CB06.FR — FINITIONS GRAPHIQUES GLOBALES V3
   Audit complet : icônes, typographie, cartes, formulaires,
   pages services, secteurs, contact, guides et pages légales.
   ========================================================= */
:root{
  --radius:20px;
  --radius-sm:14px;
  --container:1200px;
  --shadow:0 22px 64px rgba(8,20,38,.09);
  --shadow-sm:0 10px 30px rgba(8,20,38,.065);
}
html,body{max-width:100%;overflow-x:clip}
body{font-weight:400;line-height:1.68}
main{overflow:clip}
:where(.hero__grid,.page-hero__inner,.section-heading,.split-heading,.service-detail-grid,.contact-page__grid,.audit-layout,.article-layout,.legal-layout,.france-layout,.estimator-layout,.footer-main,.footer-cta__inner)>*{min-width:0}
h1,h2,h3,h4,h5,h6{font-weight:550!important;letter-spacing:-.028em;text-wrap:balance}
h1{font-size:clamp(2.55rem,4.7vw,4.65rem);line-height:1.04}
h2{font-size:clamp(1.95rem,3.25vw,3.2rem);line-height:1.1}
h3{font-weight:550!important;line-height:1.2}
strong,b{font-weight:600!important}
p,li,dd,dt{font-weight:400}
.eyebrow{font-weight:650!important;letter-spacing:.13em}
.nav-link,.header-phone,.btn,.text-link,.mobile-panel nav a,.announcement a,
.service-card__eyebrow,.service-card__number,.service-row__number,
.work-card__badge,.portfolio-project__copy>span,.guide-card__meta,
.pricing-card__badge,.process-step>span,.article-section-number,
.audit-items article>span,.map-label,.sector-plan>div>span,
.location-seo-points>div>span,.values-grid article>span{
  font-weight:600!important;
}

/* Toute icône décorative garde une taille maîtrisée. */
svg[aria-hidden="true"]{width:1.2em;height:1.2em;min-width:1.2em;max-width:1.2em;flex:0 0 1.2em}
.france-map svg[role="img"]{max-width:none}

.section{padding:86px 0}
.section-heading{margin-bottom:42px}
.section-heading>div:first-child{max-width:730px}
.section-heading>p{max-width:450px}
.page-hero{padding:82px 0}
.page-hero__inner{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:58px}
.page-hero__copy{max-width:760px}
.page-hero__copy h1{max-width:820px;font-size:clamp(2.45rem,4.25vw,4.15rem);line-height:1.03}
.page-hero__copy p{max-width:720px;font-size:1.04rem;line-height:1.7}
.page-hero__aside,.offer-summary,.sector-hero-card,.location-summary,.audit-score-card{padding:27px}
.page-hero .btn--ghost,.section--dark .btn--ghost{background:#fff!important;color:var(--ink)!important;border-color:#fff!important}
.page-hero .btn--ghost:hover,.section--dark .btn--ghost:hover{background:#f3f7fc!important;color:var(--ink)!important}
.btn{font-weight:600!important}

/* Listes avec coche : aucune puce native, aucun doublon. */
.check-list{display:grid;gap:12px;margin:26px 0;padding:0;list-style:none}
.check-list li{display:flex;align-items:flex-start;gap:10px;padding-left:0!important;color:inherit}
.check-list li::before{display:none!important;content:none!important}
.check-list li>svg{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;flex-basis:18px!important;margin-top:4px;color:var(--accent)}

/* Page d'accueil et réalisations. */
.work-grid,.portfolio-full-grid{gap:22px}
.work-card,.portfolio-project{min-height:390px;border-radius:20px}
.work-card__body,.portfolio-project__copy{padding:34px}
.work-card__link{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--brand);font-weight:600!important}
.work-card__link svg{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important}
.portfolio-project__visual{min-height:380px}
.portfolio-project__copy h2{font-size:clamp(1.8rem,2.55vw,2.55rem)}
.portfolio-count strong{font-size:4.8rem;font-weight:550!important}

/* Services : encadré latéral propre et icônes fixes. */
.service-detail-grid{grid-template-columns:minmax(0,1fr) 350px;gap:58px}
.numbered-section{display:grid;grid-template-columns:52px minmax(0,1fr);gap:20px;padding:26px;margin-bottom:15px}
.numbered-section>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--ink);color:#fff;font-size:.75rem;font-weight:600}
.numbered-section h2{font-size:clamp(1.65rem,2.35vw,2.25rem);margin-bottom:10px}
.numbered-section p{margin-bottom:0}
.sticky-benefits{padding:25px;background:linear-gradient(180deg,#f7f9fc,#eef3f8)}
.sticky-benefits ul{display:grid;gap:12px;margin:20px 0 25px;padding:0;list-style:none}
.sticky-benefits li{display:flex;align-items:flex-start;gap:10px;padding:0;color:var(--ink-3);line-height:1.5}
.sticky-benefits li::marker{content:""}
.sticky-benefits li svg{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;flex-basis:18px!important;margin-top:3px;color:var(--success)}
.deliverables-grid article,.feature-cards article,.mini-card{box-shadow:0 8px 24px rgba(8,20,38,.035)}

/* Secteurs : hero, grille et plan. */
.sector-hero-card{display:grid;gap:0}
.sector-hero-card>span{display:block;margin-bottom:10px;color:#b8c8dc;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.sector-hero-card>div{display:flex;align-items:flex-start;gap:11px;padding:15px 0;border-top:1px solid rgba(255,255,255,.13)}
.sector-hero-card>div svg{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;flex-basis:18px!important;margin-top:3px;color:var(--accent)}
.sector-hero-card>div strong{color:#fff!important;line-height:1.45}
.sector-listing{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sector-feature{min-height:450px;padding:27px}
.sector-feature h2{font-size:clamp(1.8rem,2.45vw,2.55rem);line-height:1.06}
.sector-feature>div>span{min-height:0}
.sector-feature ul{margin:24px 0 52px}
.sector-plan{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sector-plan>div{padding:25px}

/* Contact : cartes lisibles, icônes compactes, étapes structurées. */
.contact-direct-card{display:grid;gap:10px;padding:25px;background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.15)!important}
.contact-direct-card>a,.contact-direct-card>div{display:flex!important;align-items:center;gap:14px;margin:0!important;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05)}
.contact-direct-card>a:hover{background:rgba(255,255,255,.09);border-color:rgba(144,243,209,.4)}
.contact-direct-card svg{width:21px!important;height:21px!important;min-width:21px!important;max-width:21px!important;flex-basis:21px!important;color:var(--accent)}
.contact-direct-card span{min-width:0}
.contact-direct-card small,.contact-direct-card strong{display:block}
.contact-direct-card small{color:#aebed2;font-size:.72rem}
.contact-direct-card strong{color:#fff!important;overflow-wrap:anywhere}
.contact-page__grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:28px}
.contact-page__aside>div:first-child{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--soft)}
.contact-page__aside ol{display:grid;gap:0;margin:18px 0 0;padding:0;list-style:none}
.contact-page__aside ol li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:17px 0;border-top:1px solid var(--line)}
.contact-page__aside ol li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff;color:var(--brand);font-size:.72rem;font-weight:600}
.contact-page__aside ol h3,.contact-page__aside ol strong{display:block;margin-bottom:4px}
.contact-page__aside ol p{margin:0;font-size:.88rem}
.contact-confidence{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.contact-confidence p{margin:5px 0 12px}
.contact-confidence a{color:var(--brand);font-weight:600}

/* Formulaires et estimateur : composants natifs maîtrisés. */
input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;margin:2px 0 0!important;padding:0!important;border:0!important;border-radius:3px!important;box-shadow:none!important;accent-color:var(--brand)}
.checkbox{display:flex!important;align-items:flex-start!important;gap:10px!important}
.checkbox span{line-height:1.5}
.lead-form label>span:not(.checkbox span),.audit-form-wrap label>span{font-weight:600!important}
.estimator-layout{grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);gap:56px}
.estimator{padding:31px}
.estimator__checks label{display:flex;align-items:center;gap:10px;min-height:58px}
.estimator__header strong,.estimator__result strong{font-weight:600!important}

/* Guides, tableaux et pages légales. */
.guide-card,.guide-index-card{min-height:285px;padding:25px}
.article-hero{padding:78px 0}
.article-hero h1{font-size:clamp(2.35rem,4.15vw,4rem)}
.article-content h2{font-size:2rem}
.article-toc{border-radius:15px;background:#fff}
.option-table{display:table;width:100%}
.legal-layout{grid-template-columns:250px minmax(0,800px);gap:58px}
.legal-layout>aside{position:sticky;top:115px;align-self:start;display:grid;gap:3px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.legal-layout>aside>strong{display:block;margin-bottom:8px}
.legal-layout>aside>a{display:block;padding:8px 10px;border-radius:9px;color:var(--muted);font-size:.83rem;line-height:1.35}
.legal-layout>aside>a:hover{background:#fff;color:var(--brand)}
.legal-content>section{scroll-margin-top:120px}
.legal-content>section>span{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:12px;border-radius:12px;background:var(--soft);color:var(--brand);font-size:.72rem;font-weight:600}
.legal-content h2{margin-top:12px;font-size:1.85rem}
.legal-content p{line-height:1.75}

/* Grilles nationales et répertoires. */
.region-grid,.department-grid,.city-directory{gap:15px}
.department-grid a,.city-directory a{min-width:0}
.department-grid a strong,.city-directory a strong{overflow-wrap:anywhere}
.france-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.france-stats div{min-width:0}
.france-stats strong{font-size:1.25rem}

/* FAQ et footer. */
.accordion__item button{font-weight:550!important}
.accordion__item button i{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--soft);color:var(--brand)}
.accordion__item button i svg{width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important}
.footer-column h3{font-weight:600!important}
.footer-cta h2{max-width:760px;font-size:clamp(2rem,3.1vw,3rem)}

@media(max-width:1120px){
  .page-hero__inner,.estimator-layout,.france-layout{grid-template-columns:1fr}
  .page-hero__aside,.offer-summary,.sector-hero-card,.location-summary,.audit-score-card{max-width:720px}
  .estimator-copy{max-width:760px}
  .sector-listing{grid-template-columns:repeat(2,minmax(0,1fr))}
  .france-map-card{max-width:720px;width:100%}
  .service-detail-grid{grid-template-columns:1fr}
  .sticky-benefits{position:static}
}
@media(max-width:850px){
  .section{padding:68px 0}
  .page-hero{padding:66px 0}
  .contact-page__grid,.audit-layout,.legal-layout,.article-layout{grid-template-columns:1fr}
  .legal-layout>aside{position:static}
  .pricing-grid,.guide-grid,.guide-index-grid,.work-grid,.portfolio-full-grid{grid-template-columns:1fr}
  .portfolio-project__visual{min-height:330px}
  .sector-plan{grid-template-columns:1fr}
  .option-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .option-table th,.option-table td{min-width:170px}
}
@media(max-width:620px){
  body{padding-bottom:58px}
  h1{font-size:clamp(2.15rem,10.6vw,3.2rem)}
  h2,.section-heading h2{font-size:clamp(1.75rem,8.1vw,2.45rem)}
  .section{padding:54px 0}
  .section-heading{margin-bottom:30px}
  .page-hero{padding:54px 0}
  .page-hero__copy h1{font-size:clamp(2rem,9.8vw,3rem)}
  .page-hero__copy p{font-size:.98rem}
  .page-hero__actions{display:grid}
  .page-hero__actions .btn{width:100%}
  .page-hero__aside,.offer-summary,.sector-hero-card,.location-summary,.audit-score-card{padding:21px}
  .work-card__body,.portfolio-project__copy{padding:25px}
  .portfolio-project__visual{min-height:270px}
  .service-row{grid-template-columns:32px minmax(0,1fr) 34px}
  .numbered-section{grid-template-columns:1fr;gap:12px;padding:22px}
  .numbered-section>span{margin-bottom:2px}
  .sector-listing{grid-template-columns:1fr}
  .sector-feature{min-height:auto;padding:23px}
  .sector-feature h2{font-size:2rem}
  .contact-direct-card,.contact-page__form,.audit-form-wrap{padding:20px}
  .contact-direct-card>a,.contact-direct-card>div{padding:13px}
  .contact-page__aside>div:first-child,.contact-confidence{padding:20px}
  .estimator{padding:20px}
  .estimator__header{display:grid;gap:8px}
  .estimator__header strong{text-align:left!important}
  .estimator__result{display:grid;gap:16px}
  .legal-layout>aside{padding:16px}
  .legal-content h2{font-size:1.65rem}
  .france-stats{grid-template-columns:1fr}
  .footer-cta__actions{width:100%}
  .footer-cta__actions .btn{width:100%}
  .mobile-sticky-cta{min-height:58px}
}

/* CB06 ICONES DIRECTES V3 BEGIN */

/* Icône vectorielle insérée directement dans le HTML */

.cb06-native-badge {
    position: relative !important;

    display: inline-grid !important;
    place-items: center !important;

    flex: 0 0 auto !important;

    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    overflow: hidden !important;

    border:
        1px solid rgba(23, 104, 255, .17) !important;

    border-radius: 15px !important;

    color: #075bd8 !important;

    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(143, 242, 210, .45),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #f5f9ff 0%,
            #e8f1ff 100%
        ) !important;

    box-shadow:
        0 10px 25px rgba(7, 91, 216, .09),
        inset 0 1px 0 rgba(255, 255, 255, .92) !important;

    font-size: 0 !important;
    font-weight: 400 !important;
    line-height: 0 !important;
    text-indent: 0 !important;

    transform: none !important;
}

.cb06-native-badge::before,
.cb06-native-badge::after {
    display: none !important;
    content: none !important;
}

.cb06-native-badge svg {
    position: static !important;

    display: block !important;

    width: 23px !important;
    height: 23px !important;

    margin: 0 !important;
    padding: 0 !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;

    overflow: visible !important;

    transform: none !important;
    pointer-events: none !important;
}

/* Zones sombres */

.section--dark .cb06-native-badge,
.work-section .cb06-native-badge,
.estimator-section .cb06-native-badge,
.values-grid .cb06-native-badge {
    border-color:
        rgba(143, 242, 210, .2) !important;

    color: #9bf3d8 !important;

    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(23, 104, 255, .38),
            transparent 40%
        ),
        rgba(255, 255, 255, .07) !important;

    box-shadow:
        0 12px 28px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

/* Cartes de services */

.service-card__number.cb06-native-badge {
    position: absolute !important;

    top: 20px !important;
    right: 24px !important;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;

    border-radius: 13px !important;
}

/* Lignes d’expertises */

.service-row__number.cb06-native-badge {
    position: static !important;

    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
}

/* Secteurs */

.sector-feature__number.cb06-native-badge {
    position: static !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    margin: 0 !important;
}

.sector-card > .cb06-native-badge {
    position: static !important;

    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;

    margin: 0 0 28px !important;
}

/* Étapes de méthode */

.process-step > .cb06-native-badge {
    position: static !important;

    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;

    margin: 0 0 22px !important;
}

/* Cartes métriques */

.metric-card > .cb06-native-badge {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    margin: 0 0 13px !important;
}

/* Valeurs de l’agence */

.values-grid article > .cb06-native-badge {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    margin: 0 0 22px !important;
}

/* Contact */

.contact-layout li > .cb06-native-badge,
.contact-intro li > .cb06-native-badge,
.contact-card li > .cb06-native-badge {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
}

/* Livrables */

.deliverables-grid article > .cb06-native-badge {
    width: 46px !important;
    height: 46px !important;

    margin-bottom: 20px !important;
}

/* Sections numérotées */

.numbered-section > .cb06-native-badge,
.article-section-number.cb06-native-badge {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
}

/* Pages juridiques */

.cb06-legal__number.cb06-native-badge {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    border-radius: 16px !important;
}

/* Survol discret */

article:hover > .cb06-native-badge,
.metric-card:hover > .cb06-native-badge {
    border-color:
        rgba(23, 104, 255, .32) !important;

    box-shadow:
        0 14px 32px rgba(7, 91, 216, .14),
        inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

/* Mobile */

@media (max-width: 700px) {

    .cb06-native-badge {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;

        border-radius: 14px !important;
    }

    .cb06-native-badge svg {
        width: 21px !important;
        height: 21px !important;
    }

    .service-card__number.cb06-native-badge {
        top: 18px !important;
        right: 18px !important;

        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }

    .cb06-legal__number.cb06-native-badge {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
    }
}

/* CB06 ICONES DIRECTES V3 END */

/* CB06 SERVICES HERO ICONS V5 BEGIN */

/*
 * Bloc supérieur de la page /services/.
 * Pictogrammes visibles, légers et sans carré opaque.
 */

.page-hero__aside--services {
    display: grid !important;

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

    align-content: center !important;

    gap: 13px !important;

    width: 100% !important;
    min-width: 0 !important;
}

.page-hero__aside--services .metric-card {
    position: relative !important;

    display: grid !important;

    grid-template-columns:
        46px
        minmax(0, 1fr) !important;

    grid-template-areas:
        "icon title"
        "icon description" !important;

    align-items: center !important;

    column-gap: 15px !important;
    row-gap: 3px !important;

    min-width: 0 !important;
    min-height: 82px !important;

    padding:
        16px 19px !important;

    overflow: visible !important;
}

/*
 * Annule les anciennes règles destinées aux numéros 01, 02, 03.
 */

.page-hero__aside--services
.metric-card
>
.metric-card__icon {
    position: static !important;

    grid-area: icon !important;

    display: inline-grid !important;
    place-items: center !important;

    align-self: center !important;
    justify-self: center !important;

    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    border: 0 !important;
    border-radius: 0 !important;

    color: #1768ff !important;
    background: transparent !important;

    box-shadow: none !important;

    font-size: 0 !important;
    line-height: 0 !important;

    opacity: 1 !important;

    transform: none !important;
}

.page-hero__aside--services
.metric-card
>
.metric-card__icon::before,
.page-hero__aside--services
.metric-card
>
.metric-card__icon::after {
    display: none !important;
    content: none !important;
}

.page-hero__aside--services
.metric-card__icon
svg {
    position: static !important;
    inset: auto !important;

    display: block !important;

    width: 25px !important;
    height: 25px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    color: inherit !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;

    opacity: 1 !important;

    transform: none !important;
}

/* Couleurs légèrement différentes pour mieux identifier les cartes. */

.page-hero__aside--services
.metric-card--strategy
.metric-card__icon {
    color: #1768ff !important;
}

.page-hero__aside--services
.metric-card--experience
.metric-card__icon {
    color: #7258e8 !important;
}

.page-hero__aside--services
.metric-card--growth
.metric-card__icon {
    color: #087b62 !important;
}

.page-hero__aside--services
.metric-card
>
strong {
    grid-area: title !important;

    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;

    color: #07162b !important;

    font-size: .92rem !important;
    font-weight: 620 !important;

    line-height: 1.3 !important;
}

.page-hero__aside--services
.metric-card
>
small {
    grid-area: description !important;

    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;

    color: #53677e !important;

    font-size: .75rem !important;
    font-weight: 420 !important;

    line-height: 1.45 !important;
}

/* Survol très discret. */

.page-hero__aside--services
.metric-card:hover
.metric-card__icon {
    filter:
        drop-shadow(
            0 6px 10px rgba(23, 104, 255, .14)
        ) !important;

    transform:
        translateY(-1px) !important;
}

/* Tablette et mobile. */

@media (max-width: 980px) {

    .page-hero__aside--services {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

    .page-hero__aside--services .metric-card {
        grid-template-columns:
            38px
            minmax(0, 1fr) !important;

        min-height: 76px !important;

        padding:
            14px 15px !important;
    }

    .page-hero__aside--services
    .metric-card
    >
    .metric-card__icon {
        width: 35px !important;
        height: 35px !important;
        min-width: 35px !important;
        min-height: 35px !important;
    }

    .page-hero__aside--services
    .metric-card__icon
    svg {
        width: 22px !important;
        height: 22px !important;
    }
}

@media (max-width: 700px) {

    .page-hero__aside--services {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 10px !important;
    }

    .page-hero__aside--services .metric-card {
        grid-template-columns:
            40px
            minmax(0, 1fr) !important;

        min-height: 72px !important;

        padding:
            13px 16px !important;
    }
}

/* CB06 SERVICES HERO ICONS V5 END */


/* ===== web-cb06-mobile-menu-v5.css ===== */
/* ==========================================================
   WEB.CB06.FR — MENU MOBILE PREMIUM V5
   ========================================================== */

@media (max-width:1120px) {

    html.cb06m-open,
    body.cb06m-open {
        overflow: hidden !important;
        overscroll-behavior: none;
    }

    body.cb06m-open .mobile-sticky-cta,
    body.cb06m-open .project-chat {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .mobile-toggle.cb06m-toggle {
        position: relative !important;
        z-index: 10020 !important;
        display: grid !important;
        place-items: center !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        padding: 0 !important;
        border: 1px solid rgba(8, 20, 38, .12) !important;
        border-radius: 15px !important;
        background: linear-gradient(145deg, #fff, #f1f6fc) !important;
        color: #071321 !important;
        box-shadow: 0 10px 26px rgba(8, 20, 38, .09) !important;
    }

    .cb06m-toggle-bars {
        position: relative;
        display: block;
        width: 21px;
        height: 15px;
    }

    .cb06m-toggle-bars i {
        position: absolute;
        left: 0;
        display: block;
        width: 21px;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: transform .25s ease, opacity .25s ease, top .25s ease;
    }

    .cb06m-toggle-bars i:nth-child(1) {
        top: 0;
    }

    .cb06m-toggle-bars i:nth-child(2) {
        top: 6.5px;
        left: 6px;
        width: 15px;
    }

    .cb06m-toggle-bars i:nth-child(3) {
        bottom: 0;
    }

    .cb06m-toggle[aria-expanded="true"] {
        border-color: #071321 !important;
        background: #071321 !important;
        color: #fff !important;
    }

    .cb06m-toggle[aria-expanded="true"] .cb06m-toggle-bars i:nth-child(1) {
        top: 6.5px;
        transform: rotate(45deg);
    }

    .cb06m-toggle[aria-expanded="true"] .cb06m-toggle-bars i:nth-child(2) {
        opacity: 0;
        transform: translateX(8px);
    }

    .cb06m-toggle[aria-expanded="true"] .cb06m-toggle-bars i:nth-child(3) {
        bottom: 6.5px;
        transform: rotate(-45deg);
    }

    .mobile-panel.cb06m-panel {
        position: fixed !important;
        inset: 0 !important;
        z-index: 10010 !important;
        display: block !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
        transition:
            opacity .25s ease,
            visibility 0s linear .25s !important;
    }

    .mobile-panel.cb06m-panel.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition-delay: 0s !important;
    }

    .cb06m-panel * {
        box-sizing: border-box;
    }

    .cb06m-backdrop {
        position: absolute;
        inset: 0;
        border: 0;
        background: rgba(2, 9, 18, .72);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
        opacity: 0;
        transition: opacity .28s ease;
    }

    .cb06m-panel.is-open .cb06m-backdrop {
        opacity: 1;
    }

    .cb06m-drawer {
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        width: min(93vw, 430px);
        height: 100%;
        overflow: hidden;
        color: #f7fbff;
        background:
            radial-gradient(
                circle at 90% 2%,
                rgba(23, 104, 255, .24),
                transparent 30%
            ),
            radial-gradient(
                circle at 5% 95%,
                rgba(143, 242, 210, .1),
                transparent 32%
            ),
            #071321;
        border-left: 1px solid rgba(255, 255, 255, .09);
        box-shadow: -30px 0 90px rgba(2, 10, 20, .35);
        transform: translate3d(105%, 0, 0);
        transition: transform .38s cubic-bezier(.22, .85, .32, 1);
    }

    .cb06m-panel.is-open .cb06m-drawer {
        transform: translate3d(0, 0, 0);
    }

    .cb06m-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        min-height: 76px;
        padding:
            max(14px, env(safe-area-inset-top))
            16px
            13px
            20px;
        border-bottom: 1px solid rgba(207, 225, 245, .13);
        background: rgba(7, 19, 33, .88);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .cb06m-brand {
        display: flex;
        align-items: center;
        gap: 11px;
        min-width: 0;
        color: #fff !important;
    }

    .cb06m-mark {
        display: grid;
        place-items: center;
        width: 36px;
        height: 36px;
        border-radius: 11px;
        background: linear-gradient(145deg, #1768ff, #0a49be);
        color: #fff;
        font-size: 1rem;
        font-weight: 700;
        box-shadow: 0 9px 24px rgba(23, 104, 255, .25);
    }

    .cb06m-brand-copy {
        display: grid;
        line-height: 1.05;
    }

    .cb06m-brand-copy strong {
        color: #fff !important;
        font-size: .92rem;
        font-weight: 620 !important;
        letter-spacing: .02em;
    }

    .cb06m-brand-copy small {
        margin-top: 5px;
        color: #9fb0c6;
        font-size: .62rem;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .cb06m-close {
        display: grid;
        place-items: center;
        width: 43px;
        height: 43px;
        min-width: 43px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 14px;
        background: rgba(255, 255, 255, .07);
        color: #fff;
    }

    .cb06m-close svg {
        width: 20px !important;
        height: 20px !important;
    }

    .cb06m-scroll {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 16px 15px 28px;
    }

    .cb06m-hero {
        position: relative;
        overflow: hidden;
        padding: 19px;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 20px;
        background:
            linear-gradient(
                145deg,
                rgba(255, 255, 255, .085),
                rgba(255, 255, 255, .035)
            );
    }

    .cb06m-kicker {
        display: flex;
        align-items: center;
        gap: 7px;
        margin-bottom: 8px;
        color: #8ff2d2;
        font-size: .67rem;
        font-weight: 620;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .cb06m-hero strong {
        display: block;
        color: #fff !important;
        font-size: 1.22rem;
        font-weight: 540 !important;
        line-height: 1.2;
        letter-spacing: -.025em;
    }

    .cb06m-hero p {
        margin: 8px 0 0;
        color: #aebed2;
        font-size: .81rem;
        line-height: 1.5;
    }

    .cb06m-quick {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        margin: 11px 0 17px;
    }

    .cb06m-quick a {
        display: flex;
        align-items: center;
        gap: 10px;
        min-width: 0;
        padding: 13px;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 16px;
        background: rgba(255, 255, 255, .055);
        color: #fff !important;
    }

    .cb06m-quick i {
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        min-width: 34px;
        border-radius: 11px;
        background: rgba(23, 104, 255, .2);
        color: #8ff2d2;
        font-style: normal;
    }

    .cb06m-quick svg {
        width: 17px !important;
        height: 17px !important;
    }

    .cb06m-quick span {
        display: grid;
        min-width: 0;
    }

    .cb06m-quick small {
        color: #9fb0c6;
        font-size: .61rem;
    }

    .cb06m-quick strong {
        overflow: hidden;
        color: #fff !important;
        font-size: .75rem;
        font-weight: 580 !important;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .cb06m-label {
        display: block;
        margin: 0 5px 8px;
        color: #7589a2;
        font-size: .61rem;
        font-weight: 620;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .cb06m-nav {
        display: grid;
        gap: 7px;
    }

    .cb06m-link,
    .cb06m-accordion-button {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) 22px;
        align-items: center;
        gap: 11px;
        width: 100%;
        min-height: 64px;
        padding: 10px 12px;
        border: 1px solid rgba(255, 255, 255, .085);
        border-radius: 16px;
        background: rgba(255, 255, 255, .04);
        color: #fff !important;
        text-align: left;
    }

    .cb06m-accordion-button {
        font: inherit;
    }

    .cb06m-link:hover,
    .cb06m-accordion-button:hover {
        border-color: rgba(143, 242, 210, .18);
        background: rgba(255, 255, 255, .075);
    }

    .cb06m-link[aria-current="page"] {
        border-color: rgba(23, 104, 255, .38);
        background:
            linear-gradient(
                90deg,
                rgba(23, 104, 255, .18),
                rgba(23, 104, 255, .04)
            );
    }

    .cb06m-icon {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        border-radius: 13px;
        background: rgba(23, 104, 255, .16);
        color: #8ff2d2;
    }

    .cb06m-icon svg {
        width: 19px !important;
        height: 19px !important;
    }

    .cb06m-copy {
        display: grid;
        min-width: 0;
    }

    .cb06m-copy strong {
        color: #fff !important;
        font-size: .86rem;
        font-weight: 570 !important;
        letter-spacing: -.01em;
    }

    .cb06m-copy small {
        margin-top: 3px;
        overflow: hidden;
        color: #9fb0c6;
        font-size: .67rem;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .cb06m-chevron {
        display: grid;
        place-items: center;
        color: #6f849f;
    }

    .cb06m-chevron svg {
        width: 16px !important;
        height: 16px !important;
        transition: transform .2s ease;
    }

    .cb06m-accordion-button[aria-expanded="true"]
    .cb06m-chevron svg {
        transform: rotate(90deg);
    }

    .cb06m-submenu {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows .25s ease;
    }

    .cb06m-submenu > div {
        min-height: 0;
        overflow: hidden;
    }

    .cb06m-accordion-button[aria-expanded="true"]
    + .cb06m-submenu {
        grid-template-rows: 1fr;
    }

    .cb06m-subgrid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 7px;
        padding: 8px 4px 3px 54px;
    }

    .cb06m-subgrid a {
        display: flex;
        align-items: center;
        min-height: 48px;
        padding: 9px 11px;
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 13px;
        background: rgba(255, 255, 255, .025);
        color: #cbd7e6 !important;
        font-size: .7rem;
        line-height: 1.3;
    }

    .cb06m-subgrid a.cb06m-all {
        grid-column: 1 / -1;
        justify-content: center;
        color: #8ff2d2 !important;
        background: rgba(143, 242, 210, .07);
    }

    .cb06m-project {
        margin-top: 16px;
        padding: 18px;
        border: 1px solid rgba(143, 242, 210, .17);
        border-radius: 20px;
        background:
            linear-gradient(
                145deg,
                rgba(143, 242, 210, .09),
                rgba(23, 104, 255, .08)
            );
    }

    .cb06m-project strong {
        display: block;
        color: #fff !important;
        font-size: .94rem;
        font-weight: 570 !important;
    }

    .cb06m-project p {
        margin: 7px 0 13px;
        color: #aebed2;
        font-size: .76rem;
        line-height: 1.5;
    }

    .cb06m-project a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 45px;
        padding: 10px 14px;
        border-radius: 13px;
        background: #fff;
        color: #071321 !important;
        font-size: .77rem;
        font-weight: 620;
    }

    .cb06m-foot {
        padding:
            12px
            15px
            max(13px, env(safe-area-inset-bottom));
        border-top: 1px solid rgba(207, 225, 245, .13);
        background: rgba(7, 19, 33, .95);
    }

    .cb06m-primary {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 12px 18px;
        border-radius: 15px;
        background: linear-gradient(135deg, #1768ff, #0b56df);
        color: #fff !important;
        font-size: .84rem;
        font-weight: 620;
        box-shadow: 0 14px 30px rgba(23, 104, 255, .22);
    }
}

@media (max-width:390px) {

    .cb06m-drawer {
        width: 100vw;
    }

    .cb06m-subgrid {
        grid-template-columns: 1fr;
        padding-left: 43px;
    }

    .cb06m-quick {
        grid-template-columns: 1fr;
    }

    .cb06m-hero strong {
        font-size: 1.12rem;
    }
}

@media (min-width:1121px) {

    .mobile-panel.cb06m-panel {
        display: none !important;
    }
}

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

    .cb06m-panel,
    .cb06m-drawer,
    .cb06m-backdrop,
    .cb06m-toggle-bars i,
    .cb06m-submenu {
        transition: none !important;
    }
}

/* WEB.CB06 MOBILE HEADER FIX V5.1 BEGIN */

/*
 * Correction du bouton vide :
 * l'ancien CSS masquait le seul span présent dans le bouton.
 */
@media (max-width: 1120px) {

    .site-header .header__inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .site-header .brand {
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .site-header .brand img {
        display: block !important;
        width: min(190px, calc(100vw - 98px)) !important;
        max-width: 100% !important;
        height: auto !important;
    }

    .site-header .header__actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .site-header .mobile-toggle.cb06m-toggle {
        position: relative !important;
        z-index: 10020 !important;

        display: grid !important;
        place-items: center !important;

        width: 48px !important;
        height: 46px !important;
        min-width: 48px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 1px solid rgba(7, 19, 33, .08) !important;
        border-radius: 15px !important;

        background:
            linear-gradient(
                145deg,
                #10233d,
                #071321
            ) !important;

        color: #ffffff !important;

        box-shadow:
            0 11px 25px rgba(7, 19, 33, .16),
            inset 0 1px 0 rgba(255, 255, 255, .08) !important;

        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /*
     * Les anciennes règles utilisaient :
     * .mobile-toggle span:last-child { display:none }
     *
     * Le span des trois barres était donc invisible.
     */
    .site-header
    .mobile-toggle.cb06m-toggle
    > .cb06m-toggle-bars,

    .site-header
    .mobile-toggle.cb06m-toggle[aria-expanded="true"]
    > .cb06m-toggle-bars {

        position: relative !important;

        display: block !important;

        width: 22px !important;
        height: 16px !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .site-header
    .mobile-toggle.cb06m-toggle
    .cb06m-toggle-bars i {

        position: absolute !important;
        left: 0 !important;

        display: block !important;

        width: 22px !important;
        height: 2px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 99px !important;

        background: #ffffff !important;

        opacity: 1 !important;
        visibility: visible !important;

        box-shadow: none !important;

        transition:
            transform .24s ease,
            opacity .2s ease,
            top .24s ease,
            bottom .24s ease !important;
    }

    .site-header
    .mobile-toggle.cb06m-toggle
    .cb06m-toggle-bars i:nth-child(1) {

        top: 0 !important;
        bottom: auto !important;
    }

    .site-header
    .mobile-toggle.cb06m-toggle
    .cb06m-toggle-bars i:nth-child(2) {

        top: 7px !important;
        left: 5px !important;

        width: 17px !important;
    }

    .site-header
    .mobile-toggle.cb06m-toggle
    .cb06m-toggle-bars i:nth-child(3) {

        top: auto !important;
        bottom: 0 !important;
    }

    .site-header
    .mobile-toggle.cb06m-toggle:active {

        transform: scale(.96) !important;
    }

    /*
     * Transformation propre en croix.
     */
    .site-header
    .mobile-toggle.cb06m-toggle[aria-expanded="true"]
    .cb06m-toggle-bars i:nth-child(1) {

        top: 7px !important;
        transform: rotate(45deg) !important;
    }

    .site-header
    .mobile-toggle.cb06m-toggle[aria-expanded="true"]
    .cb06m-toggle-bars i:nth-child(2) {

        opacity: 0 !important;
        transform: translateX(7px) !important;
    }

    .site-header
    .mobile-toggle.cb06m-toggle[aria-expanded="true"]
    .cb06m-toggle-bars i:nth-child(3) {

        bottom: 7px !important;
        transform: rotate(-45deg) !important;
    }

    /*
     * Suppression de l'ancien padding de 20px appliqué au nav.
     */
    .mobile-panel.cb06m-panel nav.cb06m-nav {

        display: grid !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        gap: 8px !important;
    }

    /*
     * Suppression des anciennes bordures blanches sous les cartes.
     */
    .mobile-panel.cb06m-panel
    nav.cb06m-nav
    > a.cb06m-link,

    .mobile-panel.cb06m-panel
    nav.cb06m-nav
    .cb06m-accordion-button {

        width: 100% !important;
        min-height: 64px !important;

        margin: 0 !important;
        padding: 10px 12px !important;

        border:
            1px solid rgba(255, 255, 255, .09) !important;

        border-bottom:
            1px solid rgba(255, 255, 255, .09) !important;

        border-radius: 17px !important;

        background:
            rgba(255, 255, 255, .045) !important;

        font-weight: inherit !important;

        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .025) !important;
    }

    .mobile-panel.cb06m-panel
    nav.cb06m-nav
    > a.cb06m-link:hover,

    .mobile-panel.cb06m-panel
    nav.cb06m-nav
    .cb06m-accordion-button:hover {

        border-color:
            rgba(143, 242, 210, .2) !important;

        background:
            rgba(255, 255, 255, .075) !important;
    }

    .mobile-panel.cb06m-panel
    .cb06m-subgrid a {

        min-height: 47px !important;

        margin: 0 !important;
        padding: 9px 11px !important;

        border:
            1px solid rgba(255, 255, 255, .075) !important;

        border-bottom:
            1px solid rgba(255, 255, 255, .075) !important;

        border-radius: 13px !important;

        font-weight: 450 !important;
    }

    .mobile-panel.cb06m-panel
    .cb06m-link
    .cb06m-copy strong,

    .mobile-panel.cb06m-panel
    .cb06m-accordion-button
    .cb06m-copy strong {

        font-weight: 530 !important;
    }

    .mobile-panel.cb06m-panel
    .cb06m-copy small {

        max-width: 100% !important;

        font-weight: 400 !important;

        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }
}

@media (max-width: 620px) {

    .site-header .header__inner {

        height: 70px !important;
    }

    .site-header .brand img {

        width: min(184px, calc(100vw - 91px)) !important;
    }

    .site-header .mobile-toggle.cb06m-toggle {

        width: 46px !important;
        height: 44px !important;
        min-width: 46px !important;

        border-radius: 14px !important;
    }

    .announcement {

        min-height: 0 !important;
    }

    .announcement__inner {

        min-height: 0 !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    .announcement__inner > span {

        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;

        width: 100% !important;

        text-align: center !important;
        line-height: 1.45 !important;
    }

    .announcement__dot {

        flex: 0 0 auto !important;
        margin-top: .32em !important;
    }

    .mobile-panel.cb06m-panel .cb06m-scroll {

        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    .mobile-panel.cb06m-panel
    .cb06m-subgrid {

        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

/* WEB.CB06 MOBILE HEADER FIX V5.1 END */


/* ===== web-cb06-brand-v7.css ===== */
/* ==========================================================
   WEB.CB06 — IDENTITÉ VISUELLE PREMIUM V7
   ========================================================== */

.site-header .brand,
header .brand {
    display: flex !important;
    align-items: center !important;

    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

.site-header .brand img,
header .brand img,
header img[src*="logo.svg"] {
    display: block !important;

    width: 245px !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    object-fit: contain !important;
    object-position: left center !important;

    overflow: visible !important;
}

.site-header .header__inner {
    display: flex !important;
    align-items: center !important;

    min-height: 82px !important;
}

.site-footer .brand,
footer .brand,
footer .footer-brand,
footer [class*="brand"] {
    display: flex !important;
    align-items: center !important;

    min-width: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.site-footer img[src*="logo-footer.svg"],
footer img[src*="logo-footer.svg"] {
    display: block !important;

    width: 245px !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    object-fit: contain !important;
    object-position: left center !important;

    filter:
        drop-shadow(
            0 12px 28px rgba(0, 0, 0, .18)
        ) !important;
}

@media (max-width: 1120px) {

    .site-header .header__inner {
        display: grid !important;

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

        gap: 14px !important;

        min-height: 82px !important;
    }

    .site-header .brand img,
    header .brand img,
    header img[src*="logo.svg"] {
        width: 232px !important;
        max-width: calc(100vw - 102px) !important;
    }

    .site-header .header__actions {
        flex: 0 0 auto !important;

        margin: 0 !important;
    }
}

@media (max-width: 620px) {

    .site-header .header__inner {
        min-height: 80px !important;

        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .site-header .brand img,
    header .brand img,
    header img[src*="logo.svg"] {
        width: 220px !important;
        max-width: calc(100vw - 96px) !important;
    }

    .site-footer img[src*="logo-footer.svg"],
    footer img[src*="logo-footer.svg"] {
        width: 224px !important;
    }
}

@media (max-width: 390px) {

    .site-header .brand img,
    header .brand img,
    header img[src*="logo.svg"] {
        width: 205px !important;
        max-width: calc(100vw - 91px) !important;
    }

    .site-footer img[src*="logo-footer.svg"],
    footer img[src*="logo-footer.svg"] {
        width: 210px !important;
    }
}

/* WEB.CB06 SKIP LINK FIX BEGIN */

/*
 * Le lien reste disponible pour le clavier et les lecteurs d’écran,
 * mais n’apparaît pas dans la mise en page normale.
 */
.skip-link,
a.skip-link,
body > a[href="#main"]:first-of-type,
body > a[href="#main-content"]:first-of-type {
    position: fixed !important;
    top: -200px !important;
    left: 16px !important;
    z-index: 20000 !important;

    display: block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 12px 18px !important;

    overflow: visible !important;

    border-radius: 12px !important;

    background: #071321 !important;
    color: #ffffff !important;

    font-size: 14px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;

    opacity: 0 !important;
    pointer-events: none !important;
}

.skip-link:focus,
a.skip-link:focus,
body > a[href="#main"]:first-of-type:focus,
body > a[href="#main-content"]:first-of-type:focus {
    top: 16px !important;

    opacity: 1 !important;
    pointer-events: auto !important;

    box-shadow: 0 12px 30px rgba(7, 19, 33, .25) !important;
}

/* WEB.CB06 SKIP LINK FIX END */

/* CB06 ACCESSIBILITY LINK FINAL BEGIN */

a.skip-link,
.skip-link,
body > a[href="#main"],
body > a[href="#main-content"],
body > a[href="#contenu"] {
    position: fixed !important;
    top: 0 !important;
    left: 16px !important;
    z-index: 999999 !important;

    display: block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 12px 18px !important;

    border: 0 !important;
    border-radius: 12px !important;

    background: #071321 !important;
    color: #ffffff !important;

    font-size: 14px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;

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

    transform: translateY(-160%) !important;
}

a.skip-link:focus,
.skip-link:focus,
body > a[href="#main"]:focus,
body > a[href="#main-content"]:focus,
body > a[href="#contenu"]:focus {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: translateY(16px) !important;

    box-shadow:
        0 14px 36px rgba(7, 19, 33, .28) !important;
}

/* CB06 ACCESSIBILITY LINK FINAL END */

/* CB06 FOOTER PREMIUM V9 BEGIN */

/* ==========================================================
   FOOTER PREMIUM — STRUCTURE GÉNÉRALE
   ========================================================== */

.site-footer,
footer.site-footer {
    position: relative !important;

    overflow: hidden !important;

    padding-top: 0 !important;

    background:
        radial-gradient(
            circle at 8% 10%,
            rgba(23, 104, 255, .08),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(143, 242, 210, .045),
            transparent 25%
        ),
        #071321 !important;
}

.site-footer > .container,
footer.site-footer > .container {
    width: min(100% - 48px, 1320px) !important;
    max-width: 1320px !important;

    margin-inline: auto !important;
}

/* ==========================================================
   GRILLE PRINCIPALE — 4 COLONNES SUR ORDINATEUR
   ========================================================== */

.site-footer .footer-grid,
footer.site-footer .footer-grid {
    display: grid !important;

    grid-template-columns:
        minmax(330px, 1.55fr)
        minmax(175px, .88fr)
        minmax(175px, .88fr)
        minmax(175px, .88fr) !important;

    align-items: start !important;

    column-gap: clamp(40px, 4vw, 72px) !important;
    row-gap: 38px !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 64px 0 42px !important;
}

/* ==========================================================
   COLONNE MARQUE
   ========================================================== */

.site-footer .footer-brand,
footer.site-footer .footer-brand,
footer .footer-grid > .footer-brand {
    display: block !important;

    grid-column: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 430px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

.site-footer .footer-brand > a,
footer.site-footer .footer-brand > a {
    display: inline-flex !important;

    align-items: center !important;

    width: auto !important;

    margin: 0 0 20px !important;
    padding: 0 !important;
}

.site-footer .footer-brand > img,
.site-footer .footer-brand > a > img,
footer .footer-brand > img,
footer .footer-brand > a > img,
footer img[src*="logo-footer.svg"] {
    display: block !important;

    width: 230px !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: left center !important;

    filter:
        drop-shadow(
            0 12px 28px rgba(0, 0, 0, .16)
        ) !important;
}

.site-footer .footer-brand > p,
footer.site-footer .footer-brand > p {
    display: block !important;

    width: 100% !important;
    max-width: 410px !important;

    margin: 0 0 20px !important;

    color: #b8c7d9 !important;

    font-size: .91rem !important;
    font-weight: 400 !important;

    line-height: 1.68 !important;

    letter-spacing: 0 !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

/* ==========================================================
   CONTACT DU FOOTER
   ========================================================== */

.site-footer .footer-contact,
footer.site-footer .footer-contact {
    position: static !important;

    display: grid !important;

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

    align-items: start !important;

    gap: 9px !important;

    width: 100% !important;
    max-width: 410px !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}

.site-footer .footer-contact a,
footer.site-footer .footer-contact a {
    position: static !important;

    display: grid !important;

    grid-template-columns:
        25px
        minmax(0, 1fr) !important;

    align-items: center !important;

    gap: 10px !important;

    width: 100% !important;
    min-width: 0 !important;

    min-height: 34px !important;

    margin: 0 !important;
    padding: 3px 0 !important;

    color: #f5f9ff !important;

    font-size: .88rem !important;
    font-weight: 520 !important;

    line-height: 1.45 !important;

    text-decoration: none !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;

    transform: none !important;

    transition:
        color .18s ease,
        transform .18s ease !important;
}

.site-footer .footer-contact a:hover,
footer.site-footer .footer-contact a:hover {
    color: #8ff2d2 !important;

    transform:
        translateX(3px) !important;
}

.site-footer .footer-contact svg,
footer.site-footer .footer-contact svg {
    display: block !important;

    width: 19px !important;
    height: 19px !important;

    color: #8ff2d2 !important;
}

/* ==========================================================
   COLONNES DE NAVIGATION
   ========================================================== */

.site-footer .footer-column,
footer.site-footer .footer-column {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 2px 0 0 !important;

    overflow: visible !important;
}

.site-footer .footer-column h3,
footer.site-footer .footer-column h3 {
    margin: 0 0 18px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-size: .74rem !important;
    font-weight: 650 !important;

    letter-spacing: .105em !important;
    line-height: 1.35 !important;

    text-transform: uppercase !important;
}

.site-footer .footer-column nav,
footer.site-footer .footer-column nav,
.site-footer .footer-column ul,
footer.site-footer .footer-column ul {
    display: grid !important;

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

    align-items: start !important;

    gap: 6px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.site-footer .footer-column li,
footer.site-footer .footer-column li {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

/*
 * Zone de clic plus haute sans augmenter excessivement
 * la hauteur totale du footer.
 */
.site-footer .footer-column a,
footer.site-footer .footer-column a {
    display: flex !important;

    align-items: center !important;

    width: 100% !important;
    min-height: 34px !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 5px 0 !important;

    color: #b8c7d9 !important;

    font-size: .86rem !important;
    font-weight: 420 !important;

    line-height: 1.45 !important;

    text-decoration: none !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;

    transform: none !important;

    transition:
        color .18s ease,
        transform .18s ease !important;
}

.site-footer .footer-column a::before,
footer.site-footer .footer-column a::before {
    content: "";

    flex: 0 0 auto;

    width: 0;
    height: 1px;

    margin-right: 0;

    background: #8ff2d2;

    opacity: 0;

    transition:
        width .18s ease,
        margin-right .18s ease,
        opacity .18s ease;
}

.site-footer .footer-column a:hover,
footer.site-footer .footer-column a:hover,
.site-footer .footer-column a:focus-visible,
footer.site-footer .footer-column a:focus-visible {
    color: #ffffff !important;

    transform:
        translateX(2px) !important;
}

.site-footer .footer-column a:hover::before,
footer.site-footer .footer-column a:hover::before,
.site-footer .footer-column a:focus-visible::before,
footer.site-footer .footer-column a:focus-visible::before {
    width: 12px;

    margin-right: 8px;

    opacity: 1;
}

/* ==========================================================
   BAS DU FOOTER
   ========================================================== */

.site-footer .footer-bottom,
footer.site-footer .footer-bottom {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    flex-wrap: wrap !important;

    gap: 12px 28px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 22px 0 26px !important;

    border-top:
        1px solid rgba(255, 255, 255, .1) !important;

    color: #9eafc3 !important;

    font-size: .74rem !important;
    font-weight: 400 !important;

    line-height: 1.5 !important;
}

.site-footer .footer-bottom p,
footer.site-footer .footer-bottom p {
    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.site-footer .footer-bottom a,
footer.site-footer .footer-bottom a {
    display: inline-flex !important;

    align-items: center !important;

    min-height: 30px !important;

    padding: 4px 0 !important;

    color: #b8c7d9 !important;

    text-decoration: none !important;
}

.site-footer .footer-bottom a:hover,
footer.site-footer .footer-bottom a:hover {
    color: #ffffff !important;
}

/* ==========================================================
   ÉCRANS INTERMÉDIAIRES
   Garde 4 colonnes jusqu'à 980 px pour éviter un footer haut.
   ========================================================== */

@media (max-width: 1180px) and (min-width: 981px) {

    .site-footer .footer-grid,
    footer.site-footer .footer-grid {
        grid-template-columns:
            minmax(280px, 1.4fr)
            repeat(3, minmax(145px, 1fr)) !important;

        column-gap: 30px !important;

        padding-top: 58px !important;
    }

    .site-footer .footer-brand > p,
    footer.site-footer .footer-brand > p {
        font-size: .86rem !important;
    }

    .site-footer .footer-column a,
    footer.site-footer .footer-column a {
        font-size: .82rem !important;
    }
}

/* ==========================================================
   TABLETTE — 2 COLONNES
   ========================================================== */

@media (max-width: 980px) {

    .site-footer .footer-grid,
    footer.site-footer .footer-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        column-gap: 56px !important;
        row-gap: 42px !important;

        padding:
            56px 0 38px !important;
    }

    .site-footer .footer-brand,
    footer.site-footer .footer-brand {
        grid-column: 1 / -1 !important;

        max-width: none !important;
    }

    .site-footer .footer-brand > p,
    footer.site-footer .footer-brand > p {
        max-width: 700px !important;
    }

    .site-footer .footer-contact,
    footer.site-footer .footer-contact {
        display: flex !important;

        flex-wrap: wrap !important;

        gap: 6px 28px !important;

        max-width: 760px !important;
    }

    .site-footer .footer-contact a,
    footer.site-footer .footer-contact a {
        width: auto !important;
        min-width: 220px !important;
    }
}

/* ==========================================================
   MOBILE — 1 COLONNE
   ========================================================== */

@media (max-width: 640px) {

    .site-footer > .container,
    footer.site-footer > .container {
        width:
            min(100% - 36px, 1320px) !important;
    }

    .site-footer .footer-grid,
    footer.site-footer .footer-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;

        row-gap: 34px !important;

        padding:
            48px 0 32px !important;
    }

    .site-footer .footer-brand,
    footer.site-footer .footer-brand {
        grid-column: auto !important;
    }

    .site-footer .footer-brand > img,
    .site-footer .footer-brand > a > img,
    footer .footer-brand > img,
    footer .footer-brand > a > img,
    footer img[src*="logo-footer.svg"] {
        width: 215px !important;
    }

    .site-footer .footer-brand > p,
    footer.site-footer .footer-brand > p {
        max-width: 100% !important;

        margin-bottom: 17px !important;

        font-size: .88rem !important;
        line-height: 1.65 !important;
    }

    .site-footer .footer-contact,
    footer.site-footer .footer-contact {
        display: grid !important;

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

        gap: 6px !important;

        max-width: 100% !important;
    }

    .site-footer .footer-contact a,
    footer.site-footer .footer-contact a {
        width: 100% !important;
        min-width: 0 !important;
    }

    .site-footer .footer-column {
        padding-top: 0 !important;
    }

    .site-footer .footer-column h3 {
        margin-bottom: 13px !important;
    }

    .site-footer .footer-column nav,
    footer.site-footer .footer-column nav,
    .site-footer .footer-column ul,
    footer.site-footer .footer-column ul {
        gap: 3px !important;
    }

    .site-footer .footer-column a,
    footer.site-footer .footer-column a {
        min-height: 39px !important;

        padding: 7px 0 !important;

        font-size: .88rem !important;
    }

    .site-footer .footer-bottom,
    footer.site-footer .footer-bottom {
        display: grid !important;

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

        justify-items: start !important;

        gap: 9px !important;

        padding:
            20px 0
            calc(92px + env(safe-area-inset-bottom))
            !important;
    }
}

/* CB06 FOOTER PREMIUM V9 END */


/* ===== cb06-home-hero-refined-v2.css ===== */
/* ==========================================================
   WEB.CB06 — VISUEL HERO ACCUEIL PREMIUM V2
   Version sobre, sans JavaScript et sans modification du HTML
   ========================================================== */

/* Conteneur principal du visuel */

.hero--home .hero-showcase {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 520px !important;
    padding: 28px 18px 36px !important;

    isolation: isolate;
}

/* Fenêtre de navigateur */

.hero--home .showcase-browser {
    position: relative !important;
    inset: auto !important;

    width: 100% !important;
    height: 430px !important;

    margin: 0 !important;

    overflow: hidden !important;

    border:
        1px solid rgba(10, 31, 58, .12) !important;

    border-radius: 28px !important;

    background: #ffffff !important;

    box-shadow:
        0 34px 85px rgba(8, 27, 53, .18),
        0 10px 28px rgba(8, 27, 53, .09),
        inset 0 1px 0 rgba(255, 255, 255, .92) !important;

    transform: none !important;
}

/* Barre supérieure */

.hero--home .showcase-browser__bar {
    position: relative !important;
    z-index: 5 !important;

    display: flex !important;
    align-items: center !important;

    height: 48px !important;
    padding: 0 18px !important;

    border-bottom:
        1px solid rgba(10, 31, 58, .08) !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f5f8fc 100%
        ) !important;
}

.hero--home .showcase-browser__bar > span {
    width: 8px !important;
    height: 8px !important;

    background: #cbd5e1 !important;
}

.hero--home .showcase-browser__bar > span:nth-child(1) {
    background: #ff8c8c !important;
}

.hero--home .showcase-browser__bar > span:nth-child(2) {
    background: #ffd26f !important;
}

.hero--home .showcase-browser__bar > span:nth-child(3) {
    background: #83dfb0 !important;
}

.hero--home .showcase-browser__bar > div {
    position: absolute !important;
    left: 50% !important;

    max-width: 48% !important;

    margin: 0 !important;
    padding: 7px 18px !important;

    overflow: hidden !important;

    border:
        1px solid rgba(10, 31, 58, .07) !important;

    border-radius: 999px !important;

    background: #eef3f8 !important;
    color: #718096 !important;

    font-size: .68rem !important;
    font-weight: 540 !important;

    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    transform: translateX(-50%) !important;
}

/* Écran intérieur */

.hero--home .showcase-browser__screen {
    position: relative !important;

    min-height: 382px !important;
    height: 382px !important;

    padding: 38px 40px !important;

    overflow: hidden !important;

    background:
        radial-gradient(
            circle at 78% 31%,
            rgba(84, 213, 221, .16),
            transparent 25%
        ),
        radial-gradient(
            circle at 83% 87%,
            rgba(68, 92, 255, .27),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            #061427 0%,
            #081c36 54%,
            #0b2e62 100%
        ) !important;

    color: #ffffff !important;
}

/* Quadrillage très discret */

.hero--home .showcase-browser__screen::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, .025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .025) 1px,
            transparent 1px
        );

    background-size: 36px 36px;

    pointer-events: none;
}

/* Navigation de la maquette */

.hero--home .showcase-nav {
    position: relative !important;
    z-index: 4 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 28px !important;

    color: rgba(223, 235, 250, .62) !important;

    font-size: .7rem !important;
    font-weight: 480 !important;
}

.hero--home .showcase-nav b {
    margin-right: auto !important;

    color: #ffffff !important;

    font-size: .72rem !important;
    font-weight: 650 !important;
    letter-spacing: .04em !important;
}

.hero--home .showcase-nav span {
    color: rgba(223, 235, 250, .65) !important;
}

.hero--home .showcase-nav i {
    display: block !important;

    width: 7px !important;
    height: 7px !important;

    border-radius: 50% !important;

    background: #8ff2d2 !important;

    box-shadow:
        0 0 0 5px rgba(143, 242, 210, .08),
        0 0 22px rgba(143, 242, 210, .4) !important;
}

/* Texte principal de la maquette */

.hero--home .showcase-copy {
    position: relative !important;
    z-index: 4 !important;

    max-width: 58% !important;

    margin-top: 56px !important;
}

.hero--home .showcase-copy small {
    display: block !important;

    color: #8ff2d2 !important;

    font-size: .66rem !important;
    font-weight: 650 !important;
    letter-spacing: .17em !important;
    line-height: 1.4 !important;
}

.hero--home .showcase-copy strong {
    display: block !important;

    margin: 15px 0 0 !important;

    color: #ffffff !important;

    font-size: clamp(
        2.1rem,
        2.55vw,
        2.8rem
    ) !important;

    font-weight: 570 !important;

    line-height: .99 !important;
    letter-spacing: -.043em !important;
}

.hero--home .showcase-copy strong em {
    color: #5f8bff !important;

    font-weight: inherit !important;
}

.hero--home .showcase-copy > span {
    display: inline-flex !important;
    align-items: center !important;

    min-height: 39px !important;

    margin-top: 20px !important;
    padding: 0 15px !important;

    border:
        1px solid rgba(143, 242, 210, .18) !important;

    border-radius: 12px !important;

    background:
        rgba(143, 242, 210, .08) !important;

    color: #9cf4d8 !important;

    font-size: .69rem !important;
    font-weight: 620 !important;
    letter-spacing: .025em !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

/* Illustration abstraite */

.hero--home .showcase-art {
    position: absolute !important;

    right: -6% !important;
    bottom: -17% !important;

    z-index: 1 !important;

    width: 52% !important;
    height: 92% !important;

    overflow: visible !important;

    border-radius:
        52% 48% 18% 60% / 45% 45% 25% 55% !important;

    background:
        radial-gradient(
            circle at 35% 27%,
            rgba(177, 255, 232, .95) 0%,
            rgba(177, 255, 232, .42) 13%,
            transparent 28%
        ),
        linear-gradient(
            142deg,
            #168df5 0%,
            #4368ff 45%,
            #7046ef 100%
        ) !important;

    box-shadow:
        0 0 90px rgba(30, 128, 255, .25),
        inset 0 1px 0 rgba(255, 255, 255, .25) !important;

    transform:
        rotate(-5deg) !important;
}

/* Halo doux autour de l’illustration */

.hero--home .showcase-art::before {
    content: "";

    position: absolute;
    inset: -18%;

    border:
        1px solid rgba(255, 255, 255, .11);

    border-radius: 50%;

    transform: rotate(12deg);
}

.hero--home .showcase-art::after {
    content: "";

    position: absolute;
    inset: 14%;

    border:
        1px solid rgba(255, 255, 255, .16);

    border-radius: 50%;

    box-shadow:
        0 0 55px rgba(143, 242, 210, .11);
}

/* Orbite */

.hero--home .showcase-orbit {
    top: 16% !important;
    right: 17% !important;

    width: 210px !important;
    height: 210px !important;

    border:
        1px solid rgba(255, 255, 255, .25) !important;
}

.hero--home .showcase-orbit::after {
    width: 13px !important;
    height: 13px !important;

    background: #9ff4dc !important;

    box-shadow:
        0 0 25px rgba(159, 244, 220, .85) !important;
}

/* Cartes UX et SEO intégrées proprement */

.hero--home .showcase-card {
    z-index: 4 !important;

    min-width: 88px !important;

    padding: 10px 12px !important;

    border:
        1px solid rgba(255, 255, 255, .12) !important;

    border-radius: 13px !important;

    background:
        rgba(5, 19, 39, .76) !important;

    box-shadow:
        0 15px 35px rgba(2, 10, 25, .22) !important;

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

.hero--home .showcase-card span {
    color: rgba(227, 237, 250, .63) !important;

    font-size: .55rem !important;
    font-weight: 450 !important;
}

.hero--home .showcase-card b {
    margin-top: 3px !important;

    color: #ffffff !important;

    font-size: .93rem !important;
    font-weight: 620 !important;
}

.hero--home .showcase-card--one {
    top: 26% !important;
    left: 3% !important;
}

.hero--home .showcase-card--two {
    right: 7% !important;
    bottom: 18% !important;
}

/* Preuves flottantes extérieures */

.hero--home .floating-proof {
    z-index: 8 !important;

    gap: 10px !important;

    padding: 12px 14px !important;

    border:
        1px solid rgba(10, 31, 58, .09) !important;

    border-radius: 15px !important;

    background:
        rgba(255, 255, 255, .94) !important;

    box-shadow:
        0 18px 45px rgba(8, 27, 53, .13) !important;

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

.hero--home .floating-proof svg {
    width: 19px !important;
    height: 19px !important;

    color: #1768ff !important;
}

.hero--home .floating-proof small {
    color: #77869a !important;

    font-size: .63rem !important;
    font-weight: 450 !important;
}

.hero--home .floating-proof strong {
    margin-top: 2px !important;

    color: #0b1b31 !important;

    font-size: .79rem !important;
    font-weight: 590 !important;
}

.hero--home .floating-proof--top {
    top: 0 !important;
    right: 0 !important;

    min-width: 156px !important;
}

.hero--home .floating-proof--bottom {
    bottom: 3px !important;
    left: 0 !important;

    min-width: 166px !important;
}

/* Desktop intermédiaire */

@media (max-width: 1320px) {

    .hero--home .hero-showcase {
        min-height: 500px !important;
    }

    .hero--home .showcase-browser {
        height: 410px !important;
    }

    .hero--home .showcase-browser__screen {
        min-height: 362px !important;
        height: 362px !important;

        padding: 34px 34px !important;
    }

    .hero--home .showcase-copy {
        margin-top: 49px !important;
    }

    .hero--home .showcase-copy strong {
        font-size: clamp(
            1.95rem,
            2.45vw,
            2.55rem
        ) !important;
    }
}

/* Tablette */

@media (max-width: 1120px) {

    .hero--home .hero-showcase {
        width: min(100%, 760px) !important;

        min-height: 520px !important;

        margin-inline: auto !important;
    }

    .hero--home .showcase-browser {
        height: 430px !important;
    }

    .hero--home .showcase-browser__screen {
        height: 382px !important;
        min-height: 382px !important;
    }

    .hero--home .showcase-copy strong {
        font-size: 2.7rem !important;
    }
}

/* Petit écran et mobile */

@media (max-width: 720px) {

    .hero--home .hero-showcase {
        min-height: 390px !important;

        padding:
            16px 0 20px !important;
    }

    .hero--home .showcase-browser {
        height: 344px !important;

        border-radius: 22px !important;
    }

    .hero--home .showcase-browser__bar {
        height: 40px !important;

        padding-inline: 13px !important;
    }

    .hero--home .showcase-browser__bar > div {
        max-width: 54% !important;

        padding:
            5px 12px !important;

        font-size: .58rem !important;
    }

    .hero--home .showcase-browser__screen {
        height: 304px !important;
        min-height: 304px !important;

        padding:
            25px 22px !important;
    }

    .hero--home .showcase-nav {
        gap: 10px !important;

        font-size: .52rem !important;
    }

    .hero--home .showcase-nav b {
        font-size: .58rem !important;
    }

    .hero--home .showcase-copy {
        max-width: 72% !important;

        margin-top: 36px !important;
    }

    .hero--home .showcase-copy small {
        font-size: .55rem !important;
        letter-spacing: .12em !important;
    }

    .hero--home .showcase-copy strong {
        margin-top: 10px !important;

        font-size: clamp(
            1.6rem,
            7.7vw,
            2rem
        ) !important;

        line-height: 1 !important;
    }

    .hero--home .showcase-copy > span {
        min-height: 34px !important;

        margin-top: 15px !important;
        padding-inline: 12px !important;

        font-size: .59rem !important;
    }

    .hero--home .showcase-art {
        right: -23% !important;
        bottom: -19% !important;

        width: 73% !important;
        height: 91% !important;
    }

    .hero--home .showcase-orbit {
        width: 130px !important;
        height: 130px !important;
    }

    .hero--home .showcase-card {
        min-width: 66px !important;

        padding: 8px 9px !important;
    }

    .hero--home .showcase-card--one {
        top: 20% !important;
        left: -1% !important;
    }

    .hero--home .showcase-card--two {
        right: 17% !important;
        bottom: 23% !important;
    }

    .hero--home .showcase-card span {
        font-size: .48rem !important;
    }

    .hero--home .showcase-card b {
        font-size: .75rem !important;
    }

    .hero--home .floating-proof {
        display: none !important;
    }
}

/* Très petits téléphones */

@media (max-width: 390px) {

    .hero--home .hero-showcase {
        min-height: 360px !important;
    }

    .hero--home .showcase-browser {
        height: 322px !important;
    }

    .hero--home .showcase-browser__screen {
        min-height: 282px !important;
        height: 282px !important;

        padding:
            22px 18px !important;
    }

    .hero--home .showcase-copy {
        max-width: 77% !important;

        margin-top: 30px !important;
    }

    .hero--home .showcase-copy strong {
        font-size: 1.55rem !important;
    }

    .hero--home .showcase-art {
        right: -31% !important;

        width: 80% !important;
    }
}


/* ===== cb06-home-contrast-v1.css ===== */
/* ==========================================================
   WEB.CB06.FR
   CONTRASTE ET LISIBILITÉ DE LA PAGE D'ACCUEIL V1

   Toutes les règles sont limitées à body.home.
   Aucun impact sur les autres pages.
   ========================================================== */

body.home {
    --home-ink: #07162b;
    --home-ink-soft: #1d314b;
    --home-text: #3e5168;
    --home-muted: #4f6278;
    --home-subtle: #56697f;

    --home-blue: #075bd8;
    --home-blue-dark: #064db7;

    --home-dark-title: #ffffff;
    --home-dark-text: #d6e2f0;
    --home-dark-muted: #b9c9dc;
    --home-dark-subtle: #9fb0c5;

    color: var(--home-ink);
}

/* ==========================================================
   RÈGLES GÉNÉRALES DE L'ACCUEIL
   ========================================================== */

body.home main h1,
body.home main h2,
body.home main h3,
body.home main h4 {
    color: var(--home-ink);
}

body.home main p,
body.home main li,
body.home main dd {
    color: var(--home-text);
}

body.home main .eyebrow {
    color: var(--home-blue);
}

body.home main .text-link {
    color: var(--home-blue-dark);
}

body.home main .text-link:hover {
    color: #003f9e;
}

body.home main a:not(.btn):focus-visible,
body.home main button:focus-visible,
body.home main input:focus-visible,
body.home main select:focus-visible,
body.home main textarea:focus-visible {
    outline: 3px solid rgba(7, 91, 216, .34) !important;
    outline-offset: 3px !important;
}

body.home ::selection {
    background: #075bd8;
    color: #ffffff;
}

/* ==========================================================
   HERO
   ========================================================== */

body.home .hero--home .eyebrow {
    color: #075bd8 !important;
}

body.home .hero__content h1 {
    color: #07162b !important;
}

body.home .hero__content h1 em {
    color: #0b63eb !important;
}

body.home .hero__lead {
    color: #3e5168 !important;
}

body.home .hero__assurances,
body.home .hero__assurances span {
    color: #324960 !important;
}

body.home .hero__assurances svg {
    color: #087443 !important;
}

body.home .hero__foot {
    color: #3f536b !important;
}

/* Bouton secondaire du hero */

body.home .hero__actions .btn--ghost {
    color: #07162b !important;
    background: #ffffff !important;
    border-color: #aebdd0 !important;
}

body.home .hero__actions .btn--ghost:hover {
    color: #064db7 !important;
    border-color: #075bd8 !important;
    background: #f5f9ff !important;
}

/* ==========================================================
   MAQUETTE DU HERO
   ========================================================== */

body.home .showcase-browser__bar > div {
    color: #4f6075 !important;
}

body.home .showcase-nav,
body.home .showcase-nav span {
    color: #c5d3e3 !important;
}

body.home .showcase-nav b {
    color: #ffffff !important;
}

body.home .showcase-copy small,
body.home .showcase-copy > span {
    color: #a4f5dc !important;
}

body.home .showcase-copy strong {
    color: #ffffff !important;
}

body.home .showcase-copy strong em {
    color: #76a2ff !important;
}

body.home .showcase-card span {
    color: #c7d5e5 !important;
}

body.home .showcase-card b {
    color: #ffffff !important;
}

body.home .floating-proof small {
    color: #4f6278 !important;
}

body.home .floating-proof strong {
    color: #07162b !important;
}

/* ==========================================================
   BANDEAU DE CONFIANCE
   ========================================================== */

body.home .trust-strip__inner > p {
    color: #3e5168 !important;
}

body.home .trust-strip__items span {
    color: #243a55 !important;
}

/* ==========================================================
   SECTION INTRODUCTION
   ========================================================== */

body.home .section--intro .rich-copy p {
    color: #3e5168 !important;
}

body.home .section--intro .text-link {
    color: #064db7 !important;
}

/* ==========================================================
   SERVICES
   ========================================================== */

body.home .service-card {
    color: #07162b;
}

body.home .service-card__number {
    color: #56697f !important;
}

body.home .service-card__eyebrow {
    color: #075bd8 !important;
}

body.home .service-card h3 {
    color: #07162b !important;
}

body.home .service-card p {
    color: #42566e !important;
}

body.home .service-card__arrow {
    background: #07162b !important;
    color: #ffffff !important;
}

/* ==========================================================
   RÉALISATIONS - SECTION SOMBRE
   ========================================================== */

body.home .work-section > .container >
.section-heading h2 {
    color: #ffffff !important;
}

body.home .work-section >
.container > .section-heading .eyebrow {
    color: #a0f4da !important;
}

body.home .work-section .btn--outline-light {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, .48) !important;
}

body.home .work-section .btn--outline-light:hover {
    background: #ffffff !important;
    color: #07162b !important;
}

/* Corps blanc des cartes */

body.home .work-card__body > span {
    color: #075bd8 !important;
}

body.home .work-card__body h3 {
    color: #07162b !important;
}

body.home .work-card__body p {
    color: #42566e !important;
}

body.home .work-card__link {
    color: #064db7 !important;
}

body.home .work-card__screen small {
    color: #a0f4da !important;
}

body.home .work-card__screen strong {
    color: #ffffff !important;
}

body.home .work-card__screen > span {
    color: #d6e2f0 !important;
}

body.home .work-card__badge {
    color: #203651 !important;
    background: rgba(255, 255, 255, .96) !important;
}

body.home .work-disclaimer {
    color: #334b64 !important;
    background: #edf4ff !important;
}

/* ==========================================================
   ESTIMATEUR SOMBRE
   ========================================================== */

body.home .estimator-section h2 {
    color: #ffffff !important;
}

body.home .estimator-section .eyebrow {
    color: #a0f4da !important;
}

body.home .estimator-copy p {
    color: #d0ddec !important;
}

body.home .estimator-copy .check-list li {
    color: #e1eaf5 !important;
}

body.home .estimator__header > span {
    color: #c6d5e6 !important;
}

body.home .estimator__header strong,
body.home .estimator__label output {
    color: #a0f4da !important;
}

body.home .estimator__field label {
    color: #ffffff !important;
}

body.home .estimator__checks label {
    color: #e0e9f4 !important;
}

body.home .estimator__result small {
    color: #c6d5e6 !important;
}

body.home .estimator__result strong {
    color: #ffffff !important;
}

body.home .estimator select {
    color: #07162b !important;
    background: #ffffff !important;
}

/* ==========================================================
   MÉTHODE
   ========================================================== */

body.home .process-section .section-heading > p {
    color: #42566e !important;
}

body.home .process-step > span {
    color: #ffffff !important;
    background: #07162b !important;
}

body.home .process-step h3 {
    color: #07162b !important;
}

body.home .process-step p {
    color: #42566e !important;
}

/* ==========================================================
   FRANCE
   ========================================================== */

body.home .france-copy p {
    color: #3e5168 !important;
}

body.home .france-stats strong {
    color: #07162b !important;
}

body.home .france-stats span {
    color: #4f6278 !important;
}

body.home .city-cloud a {
    color: #203651 !important;
}

body.home .city-cloud a:hover {
    color: #064db7 !important;
}

body.home .map-label {
    color: #ffffff !important;
    background: #07162b !important;
}

/* ==========================================================
   SECTEURS
   ========================================================== */

body.home .sector-card > span {
    color: #064db7 !important;
}

body.home .sector-card h3 {
    color: #07162b !important;
}

body.home .sector-card p {
    color: #42566e !important;
}

body.home .sector-card > svg {
    color: #075bd8 !important;
}

/* ==========================================================
   GUIDES
   ========================================================== */

body.home .guide-card__meta,
body.home .guide-card__meta span {
    color: #4f6278 !important;
}

body.home .guide-card h3,
body.home .guide-card h3 a {
    color: #07162b !important;
}

body.home .guide-card p {
    color: #42566e !important;
}

body.home .guide-card .text-link {
    color: #064db7 !important;
}

/* ==========================================================
   FORMULAIRE DE CONTACT SOMBRE + CARTE BLANCHE
   ========================================================== */

body.home .contact-card__copy .eyebrow {
    color: #a0f4da !important;
}

body.home .contact-card__copy h2 {
    color: #ffffff !important;
}

body.home .contact-card__copy p {
    color: #d0ddec !important;
}

body.home .contact-card__direct a {
    color: #ffffff !important;
}

body.home .contact-card__direct small {
    color: #b9c9dc !important;
}

body.home .contact-card__direct strong {
    color: #ffffff !important;
}

body.home .contact-card__form {
    color: #07162b !important;
}

body.home .contact-card__form label > span {
    color: #203651 !important;
}

body.home .contact-card__form .checkbox span,
body.home .contact-card__form .form-note {
    color: #4f6278 !important;
}

body.home input,
body.home textarea,
body.home select {
    color: #07162b !important;
    background: #ffffff !important;
    border-color: #aebdd0 !important;
}

body.home input::placeholder,
body.home textarea::placeholder {
    color: #64758a !important;
    opacity: 1 !important;
}

body.home select option {
    color: #07162b !important;
    background: #ffffff !important;
}

/* ==========================================================
   FAQ
   ========================================================== */

body.home .faq-layout > div:first-child > p {
    color: #42566e !important;
}

body.home .accordion__item button {
    color: #07162b !important;
}

body.home .accordion__panel p {
    color: #42566e !important;
}

/* ==========================================================
   CTA ET FOOTER
   ========================================================== */

body.home .footer-cta h2 {
    color: #ffffff !important;
}

body.home .footer-call small {
    color: #b9c9dc !important;
}

body.home .footer-call strong {
    color: #ffffff !important;
}

body.home .footer-brand p {
    color: #b7c6d8 !important;
}

body.home .footer-column h3 {
    color: #ffffff !important;
}

body.home .footer-column a {
    color: #b5c4d6 !important;
}

body.home .footer-column a:hover {
    color: #ffffff !important;
}

body.home .footer-bottom {
    color: #9fb0c5 !important;
}

body.home .footer-contact a {
    color: #ffffff !important;
}

/* ==========================================================
   ASSISTANT ET BARRE MOBILE
   ========================================================== */

body.home .project-chat__panel > header small {
    color: #c2d1e2 !important;
}

body.home .chat-message--bot {
    color: #203651 !important;
}

body.home .chat-options button {
    color: #203651 !important;
}

body.home .mobile-sticky-cta a {
    color: #07162b !important;
}

/* ==========================================================
   PETITS ÉCRANS
   ========================================================== */

@media (max-width: 620px) {

    body.home .hero__lead {
        color: #344a62 !important;
    }

    body.home .hero__assurances span {
        color: #2f465f !important;
    }

    body.home .announcement {
        color: #e1ebf7 !important;
    }

    body.home .service-card p,
    body.home .sector-card p,
    body.home .guide-card p,
    body.home .process-step p {
        color: #344a62 !important;
    }

    body.home .contact-card__copy p {
        color: #d6e2f0 !important;
    }
}


/* ===== cb06-legal-v10.css ===== */
/* ==========================================================
   WEB.CB06.FR — PAGES LÉGALES PREMIUM V10
   ========================================================== */

.cb06-legal {
    --legal-ink: #07162b;
    --legal-text: #334a63;
    --legal-muted: #65768a;
    --legal-line: #dbe4ee;
    --legal-soft: #f5f8fc;
    --legal-blue: #1768ff;
    --legal-mint: #8ff2d2;

    color: var(--legal-ink);
    background: #ffffff;
}

.cb06-legal *,
.cb06-legal *::before,
.cb06-legal *::after {
    box-sizing: border-box;
}

.cb06-legal__hero {
    position: relative;
    overflow: hidden;

    padding: clamp(72px, 9vw, 126px) 0 72px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 76% 18%,
            rgba(23, 104, 255, .36),
            transparent 30%
        ),
        radial-gradient(
            circle at 18% 90%,
            rgba(143, 242, 210, .12),
            transparent 28%
        ),
        #071321;
}

.cb06-legal__hero::after {
    content: "";

    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, .035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, .035) 1px,
            transparent 1px
        );

    background-size: 42px 42px;
    pointer-events: none;
}

.cb06-legal__hero .container {
    position: relative;
    z-index: 1;
}

.cb06-legal__eyebrow {
    margin: 0 0 18px;

    color: var(--legal-mint);

    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.cb06-legal__hero h1 {
    max-width: 950px;

    margin: 0;

    color: #ffffff;

    font-size: clamp(2.8rem, 6vw, 5.8rem);
    font-weight: 530;
    line-height: .98;
    letter-spacing: -.05em;
}

.cb06-legal__intro {
    max-width: 790px;

    margin: 28px 0 0;

    color: #c9d7e8;

    font-size: clamp(1rem, 1.8vw, 1.23rem);
    font-weight: 400;
    line-height: 1.7;
}

.cb06-legal__meta {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;

    margin-top: 30px;
}

.cb06-legal__meta span {
    display: inline-flex;
    align-items: center;

    min-height: 38px;
    padding: 8px 14px;

    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;

    color: #d8e4f1;
    background: rgba(255, 255, 255, .055);

    font-size: .75rem;
    line-height: 1.3;
}

.cb06-legal__tabs {
    position: sticky;
    top: 0;
    z-index: 20;

    border-bottom: 1px solid var(--legal-line);

    background: rgba(255, 255, 255, .94);

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

.cb06-legal__tabs .container {
    display: flex;
    align-items: center;

    gap: 8px;

    overflow-x: auto;

    padding-top: 12px;
    padding-bottom: 12px;

    scrollbar-width: none;
}

.cb06-legal__tabs .container::-webkit-scrollbar {
    display: none;
}

.cb06-legal__tabs a {
    flex: 0 0 auto;

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

    min-height: 42px;
    padding: 9px 16px;

    border-radius: 12px;

    color: #344a62;

    font-size: .78rem;
    font-weight: 520;
    text-decoration: none;
}

.cb06-legal__tabs a:hover {
    color: var(--legal-blue);
    background: #f0f5ff;
}

.cb06-legal__tabs a.is-active {
    color: #ffffff;
    background: var(--legal-ink);
}

.cb06-legal__layout {
    display: grid;

    grid-template-columns:
        minmax(210px, 250px)
        minmax(0, 860px);

    justify-content: center;
    align-items: start;

    gap: clamp(42px, 7vw, 90px);

    padding-top: 72px;
    padding-bottom: 110px;
}

.cb06-legal__toc {
    position: sticky;
    top: 92px;

    padding: 22px;

    border: 1px solid var(--legal-line);
    border-radius: 20px;

    background: var(--legal-soft);
}

.cb06-legal__toc > strong {
    display: block;

    margin-bottom: 13px;

    color: var(--legal-ink);

    font-size: .76rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cb06-legal__toc nav {
    display: grid;

    gap: 2px;
}

.cb06-legal__toc a {
    display: flex;
    align-items: center;

    min-height: 36px;
    padding: 7px 9px;

    border-radius: 9px;

    color: #53667b;

    font-size: .75rem;
    font-weight: 430;
    line-height: 1.35;
    text-decoration: none;
}

.cb06-legal__toc a:hover,
.cb06-legal__toc a:focus-visible {
    color: var(--legal-blue);
    background: #ffffff;
}

.cb06-legal__content {
    min-width: 0;
}

.cb06-legal__content section {
    position: relative;

    scroll-margin-top: 110px;

    padding: 0 0 56px;
    margin: 0 0 56px;

    border-bottom: 1px solid var(--legal-line);
}

.cb06-legal__content section:last-of-type {
    margin-bottom: 0;
}

.cb06-legal__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 36px;
    min-height: 28px;

    margin-bottom: 14px;
    padding: 5px 9px;

    border-radius: 999px;

    color: var(--legal-blue);
    background: #edf4ff;

    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .06em;
}

.cb06-legal__content h2 {
    margin: 0 0 22px;

    color: var(--legal-ink);

    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 550;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.cb06-legal__content h3 {
    margin: 0 0 9px;

    color: var(--legal-ink);

    font-size: 1rem;
    font-weight: 570;
    line-height: 1.4;
}

.cb06-legal__content p,
.cb06-legal__content li,
.cb06-legal__content dd {
    color: var(--legal-text);

    font-size: .99rem;
    font-weight: 400;
    line-height: 1.78;
}

.cb06-legal__content p {
    margin: 0 0 18px;
}

.cb06-legal__content p:last-child {
    margin-bottom: 0;
}

.cb06-legal__content ul,
.cb06-legal__content ol {
    display: grid;

    gap: 9px;

    margin: 20px 0;
    padding-left: 24px;
}

.cb06-legal__content a {
    color: #075bd8;
    text-underline-offset: 3px;
}

.cb06-legal__content a:hover {
    color: #003f9e;
}

.cb06-legal__notice {
    margin: 0 0 54px;
    padding: 20px 22px;

    border: 1px solid #c9daf4;
    border-left: 4px solid var(--legal-blue);
    border-radius: 16px;

    color: #203b59;
    background: #f2f7ff;

    font-size: .92rem;
    line-height: 1.65;
}

.cb06-legal__notice--success {
    border-color: #b9e7d6;
    border-left-color: #13845a;

    color: #154f3b;
    background: #effaf6;
}

.cb06-legal__notice--warning {
    border-color: #f0d29b;
    border-left-color: #c77600;

    color: #5e3b05;
    background: #fff8eb;
}

.cb06-legal__address {
    margin: 18px 0;
    padding: 22px;

    border: 1px solid var(--legal-line);
    border-radius: 16px;

    color: var(--legal-text);
    background: var(--legal-soft);

    font-style: normal;
    line-height: 1.7;
}

.cb06-legal__address strong {
    color: var(--legal-ink);
    font-weight: 600;
}

.cb06-legal__identity {
    display: grid;

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

    gap: 12px;

    margin: 24px 0 0;
}

.cb06-legal__identity > div {
    padding: 17px 18px;

    border: 1px solid var(--legal-line);
    border-radius: 14px;

    background: var(--legal-soft);
}

.cb06-legal__identity dt {
    margin-bottom: 6px;

    color: var(--legal-muted);

    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cb06-legal__identity dd {
    margin: 0;

    color: var(--legal-ink);

    font-size: .91rem;
    line-height: 1.55;
}

.cb06-legal__cards {
    display: grid;

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

    gap: 14px;

    margin-top: 24px;
}

.cb06-legal__cards > div {
    padding: 20px;

    border: 1px solid var(--legal-line);
    border-radius: 16px;

    background: var(--legal-soft);
}

.cb06-legal__cards p {
    margin: 0;

    font-size: .88rem;
    line-height: 1.65;
}

.cb06-legal__table-wrap {
    width: 100%;
    overflow-x: auto;

    margin: 24px 0;

    border: 1px solid var(--legal-line);
    border-radius: 16px;
}

.cb06-legal table {
    width: 100%;
    min-width: 620px;

    border-collapse: collapse;

    background: #ffffff;
}

.cb06-legal th,
.cb06-legal td {
    padding: 15px 17px;

    border-bottom: 1px solid var(--legal-line);

    text-align: left;
    vertical-align: top;

    font-size: .86rem;
    line-height: 1.55;
}

.cb06-legal th {
    color: var(--legal-ink);
    background: var(--legal-soft);

    font-weight: 620;
}

.cb06-legal td {
    color: var(--legal-text);
}

.cb06-legal tbody tr:last-child td {
    border-bottom: 0;
}

.cb06-legal__closing {
    margin-top: 56px;
    padding: 30px;

    border-radius: 22px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 92% 0,
            rgba(23, 104, 255, .35),
            transparent 35%
        ),
        var(--legal-ink);
}

.cb06-legal__closing strong {
    display: block;

    margin-bottom: 8px;

    color: #ffffff;

    font-size: 1.2rem;
    font-weight: 560;
}

.cb06-legal__closing p {
    margin: 0;

    color: #cbd8e7;
}

.cb06-legal__closing a {
    color: var(--legal-mint);
}

@media (max-width: 980px) {
    .cb06-legal__layout {
        grid-template-columns: minmax(0, 820px);

        padding-top: 52px;
    }

    .cb06-legal__toc {
        position: static;

        display: none;
    }
}

@media (max-width: 700px) {
    .cb06-legal__hero {
        padding: 64px 0 50px;
    }

    .cb06-legal__hero h1 {
        font-size: clamp(2.55rem, 13vw, 4.2rem);
    }

    .cb06-legal__tabs {
        top: 0;
    }

    .cb06-legal__tabs .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .cb06-legal__layout {
        width: min(100% - 36px, 820px);

        padding-top: 42px;
        padding-bottom: 90px;
    }

    .cb06-legal__content section {
        padding-bottom: 42px;
        margin-bottom: 42px;
    }

    .cb06-legal__identity,
    .cb06-legal__cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .cb06-legal__content p,
    .cb06-legal__content li,
    .cb06-legal__content dd {
        font-size: .94rem;
        line-height: 1.72;
    }

    .cb06-legal__notice {
        padding: 18px;
    }

    .cb06-legal__closing {
        padding: 24px;
    }
}


/* ===== cb06-icons-minimal-v4.css ===== */
/* ==========================================================
   WEB.CB06.FR — ICÔNES MINIMALISTES V4

   Objectifs :
   - aucun carré opaque ;
   - aucun dégradé ;
   - aucune grosse ombre ;
   - pictogrammes fins et transparents ;
   - dimensions adaptées à chaque composant.
   ========================================================== */

/* ==========================================================
   BASE COMMUNE
   ========================================================== */

.cb06-native-badge,
.cb06-native-icon {
    position: relative !important;

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

    flex: 0 0 auto !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 17px !important;
    padding: 0 !important;

    overflow: visible !important;

    border: 0 !important;
    border-radius: 0 !important;

    color: #1768ff !important;
    background: transparent !important;

    box-shadow: none !important;
    filter:
        drop-shadow(
            0 5px 10px rgba(23, 104, 255, .11)
        ) !important;

    font-size: 0 !important;
    font-weight: 400 !important;
    line-height: 0 !important;
    text-indent: 0 !important;

    opacity: 1 !important;

    transform: none !important;

    transition:
        color .18s ease,
        transform .18s ease,
        filter .18s ease !important;
}

.cb06-native-badge::before,
.cb06-native-badge::after,
.cb06-native-icon::before,
.cb06-native-icon::after {
    display: none !important;
    content: none !important;
}

.cb06-native-badge svg,
.cb06-native-icon svg {
    position: static !important;
    inset: auto !important;

    display: block !important;

    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    color: inherit !important;

    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.65 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;

    opacity: 1 !important;

    transform: none !important;
    pointer-events: none !important;
}

/* ==========================================================
   FONDS SOMBRES
   ========================================================== */

.section--dark .cb06-native-badge,
.section--dark .cb06-native-icon,
.work-section .cb06-native-badge,
.work-section .cb06-native-icon,
.estimator-section .cb06-native-badge,
.estimator-section .cb06-native-icon,
.values-grid .cb06-native-badge,
.values-grid .cb06-native-icon,
.site-footer .cb06-native-badge,
.site-footer .cb06-native-icon {
    border: 0 !important;

    color: #8ff2d2 !important;
    background: transparent !important;

    box-shadow: none !important;

    filter:
        drop-shadow(
            0 5px 11px rgba(143, 242, 210, .12)
        ) !important;
}

/* ==========================================================
   CARTES DE SERVICES DE L’ACCUEIL
   ========================================================== */

.service-card__number.cb06-native-badge,
.service-card__number.cb06-native-icon {
    position: absolute !important;

    top: 23px !important;
    right: 24px !important;

    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;

    margin: 0 !important;

    color: #1768ff !important;

    opacity: .88 !important;
}

.service-card__number.cb06-native-badge svg,
.service-card__number.cb06-native-icon svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
}

/* ==========================================================
   LISTE DES EXPERTISES
   ========================================================== */

.service-row__number.cb06-native-badge,
.service-row__number.cb06-native-icon {
    position: static !important;

    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;

    margin: 0 !important;

    color: #1768ff !important;
}

.service-row__number.cb06-native-badge svg,
.service-row__number.cb06-native-icon svg {
    width: 22px !important;
    height: 22px !important;
}

/* ==========================================================
   CARTES MÉTRIQUES
   ========================================================== */

.metric-card > .cb06-native-badge,
.metric-card > .cb06-native-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;

    margin: 0 0 10px !important;
}

.metric-card > .cb06-native-badge svg,
.metric-card > .cb06-native-icon svg {
    width: 22px !important;
    height: 22px !important;
}

/* ==========================================================
   ÉTAPES DE MÉTHODE
   ========================================================== */

.process-step > .cb06-native-badge,
.process-step > .cb06-native-icon {
    position: static !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 17px !important;

    color: #1768ff !important;
}

.process-step > .cb06-native-badge svg,
.process-step > .cb06-native-icon svg {
    width: 24px !important;
    height: 24px !important;
}

/* ==========================================================
   SECTEURS
   ========================================================== */

.sector-card > .cb06-native-badge,
.sector-card > .cb06-native-icon {
    position: static !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 24px !important;

    color: #1768ff !important;
}

.sector-feature__number.cb06-native-badge,
.sector-feature__number.cb06-native-icon {
    position: static !important;

    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;

    margin: 0 !important;

    color: #1768ff !important;
}

/* ==========================================================
   VALEURS DE L’AGENCE
   ========================================================== */

.values-grid article > .cb06-native-badge,
.values-grid article > .cb06-native-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    margin: 0 0 18px !important;

    color: #8ff2d2 !important;
}

.values-grid article > .cb06-native-badge svg,
.values-grid article > .cb06-native-icon svg {
    width: 25px !important;
    height: 25px !important;
}

/* ==========================================================
   CONTACT
   ========================================================== */

.contact-layout li > .cb06-native-badge,
.contact-layout li > .cb06-native-icon,
.contact-intro li > .cb06-native-badge,
.contact-intro li > .cb06-native-icon,
.contact-card li > .cb06-native-badge,
.contact-card li > .cb06-native-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;

    margin: 0 !important;

    color: #1768ff !important;
}

.contact-layout li > .cb06-native-badge svg,
.contact-layout li > .cb06-native-icon svg,
.contact-intro li > .cb06-native-badge svg,
.contact-intro li > .cb06-native-icon svg {
    width: 21px !important;
    height: 21px !important;
}

/* ==========================================================
   LIVRABLES ET SECTIONS NUMÉROTÉES
   ========================================================== */

.deliverables-grid article > .cb06-native-badge,
.deliverables-grid article > .cb06-native-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 0 17px !important;
}

.numbered-section > .cb06-native-badge,
.numbered-section > .cb06-native-icon,
.article-section-number.cb06-native-badge,
.article-section-number.cb06-native-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

    margin: 0 !important;
}

/* ==========================================================
   PAGES JURIDIQUES
   ========================================================== */

.cb06-legal__number.cb06-native-badge,
.cb06-legal__number.cb06-native-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    margin: 0 0 15px !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    color: #1768ff !important;
    background: transparent !important;

    box-shadow: none !important;
}

.cb06-legal__number.cb06-native-badge svg,
.cb06-legal__number.cb06-native-icon svg {
    width: 25px !important;
    height: 25px !important;

    stroke-width: 1.6 !important;
}

/* Petit trait éditorial sous l’icône juridique */

.cb06-legal__number.cb06-native-badge::after,
.cb06-legal__number.cb06-native-icon::after {
    content: "" !important;

    position: absolute !important;
    left: 6px !important;
    bottom: 0 !important;

    display: block !important;

    width: 23px !important;
    height: 1px !important;

    background:
        rgba(23, 104, 255, .28) !important;
}

/* ==========================================================
   SURVOLS
   ========================================================== */

article:hover > .cb06-native-badge,
article:hover > .cb06-native-icon,
.metric-card:hover > .cb06-native-badge,
.metric-card:hover > .cb06-native-icon,
.service-card:hover .cb06-native-badge,
.service-card:hover .cb06-native-icon {
    color: #075bd8 !important;

    background: transparent !important;
    border: 0 !important;

    box-shadow: none !important;

    filter:
        drop-shadow(
            0 7px 14px rgba(23, 104, 255, .17)
        ) !important;

    transform:
        translateY(-1px) !important;
}

.section--dark article:hover >
.cb06-native-badge,
.section--dark article:hover >
.cb06-native-icon,
.values-grid article:hover >
.cb06-native-badge,
.values-grid article:hover >
.cb06-native-icon {
    color: #b4ffe8 !important;

    filter:
        drop-shadow(
            0 7px 14px rgba(143, 242, 210, .18)
        ) !important;
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .cb06-native-badge,
    .cb06-native-icon {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;

        margin-bottom: 14px !important;
    }

    .cb06-native-badge svg,
    .cb06-native-icon svg {
        width: 22px !important;
        height: 22px !important;
    }

    .service-card__number.cb06-native-badge,
    .service-card__number.cb06-native-icon {
        top: 20px !important;
        right: 18px !important;

        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;

        margin: 0 !important;
    }

    .cb06-legal__number.cb06-native-badge,
    .cb06-legal__number.cb06-native-icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;

        margin-bottom: 13px !important;
    }

    .cb06-legal__number.cb06-native-badge svg,
    .cb06-legal__number.cb06-native-icon svg {
        width: 23px !important;
        height: 23px !important;
    }
}

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

    .cb06-native-badge,
    .cb06-native-icon {
        transition: none !important;
    }
}


/* ===== cb06-pricing-v12.css ===== */
/* ==========================================================
   WEB.CB06.FR — PAGE TARIFS V12
   ========================================================== */

.pricing-v12 {
    --price-ink: #07162b;
    --price-text: #354b64;
    --price-muted: #65758a;
    --price-line: #dce5ef;
    --price-soft: #f5f8fc;
    --price-blue: #1768ff;
    --price-blue-dark: #0754c8;
    --price-mint: #8ff2d2;
    --price-dark: #071321;

    color: var(--price-ink);
    background: #ffffff;
}

.pricing-v12 *,
.pricing-v12 *::before,
.pricing-v12 *::after {
    box-sizing: border-box;
}

.pricing-v12 svg {
    display: block;

    width: 22px;
    height: 22px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pricing-v12__eyebrow {
    margin: 0 0 16px;

    color: var(--price-blue);

    font-size: .72rem;
    font-weight: 680;
    letter-spacing: .15em;
    line-height: 1.4;

    text-transform: uppercase;
}

.pricing-v12__hero {
    position: relative;

    overflow: hidden;

    padding:
        clamp(76px, 9vw, 128px)
        0
        clamp(74px, 8vw, 112px);

    background:
        radial-gradient(
            circle at 77% 18%,
            rgba(23, 104, 255, .12),
            transparent 30%
        ),
        radial-gradient(
            circle at 12% 88%,
            rgba(143, 242, 210, .18),
            transparent 26%
        ),
        #f8fbff;
}

.pricing-v12__hero::before {
    content: "";

    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(7, 22, 43, .035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(7, 22, 43, .035) 1px,
            transparent 1px
        );

    background-size: 48px 48px;

    mask-image:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, .65),
            transparent
        );

    pointer-events: none;
}

.pricing-v12__hero-grid {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(340px, .8fr);

    align-items: center;

    gap: clamp(56px, 8vw, 110px);
}

.pricing-v12__hero-copy h1 {
    max-width: 820px;

    margin: 0;

    color: var(--price-ink);

    font-size: clamp(3.2rem, 6.3vw, 6.4rem);
    font-weight: 530;
    line-height: .94;
    letter-spacing: -.058em;
}

.pricing-v12__hero-copy h1 em {
    display: block;

    color: var(--price-blue);

    font-style: normal;
    font-weight: inherit;
}

.pricing-v12__hero-lead {
    max-width: 720px;

    margin: 30px 0 0;

    color: var(--price-text);

    font-size: clamp(1rem, 1.55vw, 1.19rem);
    line-height: 1.72;
}

.pricing-v12__hero-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    margin-top: 34px;
}

.pricing-v12__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding: 13px 22px;

    border: 1px solid transparent;
    border-radius: 14px;

    font-size: .88rem;
    font-weight: 620;
    line-height: 1.3;

    text-align: center;
    text-decoration: none;

    transition:
        transform .18s ease,
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.pricing-v12__button--primary {
    color: #ffffff;
    background: var(--price-blue);

    box-shadow:
        0 14px 32px rgba(23, 104, 255, .2);
}

.pricing-v12__button--primary:hover {
    color: #ffffff;
    background: var(--price-blue-dark);

    transform: translateY(-2px);
}

.pricing-v12__button--secondary {
    color: var(--price-ink);
    background: rgba(255, 255, 255, .78);
    border-color: #b7c5d6;
}

.pricing-v12__button--secondary:hover {
    color: var(--price-blue-dark);
    border-color: var(--price-blue);
    background: #ffffff;
}

.pricing-v12__reassurance {
    display: flex;
    flex-wrap: wrap;

    gap: 13px 24px;

    margin-top: 28px;
}

.pricing-v12__reassurance span {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: #344b64;

    font-size: .78rem;
    font-weight: 520;
}

.pricing-v12__reassurance svg {
    width: 17px;
    height: 17px;

    color: #087b59;
}

.pricing-v12__hero-panel {
    display: grid;

    gap: 10px;

    padding: 28px;

    border:
        1px solid rgba(7, 22, 43, .09);

    border-radius: 28px;

    background:
        rgba(255, 255, 255, .88);

    box-shadow:
        0 32px 80px rgba(7, 22, 43, .11);

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

.pricing-v12__hero-panel > p {
    margin: 0 0 10px;

    color: var(--price-muted);

    font-size: .7rem;
    font-weight: 660;
    letter-spacing: .11em;

    text-transform: uppercase;
}

.pricing-v12__hero-panel > div {
    display: grid;

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

    align-items: center;

    gap: 15px;

    padding: 16px 0;

    border-bottom:
        1px solid var(--price-line);
}

.pricing-v12__hero-panel > div:last-child {
    border-bottom: 0;
}

.pricing-v12__hero-panel > div > span {
    display: grid;
    place-items: center;

    width: 44px;
    height: 44px;

    color: var(--price-blue);
}

.pricing-v12__hero-panel strong,
.pricing-v12__hero-panel small {
    display: block;
}

.pricing-v12__hero-panel strong {
    color: var(--price-ink);

    font-size: .9rem;
    font-weight: 620;
}

.pricing-v12__hero-panel small {
    margin-top: 5px;

    color: var(--price-text);

    font-size: .74rem;
    line-height: 1.55;
}

.pricing-v12__offers,
.pricing-v12__included-section,
.pricing-v12__comparison,
.pricing-v12__faq {
    padding:
        clamp(76px, 9vw, 120px)
        0;
}

.pricing-v12__section-heading {
    max-width: 850px;

    margin-bottom: 44px;
}

.pricing-v12__section-heading h2 {
    margin: 0;

    color: var(--price-ink);

    font-size: clamp(2.2rem, 4.3vw, 4.4rem);
    font-weight: 540;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.pricing-v12__section-heading > p:last-child {
    max-width: 700px;

    margin: 22px 0 0;

    color: var(--price-text);

    font-size: .98rem;
    line-height: 1.7;
}

.pricing-v12__switcher {
    position: sticky;
    top: 86px;
    z-index: 20;

    display: grid;

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

    gap: 8px;

    max-width: 900px;

    margin: 0 auto 28px;
    padding: 7px;

    border:
        1px solid rgba(7, 22, 43, .1);

    border-radius: 18px;

    background:
        rgba(255, 255, 255, .94);

    box-shadow:
        0 18px 44px rgba(7, 22, 43, .1);

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

.pricing-v12__switcher button {
    display: grid;

    gap: 3px;

    min-height: 60px;

    padding: 10px 14px;

    border: 0;
    border-radius: 13px;

    color: #465b72;
    background: transparent;

    cursor: pointer;

    font: inherit;
    text-align: center;

    transition:
        color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.pricing-v12__switcher button span,
.pricing-v12__switcher button small {
    display: block;
}

.pricing-v12__switcher button span {
    font-size: .82rem;
    font-weight: 620;
}

.pricing-v12__switcher button small {
    color: #748398;

    font-size: .67rem;
}

.pricing-v12__switcher button.is-active {
    color: #ffffff;
    background: var(--price-ink);

    box-shadow:
        0 10px 24px rgba(7, 22, 43, .17);
}

.pricing-v12__switcher button.is-active small {
    color: #c9d6e5;
}

.pricing-v12__mode-summary {
    display: flex;
    align-items: center;

    gap: 17px;

    max-width: 900px;

    margin: 0 auto 38px;
    padding: 18px 21px;

    border:
        1px solid #cbdcf5;
    border-radius: 17px;

    background: #f2f7ff;
}

.pricing-v12__mode-summary > span {
    flex: 0 0 auto;

    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;

    color: var(--price-blue);
}

.pricing-v12__mode-summary strong,
.pricing-v12__mode-summary p {
    display: block;
}

.pricing-v12__mode-summary strong {
    color: var(--price-ink);

    font-size: .88rem;
}

.pricing-v12__mode-summary p {
    margin: 4px 0 0;

    color: var(--price-text);

    font-size: .77rem;
    line-height: 1.55;
}

.pricing-v12__plans {
    display: grid;

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

    align-items: stretch;

    gap: 20px;
}

.pricing-v12__plan {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 31px;

    border:
        1px solid var(--price-line);
    border-radius: 25px;

    background: #ffffff;

    box-shadow:
        0 18px 54px rgba(7, 22, 43, .065);
}

.pricing-v12__plan--recommended {
    border-color:
        rgba(23, 104, 255, .45);

    box-shadow:
        0 25px 70px rgba(23, 104, 255, .14);

    transform: translateY(-10px);
}

.pricing-v12__recommended {
    position: absolute;
    top: 15px;
    right: 17px;

    padding: 7px 11px;

    border-radius: 999px;

    color: #ffffff;
    background: var(--price-blue);

    font-size: .63rem;
    font-weight: 680;
    letter-spacing: .035em;
}

.pricing-v12__plan-header {
    display: flex;
    align-items: flex-start;

    gap: 16px;

    padding-right: 74px;
}

.pricing-v12__plan-icon {
    flex: 0 0 auto;

    display: grid;
    place-items: center;

    width: 43px;
    height: 43px;

    color: var(--price-blue);
}

.pricing-v12__plan-header h3 {
    margin: 0;

    color: var(--price-ink);

    font-size: 1.18rem;
    font-weight: 640;
}

.pricing-v12__plan-header p {
    margin: 7px 0 0;

    color: var(--price-text);

    font-size: .78rem;
    line-height: 1.55;
}

.pricing-v12__price-block {
    min-height: 176px;

    margin-top: 30px;
    padding: 25px 0;

    border-top:
        1px solid var(--price-line);
    border-bottom:
        1px solid var(--price-line);
}

.pricing-v12__price-label {
    margin: 0 0 8px;

    color: var(--price-muted);

    font-size: .69rem;
    font-weight: 580;
    letter-spacing: .04em;

    text-transform: uppercase;
}

.pricing-v12__price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;

    gap: 7px;
}

.pricing-v12__price strong {
    color: var(--price-ink);

    font-size: clamp(2.45rem, 3.6vw, 3.55rem);
    font-weight: 560;
    line-height: 1;
    letter-spacing: -.045em;
}

.pricing-v12__price span {
    color: var(--price-muted);

    font-size: .82rem;
    font-weight: 520;
}

.pricing-v12__price-note {
    min-height: 39px;

    margin: 13px 0 0;

    color: var(--price-text);

    font-size: .72rem;
    line-height: 1.5;
}

.pricing-v12__saving {
    display: inline-flex;

    margin-top: 11px;
    padding: 6px 9px;

    border-radius: 999px;

    color: #0a634b;
    background: #eaf9f3;

    font-size: .65rem;
    font-weight: 620;
}

.pricing-v12__saving[hidden] {
    display: none;
}

.pricing-v12__plan-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 49px;

    margin-top: 22px;
    padding: 12px 16px;

    border:
        1px solid var(--price-ink);
    border-radius: 13px;

    color: var(--price-ink);
    background: #ffffff;

    font-size: .82rem;
    font-weight: 620;
    text-align: center;
    text-decoration: none;

    transition:
        background-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.pricing-v12__plan--recommended
.pricing-v12__plan-button {
    color: #ffffff;
    border-color: var(--price-blue);
    background: var(--price-blue);
}

.pricing-v12__plan-button:hover {
    color: #ffffff;
    background: var(--price-ink);

    transform: translateY(-1px);
}

.pricing-v12__included {
    margin-top: 27px;
}

.pricing-v12__included > strong {
    display: block;

    margin-bottom: 15px;

    color: var(--price-ink);

    font-size: .76rem;
    font-weight: 650;
}

.pricing-v12__included ul {
    display: grid;

    gap: 11px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.pricing-v12__included li {
    display: grid;

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

    align-items: start;

    gap: 9px;

    color: var(--price-text);

    font-size: .75rem;
    line-height: 1.5;
}

.pricing-v12__included li svg {
    width: 17px;
    height: 17px;

    color: #087b59;
}

.pricing-v12__subscription-extra {
    display: flex;
    align-items: flex-start;

    gap: 10px;

    margin-top: auto;
    padding-top: 24px;
}

.pricing-v12__subscription-extra > span {
    flex: 0 0 auto;

    color: var(--price-blue);
}

.pricing-v12__subscription-extra svg {
    width: 18px;
    height: 18px;
}

.pricing-v12__subscription-extra p {
    margin: 0;

    color: var(--price-text);

    font-size: .7rem;
    line-height: 1.5;
}

.pricing-v12[data-active-mode="owner"]
.pricing-v12__subscription-extra {
    display: none;
}

.pricing-v12__tax-note,
.pricing-v12__noscript {
    max-width: 900px;

    margin: 28px auto 0;

    color: var(--price-muted);

    font-size: .7rem;
    line-height: 1.65;
    text-align: center;
}

.pricing-v12__noscript {
    padding: 14px;

    border-radius: 12px;

    color: #69410a;
    background: #fff7e9;
}

.pricing-v12__ownership {
    padding:
        clamp(76px, 9vw, 120px)
        0;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 92% 5%,
            rgba(23, 104, 255, .28),
            transparent 32%
        ),
        var(--price-dark);
}

.pricing-v12__ownership
.pricing-v12__eyebrow {
    color: var(--price-mint);
}

.pricing-v12__ownership
.pricing-v12__section-heading h2 {
    color: #ffffff;
}

.pricing-v12__choice-grid {
    display: grid;

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

    gap: 18px;
}

.pricing-v12__choice-grid > article {
    display: grid;

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

    align-items: start;

    gap: 20px;

    padding: clamp(28px, 4vw, 45px);

    border:
        1px solid rgba(255, 255, 255, .12);
    border-radius: 24px;

    background:
        rgba(255, 255, 255, .045);
}

.pricing-v12__choice-featured {
    background:
        linear-gradient(
            145deg,
            rgba(23, 104, 255, .19),
            rgba(255, 255, 255, .055)
        ) !important;
}

.pricing-v12__choice-grid
article > span {
    color: var(--price-mint);
}

.pricing-v12__choice-grid
article > div > p:first-child {
    margin: 0 0 9px;

    color: var(--price-mint);

    font-size: .68rem;
    font-weight: 650;
    letter-spacing: .09em;

    text-transform: uppercase;
}

.pricing-v12__choice-grid h3 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(1.4rem, 2.5vw, 2.2rem);
    font-weight: 550;
    line-height: 1.15;
}

.pricing-v12__choice-grid ul {
    display: grid;

    gap: 10px;

    margin: 24px 0 0;
    padding-left: 20px;
}

.pricing-v12__choice-grid li {
    color: #d7e2ef;

    font-size: .85rem;
    line-height: 1.5;
}

.pricing-v12__choice-advice {
    margin: 24px 0 0;

    color: #aebed1;

    font-size: .76rem;
    line-height: 1.65;
}

.pricing-v12__ownership-note {
    display: flex;
    align-items: flex-start;

    gap: 15px;

    margin-top: 20px;
    padding: 20px 22px;

    border:
        1px solid rgba(143, 242, 210, .17);
    border-radius: 16px;

    background:
        rgba(143, 242, 210, .055);
}

.pricing-v12__ownership-note span {
    flex: 0 0 auto;

    color: var(--price-mint);
}

.pricing-v12__ownership-note p {
    margin: 0;

    color: #c8d6e6;

    font-size: .77rem;
    line-height: 1.65;
}

.pricing-v12__included-section {
    background: #f7f9fc;
}

.pricing-v12__services-grid {
    display: grid;

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

    gap: 15px;
}

.pricing-v12__services-grid article {
    padding: 27px;

    border:
        1px solid var(--price-line);
    border-radius: 19px;

    background: #ffffff;
}

.pricing-v12__services-grid article > span {
    display: grid;
    place-items: center;

    width: 40px;
    height: 40px;

    margin-bottom: 20px;

    color: var(--price-blue);
}

.pricing-v12__services-grid h3 {
    margin: 0;

    color: var(--price-ink);

    font-size: .95rem;
    font-weight: 620;
}

.pricing-v12__services-grid p {
    margin: 10px 0 0;

    color: var(--price-text);

    font-size: .77rem;
    line-height: 1.6;
}

.pricing-v12__comparison {
    background: #ffffff;
}

.pricing-v12__table-wrap {
    width: 100%;

    overflow-x: auto;

    border:
        1px solid var(--price-line);
    border-radius: 21px;

    box-shadow:
        0 20px 60px rgba(7, 22, 43, .06);
}

.pricing-v12__comparison table {
    width: 100%;
    min-width: 850px;

    border-collapse: collapse;

    background: #ffffff;
}

.pricing-v12__comparison th,
.pricing-v12__comparison td {
    padding: 18px 20px;

    border-bottom:
        1px solid var(--price-line);

    color: var(--price-text);

    font-size: .77rem;
    line-height: 1.5;

    text-align: left;
    vertical-align: top;
}

.pricing-v12__comparison thead th {
    color: var(--price-ink);
    background: #f4f7fb;

    font-weight: 650;
}

.pricing-v12__comparison tbody th {
    color: var(--price-ink);

    font-weight: 610;
}

.pricing-v12__comparison tr:last-child th,
.pricing-v12__comparison tr:last-child td {
    border-bottom: 0;
}

.pricing-v12__faq {
    background: #f7f9fc;
}

.pricing-v12__faq-grid {
    display: grid;

    grid-template-columns:
        minmax(280px, .75fr)
        minmax(0, 1.25fr);

    align-items: start;

    gap: clamp(50px, 8vw, 100px);
}

.pricing-v12__faq-list {
    display: grid;

    gap: 10px;
}

.pricing-v12__faq-list details {
    border:
        1px solid var(--price-line);
    border-radius: 16px;

    background: #ffffff;
}

.pricing-v12__faq-list summary {
    position: relative;

    padding: 21px 54px 21px 21px;

    color: var(--price-ink);

    cursor: pointer;

    font-size: .86rem;
    font-weight: 610;
    line-height: 1.45;

    list-style: none;
}

.pricing-v12__faq-list summary::-webkit-details-marker {
    display: none;
}

.pricing-v12__faq-list summary::after {
    content: "+";

    position: absolute;
    top: 50%;
    right: 21px;

    color: var(--price-blue);

    font-size: 1.25rem;
    font-weight: 400;

    transform: translateY(-50%);
}

.pricing-v12__faq-list details[open]
summary::after {
    content: "−";
}

.pricing-v12__faq-list details p {
    margin: 0;
    padding: 0 21px 21px;

    color: var(--price-text);

    font-size: .78rem;
    line-height: 1.65;
}

.pricing-v12__final-cta {
    padding:
        clamp(65px, 8vw, 100px)
        0;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(23, 104, 255, .36),
            transparent 32%
        ),
        var(--price-dark);
}

.pricing-v12__final-cta .container {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 50px;
}

.pricing-v12__final-cta h2 {
    max-width: 760px;

    margin: 0;

    color: #ffffff;

    font-size: clamp(2.1rem, 4.5vw, 4.4rem);
    font-weight: 540;
    line-height: 1.03;
    letter-spacing: -.045em;
}

.pricing-v12__final-cta p:not(.pricing-v12__eyebrow) {
    max-width: 650px;

    margin: 20px 0 0;

    color: #c7d5e5;

    font-size: .9rem;
    line-height: 1.7;
}

.pricing-v12__final-cta
.pricing-v12__eyebrow {
    color: var(--price-mint);
}

.pricing-v12__button--light {
    flex: 0 0 auto;

    color: var(--price-ink);
    background: #ffffff;

    box-shadow:
        0 16px 40px rgba(0, 0, 0, .2);
}

.pricing-v12__button--light:hover {
    color: var(--price-blue-dark);

    transform: translateY(-2px);
}

@media (max-width: 1100px) {

    .pricing-v12__hero-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 52px;
    }

    .pricing-v12__hero-panel {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .pricing-v12__hero-panel > p {
        grid-column: 1 / -1;
    }

    .pricing-v12__hero-panel > div {
        grid-template-columns:
            42px
            minmax(0, 1fr);

        border-right:
            1px solid var(--price-line);
        border-bottom: 0;

        padding: 10px 18px 10px 0;
    }

    .pricing-v12__hero-panel > div:last-child {
        border-right: 0;
    }

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

    .pricing-v12__plan:last-child {
        grid-column: 1 / -1;

        max-width: 650px;
        width: 100%;

        margin-inline: auto;
    }

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

@media (max-width: 800px) {

    .pricing-v12__hero-panel {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .pricing-v12__hero-panel > div {
        border-right: 0;
        border-bottom:
            1px solid var(--price-line);

        padding: 15px 0;
    }

    .pricing-v12__plans,
    .pricing-v12__choice-grid,
    .pricing-v12__faq-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .pricing-v12__plan:last-child {
        grid-column: auto;

        max-width: none;
    }

    .pricing-v12__plan--recommended {
        transform: none;
    }

    .pricing-v12__faq-grid {
        gap: 10px;
    }

    .pricing-v12__final-cta .container {
        display: grid;

        justify-items: start;
    }
}

@media (max-width: 650px) {

    .pricing-v12__hero {
        padding:
            62px 0
            70px;
    }

    .pricing-v12__hero-copy h1 {
        font-size: clamp(2.85rem, 15vw, 4.5rem);
    }

    .pricing-v12__hero-actions {
        display: grid;
    }

    .pricing-v12__button {
        width: 100%;
    }

    .pricing-v12__reassurance {
        display: grid;
    }

    .pricing-v12__hero-panel {
        padding: 22px;
    }

    .pricing-v12__switcher {
        top: 72px;

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

        border-radius: 16px;
    }

    .pricing-v12__switcher button {
        min-height: 51px;
    }

    .pricing-v12__mode-summary {
        align-items: flex-start;
    }

    .pricing-v12__plan {
        padding: 25px 21px;
    }

    .pricing-v12__plan-header {
        padding-right: 0;
    }

    .pricing-v12__recommended {
        position: static;

        width: fit-content;

        margin: -7px 0 19px;
    }

    .pricing-v12__services-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .pricing-v12__choice-grid > article {
        grid-template-columns:
            minmax(0, 1fr);
    }
}

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

    .pricing-v12 *,
    .pricing-v12 *::before,
    .pricing-v12 *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}


/* ===== cb06-pricing-switcher-fix-v13.css ===== */
/* ==========================================================
   WEB.CB06.FR — SÉLECTEUR TARIFS V13

   - Aucun positionnement sticky
   - Aucun bloc figé pendant le défilement
   - Trois choix compacts sur mobile
   ========================================================== */

/* ==========================================================
   CORRECTION GÉNÉRALE
   ========================================================== */

.pricing-v12__switcher {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    inset: auto !important;

    z-index: 2 !important;

    display: grid !important;

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

    align-items: stretch !important;

    gap: 7px !important;

    width: 100% !important;
    max-width: 900px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin:
        0 auto 28px !important;

    padding: 7px !important;

    overflow: visible !important;

    border:
        1px solid rgba(7, 22, 43, .1) !important;

    border-radius: 18px !important;

    background:
        rgba(255, 255, 255, .96) !important;

    box-shadow:
        0 14px 38px rgba(7, 22, 43, .08) !important;

    transform: none !important;

    isolation: isolate !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/*
 * Empêche toute ancienne règle sticky de reprendre la main.
 */
.pricing-v12__offers
.pricing-v12__switcher {
    position: relative !important;
    top: auto !important;

    translate: none !important;
    transform: none !important;
}

/* ==========================================================
   BOUTONS
   ========================================================== */

.pricing-v12__switcher button {
    position: relative !important;

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

    align-items: center !important;
    justify-content: center !important;

    gap: 3px !important;

    width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 62px !important;
    max-height: none !important;

    margin: 0 !important;

    padding:
        10px 12px !important;

    overflow: hidden !important;

    border: 0 !important;
    border-radius: 12px !important;

    color: #435970 !important;
    background: transparent !important;

    box-shadow: none !important;

    font: inherit !important;
    line-height: 1.25 !important;

    cursor: pointer !important;

    pointer-events: auto !important;
    touch-action: manipulation !important;

    transform: none !important;

    transition:
        color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
}

.pricing-v12__switcher button span {
    display: block !important;

    margin: 0 !important;

    color: inherit !important;

    font-size: .8rem !important;
    font-weight: 620 !important;

    line-height: 1.25 !important;

    text-align: center !important;

    white-space: normal !important;
}

.pricing-v12__switcher button small {
    display: block !important;

    margin: 0 !important;

    color: #718198 !important;

    font-size: .64rem !important;
    font-weight: 430 !important;

    line-height: 1.25 !important;

    text-align: center !important;

    white-space: normal !important;
}

/* ==========================================================
   CHOIX ACTIF
   ========================================================== */

.pricing-v12__switcher button.is-active,
.pricing-v12__switcher button[aria-pressed="true"] {
    color: #ffffff !important;

    background: #07162b !important;

    box-shadow:
        0 8px 20px rgba(7, 22, 43, .16) !important;

    transform: none !important;
}

.pricing-v12__switcher
button.is-active small,
.pricing-v12__switcher
button[aria-pressed="true"] small {
    color: #c9d6e5 !important;
}

.pricing-v12__switcher button:hover {
    background:
        #f1f5fa !important;
}

.pricing-v12__switcher button.is-active:hover,
.pricing-v12__switcher
button[aria-pressed="true"]:hover {
    color: #ffffff !important;
    background: #07162b !important;
}

.pricing-v12__switcher button:focus-visible {
    outline:
        3px solid rgba(23, 104, 255, .3) !important;

    outline-offset: 2px !important;
}

/* ==========================================================
   RÉSUMÉ SOUS LE SÉLECTEUR
   ========================================================== */

.pricing-v12__mode-summary {
    position: relative !important;

    top: auto !important;
    inset: auto !important;

    z-index: 1 !important;

    margin-top: 0 !important;

    transform: none !important;
}

/* ==========================================================
   TABLETTE
   ========================================================== */

@media (max-width: 800px) {

    .pricing-v12__switcher {
        position: relative !important;
        top: auto !important;

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

        gap: 5px !important;

        width: 100% !important;

        margin:
            0 auto 20px !important;

        padding: 5px !important;

        border-radius: 15px !important;

        box-shadow:
            0 10px 28px rgba(7, 22, 43, .075) !important;
    }

    .pricing-v12__switcher button {
        min-height: 64px !important;

        padding:
            8px 7px !important;

        border-radius: 11px !important;
    }

    .pricing-v12__switcher button span {
        font-size: .74rem !important;
        line-height: 1.2 !important;
    }

    .pricing-v12__switcher button small {
        font-size: .59rem !important;
        line-height: 1.2 !important;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 650px) {

    /*
     * Annule explicitement l'ancienne règle mobile qui
     * empilait les trois boutons verticalement.
     */
    .pricing-v12__switcher {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: grid !important;

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

        align-items: stretch !important;

        gap: 4px !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin:
            0 0 18px !important;

        padding: 4px !important;

        overflow: visible !important;

        border-radius: 14px !important;

        background: #ffffff !important;

        box-shadow:
            0 8px 24px rgba(7, 22, 43, .075) !important;

        transform: none !important;
    }

    .pricing-v12__switcher button {
        flex: initial !important;

        width: 100% !important;
        min-width: 0 !important;

        height: auto !important;
        min-height: 67px !important;
        max-height: 67px !important;

        padding:
            7px 5px !important;

        border-radius: 10px !important;
    }

    .pricing-v12__switcher button span {
        font-size: .67rem !important;
        font-weight: 630 !important;

        line-height: 1.18 !important;

        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: auto !important;
    }

    .pricing-v12__switcher button small {
        margin-top: 2px !important;

        font-size: .54rem !important;

        line-height: 1.15 !important;
    }

    .pricing-v12__mode-summary {
        gap: 12px !important;

        margin:
            0 0 28px !important;

        padding:
            14px 15px !important;

        border-radius: 14px !important;
    }

    .pricing-v12__mode-summary > span {
        width: 34px !important;
        height: 34px !important;
    }

    .pricing-v12__mode-summary strong {
        font-size: .79rem !important;
    }

    .pricing-v12__mode-summary p {
        font-size: .69rem !important;
        line-height: 1.45 !important;
    }
}

/* ==========================================================
   TRÈS PETITS ÉCRANS
   ========================================================== */

@media (max-width: 370px) {

    .pricing-v12__switcher button {
        min-height: 64px !important;
        max-height: 64px !important;

        padding:
            6px 3px !important;
    }

    .pricing-v12__switcher button span {
        font-size: .61rem !important;
    }

    .pricing-v12__switcher button small {
        font-size: .49rem !important;
    }
}

/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

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

    .pricing-v12__switcher,
    .pricing-v12__switcher button {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}


/* ===== cb06-chat-conversation-v18.css ===== */
.cb06-conv {
    display: grid;
    gap: 15px;
    padding-top: 8px;
}

.cb06-conv__progress {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(100, 116, 139, .18);
}

.cb06-conv__progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #06b6d4);
    transition: width .25s ease;
}

.cb06-conv__counter {
    margin: 0;
    font-size: 12px;
    color: #64748b;
}

.cb06-conv__question {
    margin: 0;
    font-size: 17px;
    line-height: 1.4;
    color: inherit;
}

.cb06-conv__help {
    margin: -7px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: #64748b;
}

.cb06-conv__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-height: 290px;
    overflow-y: auto;
    padding-right: 3px;
}

.cb06-conv__choice {
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid rgba(100, 116, 139, .23);
    border-radius: 12px;
    background: rgba(255, 255, 255, .04);
    color: inherit;
    font: inherit;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.cb06-conv__choice:hover,
.cb06-conv__choice:focus-visible,
.cb06-conv__choice.is-selected {
    border-color: #2563eb;
    background: rgba(37, 99, 235, .11);
    transform: translateY(-1px);
}

.cb06-conv__field {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid rgba(100, 116, 139, .28);
    border-radius: 12px;
    background: rgba(255, 255, 255, .06);
    color: inherit;
    font: inherit;
}

textarea.cb06-conv__field {
    min-height: 110px;
    resize: vertical;
}

.cb06-conv__actions {
    display: flex;
    gap: 9px;
    justify-content: space-between;
}

.cb06-conv__button {
    min-height: 44px;
    padding: 10px 15px;
    border: 0;
    border-radius: 11px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.cb06-conv__button--back {
    background: rgba(100, 116, 139, .14);
    color: inherit;
}

.cb06-conv__button--next {
    margin-left: auto;
    background: #2563eb;
    color: #fff;
}

.cb06-conv__summary {
    max-height: 235px;
    overflow-y: auto;
    padding: 12px;
    border-radius: 12px;
    background: rgba(100, 116, 139, .08);
    font-size: 13px;
    line-height: 1.55;
}

.cb06-conv__consent {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    font-size: 12px;
    line-height: 1.45;
}

.cb06-conv__success {
    padding: 18px;
    border-radius: 15px;
    background: rgba(16, 185, 129, .12);
}

.cb06-conv__error {
    margin: 0;
    color: #dc2626;
    font-size: 13px;
}

@media (max-width: 520px) {
    .cb06-conv__choices {
        grid-template-columns: minmax(0, 1fr);
        max-height: 250px;
    }

    .cb06-conv__choice {
        min-height: 43px;
    }
}


/* ===== cb06-guides-premium-v20.css ===== */
/* ==========================================================
   WEB.CB06.FR — GUIDES PREMIUM V20
   ========================================================== */

.cb06-gp-index,
.cb06-gp-article-page {
    --gp-ink: #111827;
    --gp-muted: #64748b;
    --gp-line: #e2e8f0;
    --gp-soft: #f8fafc;
    --gp-blue: #155eef;
    --gp-blue-dark: #0b3ba7;
    --gp-navy: #0f172a;
    --gp-white: #ffffff;
    color: var(--gp-ink);
}

.cb06-gp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 17px;
    color: var(--gp-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase;
}

.cb06-gp-eyebrow::before {
    width: 28px;
    height: 1px;
    content: "";
    background: currentColor;
}

.cb06-gp-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 46px;
    color: var(--gp-muted);
    font-size: 13px;
}

.cb06-gp-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.cb06-gp-breadcrumbs a:hover {
    color: var(--gp-blue);
}

.cb06-gp-index-hero {
    position: relative;
    overflow: hidden;
    padding: 62px 0 88px;
    background:
        radial-gradient(circle at 89% 4%, rgba(21, 94, 239, .10), transparent 33%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-bottom: 1px solid var(--gp-line);
}

.cb06-gp-index-hero::after {
    position: absolute;
    right: -180px;
    bottom: -250px;
    width: 520px;
    height: 520px;
    content: "";
    border: 1px solid rgba(21, 94, 239, .14);
    border-radius: 50%;
    pointer-events: none;
}

.cb06-gp-index-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
    gap: 80px;
    align-items: end;
}

.cb06-gp-index-hero__copy {
    max-width: 850px;
}

.cb06-gp-index-hero h1 {
    max-width: 850px;
    margin: 0;
    color: var(--gp-navy);
    font-size: clamp(42px, 5.3vw, 76px);
    font-weight: 690;
    letter-spacing: -.055em;
    line-height: .99;
}

.cb06-gp-index-hero__copy > p {
    max-width: 720px;
    margin: 30px 0 0;
    color: #475569;
    font-size: clamp(17px, 1.7vw, 21px);
    line-height: 1.72;
}

.cb06-gp-index-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 35px;
}

.cb06-gp-index-hero__metrics {
    display: grid;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 24px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 28px 70px rgba(15, 23, 42, .08);
    backdrop-filter: blur(14px);
}

.cb06-gp-index-hero__metrics div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 14px;
    align-items: center;
    min-height: 95px;
    padding: 18px 24px;
}

.cb06-gp-index-hero__metrics div + div {
    border-top: 1px solid var(--gp-line);
}

.cb06-gp-index-hero__metrics strong {
    color: var(--gp-navy);
    font-size: 34px;
    letter-spacing: -.04em;
}

.cb06-gp-index-hero__metrics span {
    color: var(--gp-muted);
    font-size: 14px;
    line-height: 1.4;
}

.cb06-gp-featured,
.cb06-gp-library,
.cb06-gp-related {
    padding: 94px 0;
}

.cb06-gp-featured {
    background: var(--gp-white);
}

.cb06-gp-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 38px;
    align-items: end;
    margin-bottom: 38px;
}

.cb06-gp-section-heading h2 {
    max-width: 760px;
    margin: 0;
    color: var(--gp-navy);
    font-size: clamp(30px, 3.5vw, 48px);
    font-weight: 680;
    letter-spacing: -.04em;
    line-height: 1.08;
}

.cb06-gp-section-heading > p {
    max-width: 430px;
    margin: 0;
    color: var(--gp-muted);
    line-height: 1.7;
}

.cb06-gp-featured-card {
    display: grid;
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
    min-height: 430px;
    overflow: hidden;
    border: 1px solid var(--gp-line);
    border-radius: 30px;
    background: var(--gp-white);
    box-shadow: 0 30px 90px rgba(15, 23, 42, .08);
}

.cb06-gp-featured-card__visual {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    padding: 42px;
    overflow: hidden;
    color: #ffffff;
    background:
        linear-gradient(145deg, rgba(255,255,255,.09), transparent 55%),
        var(--gp-navy);
}

.cb06-gp-featured-card__visual::after {
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 280px;
    height: 280px;
    content: "";
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 50%;
}

.cb06-gp-featured-card__number {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, .18);
    font-size: clamp(100px, 12vw, 170px);
    font-weight: 750;
    letter-spacing: -.08em;
    line-height: .8;
}

.cb06-gp-featured-card__label {
    position: relative;
    z-index: 1;
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cb06-gp-featured-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px, 6vw, 76px);
}

.cb06-gp-featured-card__content h2 {
    max-width: 760px;
    margin: 22px 0 20px;
    color: var(--gp-navy);
    font-size: clamp(34px, 4vw, 58px);
    font-weight: 680;
    letter-spacing: -.045em;
    line-height: 1.04;
}

.cb06-gp-featured-card__content h2 a {
    color: inherit;
    text-decoration: none;
}

.cb06-gp-featured-card__content p {
    max-width: 680px;
    margin: 0 0 29px;
    color: var(--gp-muted);
    font-size: 17px;
    line-height: 1.75;
}

.cb06-gp-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    color: var(--gp-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.cb06-gp-card-meta span {
    display: inline-flex;
    align-items: center;
}

.cb06-gp-card-meta span + span::before {
    width: 3px;
    height: 3px;
    margin-right: 8px;
    content: "";
    border-radius: 50%;
    background: #94a3b8;
}

.cb06-gp-arrow-link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    width: fit-content;
    color: var(--gp-blue);
    font-weight: 750;
    text-decoration: none;
}

.cb06-gp-arrow-link span {
    transition: transform .2s ease;
}

.cb06-gp-arrow-link:hover span {
    transform: translateX(4px);
}

.cb06-gp-library {
    background: var(--gp-soft);
    border-top: 1px solid var(--gp-line);
    border-bottom: 1px solid var(--gp-line);
}

.cb06-gp-toolbar {
    display: grid;
    grid-template-columns: minmax(250px, 380px) minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    margin-bottom: 24px;
}

.cb06-gp-search {
    position: relative;
    display: block;
}

.cb06-gp-search svg {
    position: absolute;
    top: 50%;
    left: 17px;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: #64748b;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    transform: translateY(-50%);
    pointer-events: none;
}

.cb06-gp-search input {
    width: 100%;
    min-height: 54px;
    padding: 12px 18px 12px 48px;
    border: 1px solid var(--gp-line);
    border-radius: 14px;
    outline: none;
    background: var(--gp-white);
    color: var(--gp-ink);
    font: inherit;
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.cb06-gp-search input:focus {
    border-color: rgba(21, 94, 239, .55);
    box-shadow: 0 0 0 4px rgba(21, 94, 239, .10);
}

.cb06-gp-filters {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
}

.cb06-gp-filters::-webkit-scrollbar {
    display: none;
}

.cb06-gp-filters button {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid var(--gp-line);
    border-radius: 999px;
    background: var(--gp-white);
    color: #475569;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.cb06-gp-filters button:hover,
.cb06-gp-filters button.is-active {
    border-color: var(--gp-navy);
    background: var(--gp-navy);
    color: #ffffff;
}

.cb06-gp-results-line {
    margin-bottom: 20px;
    color: var(--gp-muted);
    font-size: 13px;
}

.cb06-gp-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.cb06-gp-card {
    display: flex;
    flex-direction: column;
    min-height: 390px;
    padding: 28px;
    border: 1px solid var(--gp-line);
    border-radius: 22px;
    background: var(--gp-white);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.cb06-gp-card:hover {
    border-color: rgba(21, 94, 239, .26);
    box-shadow: 0 24px 60px rgba(15, 23, 42, .09);
    transform: translateY(-5px);
}

.cb06-gp-card__top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-bottom: 36px;
}

.cb06-gp-card__index {
    color: #cbd5e1;
    font-size: 30px;
    font-weight: 730;
    letter-spacing: -.05em;
}

.cb06-gp-card__category {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: var(--gp-blue-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cb06-gp-card h3 {
    margin: 21px 0 15px;
    color: var(--gp-navy);
    font-size: 23px;
    font-weight: 680;
    letter-spacing: -.025em;
    line-height: 1.18;
}

.cb06-gp-card h3 a {
    color: inherit;
    text-decoration: none;
}

.cb06-gp-card > p {
    margin: 0;
    color: var(--gp-muted);
    font-size: 15px;
    line-height: 1.7;
}

.cb06-gp-card__footer {
    margin-top: auto;
    padding-top: 30px;
}

.cb06-gp-card__footer a,
.cb06-gp-related-card > a {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: var(--gp-blue);
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
}

.cb06-gp-empty {
    padding: 60px 20px;
    border: 1px dashed #cbd5e1;
    border-radius: 22px;
    text-align: center;
}

.cb06-gp-empty strong {
    display: block;
    color: var(--gp-navy);
    font-size: 20px;
}

.cb06-gp-empty p {
    margin: 10px 0 0;
    color: var(--gp-muted);
}

.cb06-gp-index-cta {
    padding: 82px 0;
    background: var(--gp-navy);
    color: #ffffff;
}

.cb06-gp-index-cta__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(250px, .5fr);
    gap: 60px;
    align-items: center;
}

.cb06-gp-index-cta .cb06-gp-eyebrow {
    color: #93c5fd;
}

.cb06-gp-index-cta h2 {
    max-width: 850px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(34px, 4vw, 56px);
    letter-spacing: -.04em;
    line-height: 1.06;
}

.cb06-gp-index-cta p {
    max-width: 730px;
    margin: 24px 0 0;
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.75;
}

.cb06-gp-index-cta__actions {
    display: grid;
    justify-items: start;
    gap: 18px;
}

.cb06-gp-index-cta .cb06-gp-arrow-link {
    color: #ffffff;
}

/* Article
   ---------------------------------------------------------- */

.cb06-gp-progress {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    pointer-events: none;
}

.cb06-gp-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--gp-blue, #155eef);
}

.cb06-gp-article-hero {
    padding: 58px 0 76px;
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 10%, rgba(21, 94, 239, .10), transparent 31%),
        #ffffff;
    border-bottom: 1px solid var(--gp-line);
}

.cb06-gp-article-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(270px, .5fr);
    gap: 70px;
    align-items: end;
}

.cb06-gp-article-hero__copy {
    max-width: 900px;
}

.cb06-gp-article-hero h1 {
    max-width: 950px;
    margin: 24px 0 0;
    color: var(--gp-navy);
    font-size: clamp(42px, 5.2vw, 74px);
    font-weight: 690;
    letter-spacing: -.055em;
    line-height: 1;
}

.cb06-gp-article-lead {
    max-width: 780px;
    margin: 30px 0 0;
    color: #475569;
    font-size: clamp(18px, 1.7vw, 22px);
    line-height: 1.7;
}

.cb06-gp-article-author {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-top: 35px;
}

.cb06-gp-article-author__avatar {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    background: var(--gp-navy);
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
}

.cb06-gp-article-author div {
    display: grid;
    gap: 3px;
}

.cb06-gp-article-author strong {
    color: var(--gp-navy);
    font-size: 14px;
}

.cb06-gp-article-author div span {
    color: var(--gp-muted);
    font-size: 13px;
}

.cb06-gp-article-summary {
    padding: 28px;
    border: 1px solid var(--gp-line);
    border-radius: 22px;
    background: var(--gp-soft);
}

.cb06-gp-article-summary > strong {
    display: block;
    color: var(--gp-navy);
    font-size: 21px;
    letter-spacing: -.02em;
    line-height: 1.35;
}

.cb06-gp-article-summary ul {
    display: grid;
    gap: 10px;
    margin: 23px 0;
    padding: 0;
    list-style: none;
}

.cb06-gp-article-summary li {
    position: relative;
    padding-left: 19px;
    color: var(--gp-muted);
    font-size: 14px;
    line-height: 1.5;
}

.cb06-gp-article-summary li::before {
    position: absolute;
    top: .65em;
    left: 0;
    width: 6px;
    height: 6px;
    content: "";
    border-radius: 50%;
    background: var(--gp-blue);
}

.cb06-gp-article-summary > a {
    display: inline-flex;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding-top: 20px;
    border-top: 1px solid var(--gp-line);
    color: var(--gp-blue);
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
}

.cb06-gp-article-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 760px);
    gap: clamp(55px, 8vw, 115px);
    justify-content: center;
    align-items: start;
    padding-top: 78px;
    padding-bottom: 100px;
}

.cb06-gp-toc {
    position: relative;
}

.cb06-gp-toc__inner {
    position: sticky;
    top: 120px;
}

.cb06-gp-toc__title {
    display: block;
    margin-bottom: 17px;
    color: var(--gp-navy);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cb06-gp-toc nav {
    display: grid;
    border-left: 1px solid var(--gp-line);
}

.cb06-gp-toc nav a {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 8px;
    padding: 9px 0 9px 17px;
    border-left: 2px solid transparent;
    color: var(--gp-muted);
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none;
    transform: translateX(-1px);
    transition:
        color .2s ease,
        border-color .2s ease;
}

.cb06-gp-toc nav a span {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 800;
}

.cb06-gp-toc nav a:hover,
.cb06-gp-toc nav a.is-active {
    border-left-color: var(--gp-blue);
    color: var(--gp-blue);
}

.cb06-gp-toc__actions {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.cb06-gp-toc__actions button,
.cb06-gp-toc__actions a {
    min-height: 42px;
    padding: 10px 13px;
    border: 1px solid var(--gp-line);
    border-radius: 10px;
    background: #ffffff;
    color: var(--gp-navy);
    font: inherit;
    font-size: 12px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.cb06-gp-mobile-toc {
    display: none;
}

.cb06-gp-article-intro {
    margin-bottom: 55px;
    padding: 28px;
    border-left: 3px solid var(--gp-blue);
    background: #f8fafc;
}

.cb06-gp-article-intro span {
    display: block;
    margin-bottom: 10px;
    color: var(--gp-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.cb06-gp-article-intro p {
    margin: 0;
    color: #334155;
    font-size: 17px;
    line-height: 1.75;
}

.cb06-gp-article-section {
    scroll-margin-top: 120px;
    padding: 0 0 60px;
}

.cb06-gp-article-section + .cb06-gp-article-section {
    padding-top: 56px;
    border-top: 1px solid var(--gp-line);
}

.cb06-gp-article-section header {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 25px;
}

.cb06-gp-article-section__number {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 1px solid #bfdbfe;
    border-radius: 15px;
    background: #eff6ff;
    color: var(--gp-blue-dark);
    font-size: 13px;
    font-weight: 800;
}

.cb06-gp-article-section h2 {
    margin: 4px 0 0;
    color: var(--gp-navy);
    font-size: clamp(29px, 3vw, 41px);
    font-weight: 680;
    letter-spacing: -.035em;
    line-height: 1.1;
}

.cb06-gp-article-section__body {
    padding-left: 72px;
}

.cb06-gp-article-section__body p {
    margin: 0;
    color: #334155;
    font-size: 18px;
    line-height: 1.9;
}

.cb06-gp-article-next-step {
    margin-top: 16px;
    padding: clamp(31px, 5vw, 50px);
    border-radius: 25px;
    background: var(--gp-navy);
    color: #ffffff;
}

.cb06-gp-article-next-step .cb06-gp-eyebrow {
    color: #93c5fd;
}

.cb06-gp-article-next-step h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(30px, 3.4vw, 44px);
    letter-spacing: -.035em;
    line-height: 1.08;
}

.cb06-gp-article-next-step p {
    margin: 22px 0 29px;
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.75;
}

.cb06-gp-article-next-step > div {
    display: flex;
    flex-wrap: wrap;
    gap: 17px;
    align-items: center;
}

.cb06-gp-article-next-step .cb06-gp-arrow-link {
    color: #ffffff;
}

.cb06-gp-article-footer {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
    margin-top: 25px;
    padding: 24px 0;
    border-top: 1px solid var(--gp-line);
    border-bottom: 1px solid var(--gp-line);
}

.cb06-gp-article-footer > div {
    display: grid;
    gap: 4px;
}

.cb06-gp-article-footer strong {
    color: var(--gp-navy);
}

.cb06-gp-article-footer span {
    color: var(--gp-muted);
    font-size: 13px;
}

.cb06-gp-article-footer button {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid var(--gp-line);
    border-radius: 10px;
    background: #ffffff;
    color: var(--gp-navy);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}

.cb06-gp-related {
    background: var(--gp-soft);
    border-top: 1px solid var(--gp-line);
}

.cb06-gp-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.cb06-gp-related-card {
    display: flex;
    flex-direction: column;
    min-height: 300px;
    padding: 27px;
    border: 1px solid var(--gp-line);
    border-radius: 20px;
    background: #ffffff;
}

.cb06-gp-related-card h3 {
    margin: 23px 0 14px;
    color: var(--gp-navy);
    font-size: 22px;
    letter-spacing: -.025em;
    line-height: 1.2;
}

.cb06-gp-related-card h3 a {
    color: inherit;
    text-decoration: none;
}

.cb06-gp-related-card p {
    margin: 0;
    color: var(--gp-muted);
    font-size: 14px;
    line-height: 1.7;
}

.cb06-gp-related-card > a {
    margin-top: auto;
    padding-top: 25px;
}

@media (max-width: 1100px) {
    .cb06-gp-index-hero__grid,
    .cb06-gp-article-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 45px;
    }

    .cb06-gp-index-hero__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cb06-gp-index-hero__metrics div {
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }

    .cb06-gp-index-hero__metrics div + div {
        border-top: 0;
        border-left: 1px solid var(--gp-line);
    }

    .cb06-gp-grid,
    .cb06-gp-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cb06-gp-article-layout {
        grid-template-columns: 230px minmax(0, 720px);
        gap: 45px;
    }
}

@media (max-width: 820px) {
    .cb06-gp-index-hero {
        padding: 40px 0 65px;
    }

    .cb06-gp-breadcrumbs {
        margin-bottom: 31px;
    }

    .cb06-gp-featured,
    .cb06-gp-library,
    .cb06-gp-related {
        padding: 68px 0;
    }

    .cb06-gp-featured-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .cb06-gp-featured-card__visual {
        min-height: 220px;
    }

    .cb06-gp-featured-card__number {
        font-size: 110px;
    }

    .cb06-gp-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .cb06-gp-index-cta__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 35px;
    }

    .cb06-gp-article-layout {
        display: block;
        padding-top: 50px;
    }

    .cb06-gp-toc {
        display: none;
    }

    .cb06-gp-mobile-toc {
        display: block;
        margin-bottom: 34px;
        border: 1px solid var(--gp-line);
        border-radius: 16px;
        background: var(--gp-soft);
    }

    .cb06-gp-mobile-toc summary {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        padding: 17px 19px;
        color: var(--gp-navy);
        font-weight: 750;
        cursor: pointer;
        list-style: none;
    }

    .cb06-gp-mobile-toc summary::-webkit-details-marker {
        display: none;
    }

    .cb06-gp-mobile-toc nav {
        display: grid;
        padding: 0 18px 18px;
    }

    .cb06-gp-mobile-toc nav a {
        padding: 10px 0;
        border-top: 1px solid var(--gp-line);
        color: var(--gp-muted);
        font-size: 13px;
        line-height: 1.4;
        text-decoration: none;
    }
}

@media (max-width: 620px) {
    .cb06-gp-index-hero h1,
    .cb06-gp-article-hero h1 {
        font-size: 42px;
        letter-spacing: -.045em;
    }

    .cb06-gp-index-hero__copy > p,
    .cb06-gp-article-lead {
        font-size: 17px;
    }

    .cb06-gp-index-hero__metrics {
        grid-template-columns: minmax(0, 1fr);
    }

    .cb06-gp-index-hero__metrics div {
        grid-template-columns: 80px 1fr;
    }

    .cb06-gp-index-hero__metrics div + div {
        border-top: 1px solid var(--gp-line);
        border-left: 0;
    }

    .cb06-gp-section-heading {
        display: grid;
        gap: 18px;
    }

    .cb06-gp-grid,
    .cb06-gp-related__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .cb06-gp-card {
        min-height: 350px;
    }

    .cb06-gp-featured-card__content,
    .cb06-gp-featured-card__visual {
        padding: 28px;
    }

    .cb06-gp-featured-card__content h2 {
        font-size: 36px;
    }

    .cb06-gp-index-cta {
        padding: 65px 0;
    }

    .cb06-gp-article-hero {
        padding: 38px 0 55px;
    }

    .cb06-gp-article-summary {
        padding: 23px;
    }

    .cb06-gp-article-intro {
        padding: 23px;
    }

    .cb06-gp-article-section {
        padding-bottom: 45px;
    }

    .cb06-gp-article-section + .cb06-gp-article-section {
        padding-top: 42px;
    }

    .cb06-gp-article-section header {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
    }

    .cb06-gp-article-section__number {
        width: 42px;
        height: 42px;
        border-radius: 12px;
    }

    .cb06-gp-article-section h2 {
        font-size: 29px;
    }

    .cb06-gp-article-section__body {
        padding-left: 0;
    }

    .cb06-gp-article-section__body p {
        font-size: 17px;
        line-height: 1.82;
    }

    .cb06-gp-article-next-step {
        padding: 28px;
    }

    .cb06-gp-article-footer {
        display: grid;
        align-items: start;
    }

    .cb06-gp-article-footer button {
        width: fit-content;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cb06-gp-card,
    .cb06-gp-arrow-link span,
    .cb06-gp-search input {
        transition: none;
    }
}


/* ===== cb06-services-premium-v23.css ===== */
.sv23 {
    --navy: #07172b;
    --navy2: #0b2b55;
    --blue: #1264f4;
    --cyan: #72ead4;
    --ink: #0b1b33;
    --text: #51647d;
    --muted: #78899e;
    --line: #dfe7f1;
    --soft: #f5f8fc;
    overflow: hidden;
    color: var(--ink);
}

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

.sv23-eyebrow {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.sv23-eyebrow::before {
    width: 27px;
    height: 2px;
    content: "";
    border-radius: 99px;
    background: currentColor;
}

.sv23-breadcrumb {
    display: flex;
    gap: 9px;
    margin-bottom: 45px;
    color: rgba(255,255,255,.55);
    font-size: 13px;
}

.sv23-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.sv23-hero {
    padding: 55px 0 80px;
    background:
        radial-gradient(circle at 88% 0%, rgba(34,112,255,.35), transparent 34%),
        linear-gradient(135deg, var(--navy), var(--navy2));
    color: #fff;
}

.sv23-hero__grid {
    display: grid;
    grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr);
    gap: clamp(45px,7vw,100px);
    align-items: center;
}

.sv23-hero .sv23-eyebrow {
    color: var(--cyan);
}

.sv23-hero h1 {
    max-width: 900px;
    margin: 20px 0 0;
    color: #fff;
    font-size: clamp(42px,5vw,72px);
    font-weight: 680;
    letter-spacing: -.055em;
    line-height: 1;
}

.sv23-hero__copy > p {
    max-width: 740px;
    margin: 28px 0 0;
    color: #bdcbdb;
    font-size: 18px;
    line-height: 1.75;
}

.sv23-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    margin-top: 35px;
}

.sv23-text-link {
    display: inline-flex;
    gap: 11px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.sv23-hero__panel {
    padding: 30px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 27px;
    background: rgba(255,255,255,.075);
    box-shadow: 0 35px 90px rgba(0,0,0,.24);
    backdrop-filter: blur(15px);
}

.sv23-panel-label {
    color: var(--cyan);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.sv23-hero__panel > strong {
    display: block;
    margin-top: 15px;
    color: #fff;
    font-size: 24px;
    line-height: 1.35;
}

.sv23-panel-steps {
    display: grid;
    gap: 10px;
    margin-top: 27px;
}

.sv23-panel-steps > div {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 15px;
    background: rgba(255,255,255,.05);
}

.sv23-panel-steps > div > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: rgba(18,100,244,.3);
    color: #a9c7ff;
    font-size: 11px;
    font-weight: 800;
}

.sv23-panel-steps p {
    display: grid;
    gap: 3px;
    margin: 0;
    color: #8fa4bc;
    font-size: 12px;
}

.sv23-panel-steps b {
    color: #fff;
    font-size: 14px;
}

.sv23-metrics {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    margin-top: 55px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.13);
}

.sv23-metrics div {
    display: grid;
    gap: 4px;
    padding-right: 30px;
}

.sv23-metrics div + div {
    padding-left: 30px;
    border-left: 1px solid rgba(255,255,255,.13);
}

.sv23-metrics strong {
    color: #fff;
    font-size: 20px;
}

.sv23-metrics span {
    color: #8fa4bc;
    font-size: 12px;
}

.sv23-featured,
.sv23-library {
    padding: 95px 0;
}

.sv23-library {
    background: var(--soft);
    border-top: 1px solid var(--line);
}

.sv23-heading {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: end;
    margin-bottom: 42px;
}

.sv23-heading h2 {
    max-width: 780px;
    margin: 16px 0 0;
    font-size: clamp(32px,3.7vw,52px);
    letter-spacing: -.045em;
    line-height: 1.08;
}

.sv23-heading > p {
    max-width: 430px;
    margin: 0;
    color: var(--text);
    line-height: 1.7;
}

.sv23-featured-grid,
.sv23-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
}

.sv23-featured-card,
.sv23-card {
    display: flex;
    flex-direction: column;
    min-height: 485px;
    padding: 29px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    box-shadow: 0 18px 55px rgba(15,42,78,.06);
    transition: .25s ease;
}

.sv23-featured-card:hover,
.sv23-card:hover {
    border-color: rgba(18,100,244,.35);
    box-shadow: 0 30px 80px rgba(15,42,78,.13);
    transform: translateY(-7px);
}

.sv23-featured-card.is-highlighted {
    border-color: transparent;
    background:
        radial-gradient(circle at 100% 0%, rgba(44,116,255,.45), transparent 34%),
        linear-gradient(145deg,var(--navy),var(--navy2));
    color: #fff;
}

.sv23-card-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-bottom: 40px;
}

.sv23-card-number {
    color: #c2cddd;
    font-size: 31px;
    font-weight: 750;
}

.is-highlighted .sv23-card-number {
    color: rgba(255,255,255,.24);
}

.sv23-tag {
    padding: 7px 11px;
    border-radius: 99px;
    background: #eef4fd;
    color: var(--blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.is-highlighted .sv23-tag {
    background: rgba(255,255,255,.1);
    color: var(--cyan);
}

.sv23-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 15px;
    background: #edf4ff;
    color: var(--blue);
    font-weight: 800;
}

.sv23-card-label {
    color: var(--blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.is-highlighted .sv23-card-label {
    color: var(--cyan);
}

.sv23-featured-card h3,
.sv23-card h3 {
    margin: 13px 0 0;
    font-size: 31px;
    letter-spacing: -.04em;
    line-height: 1.1;
}

.is-highlighted h3 {
    color: #fff;
}

.sv23-featured-card > p,
.sv23-card > p {
    margin: 20px 0 27px;
    color: var(--text);
    line-height: 1.7;
}

.is-highlighted > p {
    color: #b7c7d9;
}

.sv23-card-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    margin-top: auto;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: var(--line);
}

.is-highlighted .sv23-card-info {
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.12);
}

.sv23-card-info > div {
    display: grid;
    gap: 6px;
    padding: 15px;
    background: #fff;
}

.is-highlighted .sv23-card-info > div {
    background: rgba(255,255,255,.055);
}

.sv23-card-info span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.sv23-card-info strong {
    font-size: 13px;
    line-height: 1.35;
}

.is-highlighted .sv23-card-info strong {
    color: #fff;
}

.sv23-card-link {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-top: 23px;
    color: var(--blue);
    font-size: 13px;
    font-weight: 800;
}

.is-highlighted .sv23-card-link {
    color: #fff;
}

.sv23-card-link i {
    font-style: normal;
}

.sv23-combine {
    padding: 85px 0;
    background: #fff;
}

.sv23-combine__inner {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 60px;
    align-items: center;
    padding: clamp(35px,6vw,70px);
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0%, rgba(18,100,244,.14), transparent 36%),
        var(--navy);
    color: #fff;
}

.sv23-combine .sv23-eyebrow {
    color: var(--cyan);
}

.sv23-combine h2 {
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(34px,4vw,54px);
    letter-spacing: -.045em;
    line-height: 1.07;
}

.sv23-combine p {
    max-width: 720px;
    margin: 24px 0 0;
    color: #b8c8d9;
    line-height: 1.75;
}

.sv23-combine__actions {
    display: grid;
    gap: 17px;
    justify-items: start;
}

.sv23-combine__actions > a:not(.btn) {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

@media (max-width: 1050px) {
    .sv23-hero__grid {
        grid-template-columns: 1fr;
    }

    .sv23-hero__panel {
        max-width: 750px;
    }

    .sv23-featured-grid,
    .sv23-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 750px) {
    .sv23-hero {
        padding: 38px 0 55px;
    }

    .sv23-hero h1 {
        font-size: 42px;
    }

    .sv23-metrics,
    .sv23-featured-grid,
    .sv23-grid,
    .sv23-combine__inner {
        grid-template-columns: 1fr;
    }

    .sv23-metrics {
        gap: 18px;
    }

    .sv23-metrics div,
    .sv23-metrics div + div {
        padding: 0;
        border-left: 0;
    }

    .sv23-metrics div + div {
        padding-top: 18px;
        border-top: 1px solid rgba(255,255,255,.12);
    }

    .sv23-featured,
    .sv23-library,
    .sv23-combine {
        padding: 65px 0;
    }

    .sv23-heading {
        display: grid;
        gap: 18px;
    }

    .sv23-featured-card,
    .sv23-card {
        min-height: 0;
        padding: 25px;
    }

    .sv23-card-info {
        grid-template-columns: 1fr;
    }

    .sv23-combine__inner {
        padding: 29px;
        gap: 35px;
    }
}


/* ===== cb06-france-premium-v29.css ===== */
/* ==========================================================
   WEB.CB06.FR — PAGE FRANCE PREMIUM V29
   ========================================================== */

body.france-v29 {
    --fr29-navy: #07182d;
    --fr29-blue: #1264f4;
    --fr29-blue-dark: #0b4ec4;
    --fr29-cyan: #6fe5d1;
    --fr29-ink: #0b1b31;
    --fr29-text: #52657d;
    --fr29-muted: #78899e;
    --fr29-line: #dde6f0;
    --fr29-soft: #f5f8fc;
}

body.france-v29 main {
    overflow: hidden;
}

/* Section des régions */

body.france-v29 .france-v29-regions {
    position: relative;
    padding-top: 88px !important;
    padding-bottom: 100px !important;
    background:
        radial-gradient(
            circle at 95% 5%,
            rgba(18, 100, 244, .08),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8fbff 100%
        );
}

body.france-v29 .france-v29-regions::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    content: "";
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(18, 100, 244, .18),
            transparent
        );
}

body.france-v29 .france-v29-regions-heading {
    max-width: 800px;
    margin-bottom: 18px !important;
    color: var(--fr29-ink);
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 690;
    letter-spacing: -.045em;
    line-height: 1.08;
}

body.france-v29 .france-v29-regions-intro {
    display: flex;
    justify-content: space-between;
    gap: 35px;
    align-items: center;
    margin: 0 0 36px;
    padding: 22px 25px;
    border: 1px solid var(--fr29-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, .88);
    box-shadow:
        0 16px 45px rgba(15, 43, 78, .055);
}

body.france-v29 .france-v29-regions-intro__copy {
    display: grid;
    gap: 5px;
}

body.france-v29 .france-v29-regions-intro__copy strong {
    color: var(--fr29-ink);
    font-size: 15px;
}

body.france-v29 .france-v29-regions-intro__copy span {
    color: var(--fr29-text);
    font-size: 13px;
    line-height: 1.55;
}

body.france-v29 .france-v29-regions-intro__status {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    background: #ecfaf6;
    color: #08745f;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.france-v29 .france-v29-regions-intro__status::before {
    width: 8px;
    height: 8px;
    content: "";
    border-radius: 50%;
    background: #15a585;
    box-shadow:
        0 0 0 5px rgba(21, 165, 133, .12);
}

/* Grille */

body.france-v29 .france-v29-grid {
    display: grid !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 21px !important;
    align-items: stretch;
}

/* Cartes */

body.france-v29 .france-v29-card {
    position: relative;
    display: flex !important;
    flex-direction: column;
    min-width: 0;
    min-height: 255px;
    padding: 27px 28px 25px !important;
    overflow: hidden;
    border: 1px solid var(--fr29-line) !important;
    border-radius: 23px !important;
    background:
        radial-gradient(
            circle at 110% -15%,
            rgba(18, 100, 244, .10),
            transparent 36%
        ),
        #ffffff !important;
    color: var(--fr29-ink) !important;
    text-decoration: none !important;
    box-shadow:
        0 15px 45px rgba(15, 43, 78, .045);
    transition:
        transform .24s ease,
        border-color .24s ease,
        box-shadow .24s ease;
}

body.france-v29 .france-v29-card::before {
    position: absolute;
    top: 0;
    right: 28px;
    left: 28px;
    height: 3px;
    content: "";
    border-radius: 0 0 99px 99px;
    background:
        linear-gradient(
            90deg,
            var(--fr29-blue),
            #5e9cff
        );
    opacity: 0;
    transform: scaleX(.35);
    transform-origin: left;
    transition:
        opacity .24s ease,
        transform .24s ease;
}

body.france-v29 .france-v29-card::after {
    position: absolute;
    right: -80px;
    bottom: -105px;
    width: 210px;
    height: 210px;
    content: "";
    border: 1px solid rgba(18, 100, 244, .08);
    border-radius: 50%;
    pointer-events: none;
}

body.france-v29 .france-v29-card:hover {
    border-color: rgba(18, 100, 244, .38) !important;
    box-shadow:
        0 29px 75px rgba(15, 43, 78, .125);
    transform: translateY(-7px);
}

body.france-v29 .france-v29-card:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

body.france-v29 .france-v29-card-eyebrow {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: fit-content;
    margin-bottom: 17px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #edf4ff;
    color: var(--fr29-blue);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.france-v29 .france-v29-card-title {
    position: relative;
    z-index: 1;
    margin: 0 !important;
    color: var(--fr29-ink) !important;
    font-size: clamp(21px, 2vw, 27px) !important;
    font-weight: 690 !important;
    letter-spacing: -.035em;
    line-height: 1.14;
}

body.france-v29 .france-v29-card-description {
    position: relative;
    z-index: 1;
    max-width: 340px;
    margin: 17px 0 25px !important;
    color: var(--fr29-text) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

body.france-v29 .france-v29-card-meta {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid var(--fr29-line);
    color: var(--fr29-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.france-v29 .france-v29-card-meta::before {
    width: 7px;
    height: 7px;
    content: "";
    border-radius: 50%;
    background: var(--fr29-cyan);
    box-shadow:
        0 0 0 4px rgba(111, 229, 209, .13);
}

body.france-v29 .france-v29-card-action {
    position: absolute;
    right: 24px;
    bottom: 20px;
    z-index: 2;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid var(--fr29-line);
    border-radius: 50%;
    background: #ffffff;
    color: var(--fr29-blue);
    font-size: 16px;
    transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

body.france-v29 .france-v29-card:hover
.france-v29-card-action {
    border-color: var(--fr29-blue);
    background: var(--fr29-blue);
    color: #ffffff;
    transform: translateX(3px);
}

/* Villes */

body.france-v29 .france-v29-cities {
    padding-top: 88px !important;
    padding-bottom: 88px !important;
    background: #ffffff;
}

body.france-v29 .france-v29-cities-grid {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px !important;
    margin-top: 27px;
}

body.france-v29 .france-v29-city-link {
    display: inline-flex !important;
    gap: 9px;
    align-items: center;
    min-height: 44px;
    padding: 10px 15px !important;
    border: 1px solid var(--fr29-line) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--fr29-ink) !important;
    font-size: 12px !important;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow:
        0 8px 24px rgba(15, 43, 78, .035);
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

body.france-v29 .france-v29-city-link::before {
    width: 6px;
    height: 6px;
    content: "";
    border-radius: 50%;
    background: #83aefb;
}

body.france-v29 .france-v29-city-link:hover {
    border-color: var(--fr29-blue) !important;
    background: #f2f6ff !important;
    color: var(--fr29-blue) !important;
    transform: translateY(-2px);
}

/* Fonctionnement */

body.france-v29 .france-v29-process {
    padding-top: 88px !important;
    padding-bottom: 95px !important;
    background:
        linear-gradient(
            180deg,
            #f7faff,
            #ffffff
        );
}

/* Responsive */

@media (max-width: 1050px) {
    body.france-v29 .france-v29-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    body.france-v29 .france-v29-regions,
    body.france-v29 .france-v29-cities,
    body.france-v29 .france-v29-process {
        padding-top: 65px !important;
        padding-bottom: 70px !important;
    }

    body.france-v29 .france-v29-regions-intro {
        display: grid;
        gap: 16px;
        padding: 20px;
    }

    body.france-v29 .france-v29-regions-intro__status {
        width: fit-content;
    }

    body.france-v29 .france-v29-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    body.france-v29 .france-v29-card {
        min-height: 235px;
        padding: 25px !important;
    }

    body.france-v29 .france-v29-card-action {
        right: 21px;
        bottom: 18px;
    }

    body.france-v29 .france-v29-cities-grid {
        display: grid !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    body.france-v29 .france-v29-city-link {
        justify-content: flex-start;
        border-radius: 13px !important;
    }
}

@media (max-width: 440px) {
    body.france-v29 .france-v29-cities-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.france-v29 .france-v29-card,
    body.france-v29 .france-v29-card::before,
    body.france-v29 .france-v29-card-action,
    body.france-v29 .france-v29-city-link {
        transition: none;
    }
}


/* ===== cb06-france-hero-card-v30.css ===== */
/* Carte de couverture — page France V30 */

body.france-v30 .france-v30-hero-card {
    color: #0b1b31 !important;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(18, 100, 244, .10),
            transparent 38%
        ),
        #ffffff !important;
    border: 1px solid #dce5ef !important;
    border-radius: 24px !important;
    box-shadow:
        0 28px 75px rgba(5, 25, 50, .18) !important;
}

body.france-v30 .france-v30-hero-card * {
    text-shadow: none !important;
}

body.france-v30
.france-v30-hero-card__eyebrow {
    display: inline-flex !important;
    width: fit-content;
    margin-bottom: 10px !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    background: #edf4ff !important;
    color: #1264f4 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

body.france-v30
.france-v30-hero-card__title {
    color: #0b1b31 !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 700 !important;
    letter-spacing: -.04em !important;
    line-height: 1.08 !important;
}

body.france-v30
.france-v30-hero-card__description {
    color: #52657d !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

body.france-v30
.france-v30-hero-card__label {
    color: #74869c !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

body.france-v30
.france-v30-hero-card__value {
    color: #0b1b31 !important;
    font-size: 16px !important;
    font-weight: 720 !important;
}

/*
 * Sécurité supplémentaire :
 * aucun texte de la carte ne doit rester blanc sur blanc.
 */
body.france-v30
.france-v30-hero-card
:where(
    div,
    span,
    strong,
    small,
    p,
    h2,
    h3,
    h4,
    dt,
    dd
) {
    border-color: #dce5ef;
}

body.france-v30
.france-v30-hero-card
:where(
    h2,
    h3,
    h4,
    strong,
    dd
):not(
    .france-v30-hero-card__eyebrow
):not(
    .france-v30-hero-card__label
) {
    color: #0b1b31 !important;
}

body.france-v30
.france-v30-hero-card
:where(
    p,
    small,
    dt
):not(
    .france-v30-hero-card__eyebrow
):not(
    .france-v30-hero-card__label
) {
    color: #52657d !important;
}

body.france-v30
.france-v30-hero-card ::selection {
    background: #1264f4;
    color: #ffffff;
}

@media (max-width: 700px) {
    body.france-v30
    .france-v30-hero-card {
        border-radius: 20px !important;
    }

    body.france-v30
    .france-v30-hero-card__title {
        font-size: 30px !important;
    }
}


/* ===== cb06-france-cities-v31.css ===== */
/* ==========================================================
   WEB.CB06.FR — INDEX COMPLET DES VILLES V31
   ========================================================== */

body.france-v31 {
    --fc31-navy: #07182d;
    --fc31-blue: #1264f4;
    --fc31-ink: #0b1b31;
    --fc31-text: #53657c;
    --fc31-muted: #78899d;
    --fc31-line: #dce5ef;
    --fc31-soft: #f5f8fc;
}

/*
 * Suppression définitive des points ajoutés par V29.
 */
body.france-v31
.france-v29-city-link::before,
body.france-v31
.france-v31-city-card::before,
body.france-v29
.france-v29-city-link::before {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
}

body.france-v31
.france-v31-cities-section {
    padding-top: 88px !important;
    padding-bottom: 96px !important;
    background:
        radial-gradient(
            circle at 96% 5%,
            rgba(18, 100, 244, .065),
            transparent 29%
        ),
        #ffffff;
}

.france-v31-city-index,
.france-v31-city-index *,
.france-v31-city-index *::before,
.france-v31-city-index *::after {
    box-sizing: border-box;
}

.france-v31-city-index {
    margin-top: 34px;
}

.france-v31-city-toolbar {
    display: grid;
    grid-template-columns:
        minmax(280px, 520px)
        minmax(210px, 1fr);
    gap: 20px;
    align-items: stretch;
    margin-bottom: 25px;
    padding: 18px;
    border: 1px solid var(--fc31-line);
    border-radius: 19px;
    background: #f9fbfe;
    box-shadow:
        0 13px 38px
        rgba(18, 45, 80, .045);
}

.france-v31-city-search {
    position: relative;
    display: block;
}

.france-v31-city-search svg {
    position: absolute;
    top: 50%;
    left: 17px;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #6d7f94;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
    pointer-events: none;
    transform: translateY(-50%);
}

.france-v31-city-search input {
    width: 100%;
    min-height: 54px;
    padding: 12px 17px 12px 50px;
    border: 1px solid var(--fc31-line);
    border-radius: 14px;
    outline: none;
    background: #ffffff;
    color: var(--fc31-ink);
    font: inherit;
    font-size: 14px;
    box-shadow:
        0 8px 25px
        rgba(18, 45, 80, .035);
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.france-v31-city-search input::placeholder {
    color: #8a99ab;
}

.france-v31-city-search input:focus {
    border-color:
        rgba(18, 100, 244, .62);
    box-shadow:
        0 0 0 4px
        rgba(18, 100, 244, .10);
}

.france-v31-city-count {
    display: grid;
    align-content: center;
    justify-content: end;
    gap: 3px;
    padding: 5px 8px;
    text-align: right;
}

.france-v31-city-count > span {
    color: var(--fc31-ink);
    font-size: 15px;
    font-weight: 760;
}

.france-v31-city-count > small {
    color: var(--fc31-muted);
    font-size: 11px;
}

.france-v31-city-grid {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));
    gap: 11px;
}

.france-v31-city-card {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 13px;
    align-items: center;
    min-width: 0;
    min-height: 66px;
    padding: 12px 13px 12px 16px;
    border: 1px solid var(--fc31-line);
    border-radius: 15px;
    background: #ffffff;
    color: var(--fc31-ink);
    text-decoration: none;
    box-shadow:
        0 8px 24px
        rgba(18, 45, 80, .035);
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.france-v31-city-card:hover {
    border-color:
        rgba(18, 100, 244, .42);
    box-shadow:
        0 17px 38px
        rgba(18, 45, 80, .10);
    transform: translateY(-3px);
}

.france-v31-city-card__identity {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.france-v31-city-card__identity strong {
    overflow: hidden;
    color: var(--fc31-ink);
    font-size: 13px;
    font-weight: 730;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.france-v31-city-card__identity small {
    width: fit-content;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f0f5fc;
    color: #64758a;
    font-size: 9px;
    font-weight: 760;
    letter-spacing: .045em;
}

.france-v31-city-card__arrow {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--fc31-line);
    border-radius: 10px;
    background: #ffffff;
    color: var(--fc31-blue);
    font-size: 13px;
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.france-v31-city-card:hover
.france-v31-city-card__arrow {
    border-color: var(--fc31-blue);
    background: var(--fc31-blue);
    color: #ffffff;
    transform: translateX(2px);
}

.france-v31-city-actions {
    display: flex;
    justify-content: center;
    gap: 11px;
    margin-top: 29px;
}

.france-v31-city-actions button {
    min-height: 48px;
    padding: 11px 18px;
    border: 1px solid var(--fc31-line);
    border-radius: 12px;
    background: #ffffff;
    color: var(--fc31-ink);
    font: inherit;
    font-size: 13px;
    font-weight: 760;
    cursor: pointer;
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.france-v31-city-actions
button:first-child {
    border-color: var(--fc31-blue);
    background: var(--fc31-blue);
    color: #ffffff;
}

.france-v31-city-actions button:hover {
    transform: translateY(-2px);
}

.france-v31-city-empty {
    display: grid;
    gap: 7px;
    justify-items: center;
    padding: 55px 25px;
    border: 1px dashed #c8d4e2;
    border-radius: 18px;
    background: #f9fbfd;
    text-align: center;
}

.france-v31-city-empty strong {
    color: var(--fc31-ink);
    font-size: 17px;
}

.france-v31-city-empty span {
    color: var(--fc31-muted);
    font-size: 13px;
}

.france-v31-city-empty[hidden],
.france-v31-city-actions[hidden],
.france-v31-city-grid[hidden] {
    display: none !important;
}

/*
 * Ancienne liste de secours sans point,
 * même si JavaScript ou JSON ne se charge pas.
 */
body.france-v31
.france-v29-city-link {
    gap: 8px !important;
}

@media (max-width: 1250px) {
    .france-v31-city-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .france-v31-city-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    body.france-v31
    .france-v31-cities-section {
        padding-top: 65px !important;
        padding-bottom: 72px !important;
    }

    .france-v31-city-toolbar {
        grid-template-columns:
            minmax(0, 1fr);
        padding: 14px;
    }

    .france-v31-city-count {
        justify-content: start;
        padding: 2px 3px;
        text-align: left;
    }

    .france-v31-city-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .france-v31-city-actions {
        display: grid;
    }

    .france-v31-city-actions button {
        width: 100%;
    }
}

@media (max-width: 470px) {
    .france-v31-city-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .france-v31-city-card {
        min-height: 62px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .france-v31-city-card,
    .france-v31-city-card__arrow,
    .france-v31-city-actions button {
        transition: none;
    }
}


/* ===== cb06-city-pages-premium-v32.css ===== */
/* ==========================================================
   WEB.CB06.FR — TOUTES LES PAGES VILLES PREMIUM V32
   ========================================================== */

body.cb06-city-v32 {
    --city32-navy: #07182d;
    --city32-navy-soft: #102b4d;
    --city32-blue: #1264f4;
    --city32-cyan: #6fe5d1;
    --city32-ink: #0b1b31;
    --city32-text: #52657d;
    --city32-muted: #74869c;
    --city32-line: #dce5ef;
    --city32-soft: #f5f8fc;
}

body.cb06-city-v32 main {
    overflow: hidden;
}

/* Sélection de texte plus propre */

body.cb06-city-v32 main ::selection {
    background: var(--city32-blue);
    color: #ffffff;
    text-shadow: none;
}

/* Titres : suppression des anciens aplats gris */

body.cb06-city-v32
.cb06-city-v32-heading,
body.cb06-city-v32
.cb06-city-v32-heading *,
body.cb06-city-v32
.cb06-city-v32-title-reset {
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

body.cb06-city-v32
.cb06-city-v32-title-reset {
    padding: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* ==========================================================
   CORRECTION GÉNÉRALE DU BLANC SUR BLANC
   ========================================================== */

body.cb06-city-v32
.cb06-city-v32-light-box {
    border-color: var(--city32-line) !important;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(18, 100, 244, .065),
            transparent 36%
        ),
        #ffffff !important;
    color: var(--city32-ink) !important;
    text-shadow: none !important;
}

body.cb06-city-v32
.cb06-city-v32-light-box
:where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    strong,
    b,
    dt
) {
    color: var(--city32-ink) !important;
    text-shadow: none !important;
}

body.cb06-city-v32
.cb06-city-v32-light-box
:where(
    p,
    span,
    small,
    li,
    dd
) {
    color: var(--city32-text) !important;
    text-shadow: none !important;
}

body.cb06-city-v32
.cb06-city-v32-light-box
a {
    color: var(--city32-blue) !important;
    text-shadow: none !important;
}

body.cb06-city-v32
.cb06-city-v32-light-box
svg {
    color: var(--city32-blue) !important;
    stroke: currentColor !important;
}

/* ==========================================================
   SECTION SEO LOCALE
   ========================================================== */

body.cb06-city-v32
.cb06-city-v32-seo {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
    background:
        radial-gradient(
            circle at 92% 0%,
            rgba(28, 105, 239, .23),
            transparent 31%
        ),
        linear-gradient(
            135deg,
            #061629 0%,
            #0a2240 100%
        ) !important;
}

body.cb06-city-v32
.cb06-city-v32-seo
h2 {
    max-width: 720px;
    color: #ffffff !important;
    font-size: clamp(36px, 4vw, 56px) !important;
    font-weight: 690 !important;
    letter-spacing: -.045em !important;
    line-height: 1.06 !important;
}

body.cb06-city-v32
.cb06-city-v32-seo
p {
    max-width: 750px;
    color: #bdcad9 !important;
    font-size: 15px;
    line-height: 1.75;
}

body.cb06-city-v32
.cb06-city-v32-seo
.cb06-city-v32-seo-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 22px 26px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 19px !important;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(18,100,244,.09),
            transparent 42%
        ),
        #ffffff !important;
    box-shadow:
        0 16px 42px rgba(0,0,0,.13) !important;
}

body.cb06-city-v32
.cb06-city-v32-seo
.cb06-city-v32-seo-card
:where(
    h3,
    h4,
    strong,
    b
) {
    display: block;
    margin: 0 0 7px !important;
    color: var(--city32-ink) !important;
    font-size: 17px !important;
    font-weight: 740 !important;
    letter-spacing: -.015em !important;
    line-height: 1.3 !important;
}

body.cb06-city-v32
.cb06-city-v32-seo
.cb06-city-v32-seo-card
:where(
    p,
    span,
    small
) {
    display: block;
    max-width: none;
    margin: 0 !important;
    color: var(--city32-text) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere;
}

body.cb06-city-v32
.cb06-city-v32-seo
.cb06-city-v32-seo-card
a {
    display: inline-flex;
    width: fit-content;
    margin-top: 8px;
    color: var(--city32-blue) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}

/* ==========================================================
   SECTION BUDGET
   ========================================================== */

body.cb06-city-v32
.cb06-city-v32-budget {
    padding-top: 88px !important;
    padding-bottom: 90px !important;
    background: #ffffff !important;
}

body.cb06-city-v32
.cb06-city-v32-budget-title,
body.cb06-city-v32
.cb06-city-v32-budget-title * {
    padding: 0 !important;
    background: transparent !important;
    color: var(--city32-ink) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.cb06-city-v32
.cb06-city-v32-budget-title {
    max-width: 650px;
    margin-bottom: 20px !important;
    font-size: clamp(37px, 4vw, 56px) !important;
    font-weight: 690 !important;
    letter-spacing: -.045em !important;
    line-height: 1.06 !important;
}

body.cb06-city-v32
.cb06-city-v32-budget
p {
    color: var(--city32-text) !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
}

body.cb06-city-v32
.cb06-city-v32-budget
.cb06-city-v32-price-row {
    min-height: 58px;
    padding: 16px 15px !important;
    border-bottom: 1px solid var(--city32-line) !important;
    color: var(--city32-ink) !important;
}

body.cb06-city-v32
.cb06-city-v32-budget
.cb06-city-v32-price-row
:where(
    span,
    strong,
    p,
    b
) {
    color: var(--city32-ink) !important;
}

/* Bouton des formules */

body.cb06-city-v32
.cb06-city-v32-budget
a[href*="/tarifs"] {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 11px 20px !important;
    border-radius: 12px !important;
    background: var(--city32-blue) !important;
    color: #ffffff !important;
    font-weight: 760 !important;
    text-decoration: none !important;
    box-shadow:
        0 14px 31px
        rgba(18,100,244,.22);
}

/* ==========================================================
   COMMUNES VOISINES
   ========================================================== */

body.cb06-city-v32
.cb06-city-v32-neighbours {
    padding-top: 82px !important;
    padding-bottom: 88px !important;
    background:
        linear-gradient(
            180deg,
            #f4f8fd,
            #f8fbfe
        ) !important;
}

body.cb06-city-v32
.cb06-city-v32-neighbours
h2 {
    color: var(--city32-ink) !important;
    font-size: clamp(35px, 4vw, 52px) !important;
    letter-spacing: -.04em !important;
    line-height: 1.08 !important;
}

body.cb06-city-v32
.cb06-city-v32-neighbours
a {
    color: var(--city32-ink) !important;
    text-decoration: none !important;
}

body.cb06-city-v32
.cb06-city-v32-neighbours
a:hover {
    border-color:
        rgba(18,100,244,.42) !important;
    box-shadow:
        0 17px 42px
        rgba(20,48,82,.09) !important;
}

/* ==========================================================
   FINITIONS GÉNÉRALES
   ========================================================== */

body.cb06-city-v32
main
:where(
    article,
    aside,
    [class*="card"],
    [class*="panel"]
) {
    box-sizing: border-box;
}

body.cb06-city-v32
main
:where(
    h1,
    h2,
    h3
) {
    text-wrap: balance;
}

body.cb06-city-v32
main
:where(
    p,
    li
) {
    text-wrap: pretty;
}

/* Évite les débordements visibles vus sur les captures */

body.cb06-city-v32
.cb06-city-v32-light-box,
body.cb06-city-v32
.cb06-city-v32-light-box * {
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    body.cb06-city-v32
    .cb06-city-v32-seo,
    body.cb06-city-v32
    .cb06-city-v32-budget,
    body.cb06-city-v32
    .cb06-city-v32-neighbours {
        padding-top: 68px !important;
        padding-bottom: 70px !important;
    }
}

@media (max-width: 650px) {
    body.cb06-city-v32
    .cb06-city-v32-seo
    h2,
    body.cb06-city-v32
    .cb06-city-v32-budget-title,
    body.cb06-city-v32
    .cb06-city-v32-neighbours
    h2 {
        font-size: 36px !important;
    }

    body.cb06-city-v32
    .cb06-city-v32-seo
    .cb06-city-v32-seo-card {
        min-height: 0 !important;
        padding: 21px !important;
        border-radius: 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cb06-city-v32 * {
        scroll-behavior: auto !important;
    }
}


/* ===== cb06-city-seo-cards-v33.css ===== */
/* ==========================================================
   WEB.CB06.FR — CARTES SEO PAGES VILLES V33
   ========================================================== */

body.cb06-city-v33 {
    --c33-navy: #06172b;
    --c33-blue: #1264f4;
    --c33-cyan: #6fe5d1;
    --c33-ink: #0b1b31;
    --c33-text: #53657c;
    --c33-line: #dce5ef;
}

/*
 * La section conserve le fond premium foncé.
 */

body.cb06-city-v33
.cb06-city-v33-section {
    padding-top: 88px !important;
    padding-bottom: 88px !important;
    background:
        radial-gradient(
            circle at 92% 4%,
            rgba(35, 111, 255, .25),
            transparent 31%
        ),
        linear-gradient(
            135deg,
            #061629,
            #0a2444
        ) !important;
}

/*
 * Annule les règles V32 problématiques à l’intérieur
 * du nouveau panneau.
 */

body.cb06-city-v33
.cb06-city-v33-panel,
body.cb06-city-v33
.cb06-city-v33-panel * {
    min-width: 0 !important;
    max-width: none !important;
    width: auto;
    overflow: visible;
    text-indent: 0 !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
}

/*
 * Grille 2 × 2 sur ordinateur.
 */

body.cb06-city-v33
.cb06-city-v33-panel {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/*
 * Carte.
 */

body.cb06-city-v33
.cb06-city-v33-card {
    position: relative;
    display: grid !important;
    grid-template-columns: 43px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
    min-height: 172px !important;
    padding: 23px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 19px !important;
    background:
        radial-gradient(
            circle at 105% -10%,
            rgba(18,100,244,.13),
            transparent 40%
        ),
        #ffffff !important;
    color: var(--c33-ink) !important;
    box-shadow:
        0 18px 45px
        rgba(0,0,0,.14) !important;
    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}

body.cb06-city-v33
.cb06-city-v33-card:hover {
    border-color:
        rgba(111,229,209,.65) !important;
    box-shadow:
        0 26px 60px
        rgba(0,0,0,.20) !important;
    transform: translateY(-4px);
}

body.cb06-city-v33
.cb06-city-v33-card::after {
    position: absolute;
    right: -55px;
    bottom: -70px;
    width: 145px;
    height: 145px;
    content: "";
    border: 1px solid rgba(18,100,244,.08);
    border-radius: 50%;
    pointer-events: none;
}

/*
 * Icône.
 */

body.cb06-city-v33
.cb06-city-v33-card__icon {
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    place-items: center !important;
    border-radius: 13px !important;
    background: #edf4ff !important;
    color: var(--c33-blue) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/*
 * Contenu.
 */

body.cb06-city-v33
.cb06-city-v33-card__content {
    position: relative;
    z-index: 2;
    display: block !important;
    width: 100% !important;
}

body.cb06-city-v33
.cb06-city-v33-card__number {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--c33-blue) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body.cb06-city-v33
.cb06-city-v33-card h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--c33-ink) !important;
    font-size: 20px !important;
    font-weight: 730 !important;
    letter-spacing: -.025em !important;
    line-height: 1.18 !important;
    text-shadow: none !important;
}

body.cb06-city-v33
.cb06-city-v33-card p {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--c33-text) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
    text-shadow: none !important;
}

/*
 * Protection forte contre l’ancien texte blanc.
 */

body.cb06-city-v33
.cb06-city-v33-panel
:where(
    h1,
    h2,
    h3,
    h4,
    strong,
    b
) {
    color: var(--c33-ink) !important;
}

body.cb06-city-v33
.cb06-city-v33-panel
:where(
    p,
    span,
    small,
    li
):not(.cb06-city-v33-card__icon)
:not(.cb06-city-v33-card__number) {
    color: var(--c33-text) !important;
}

/*
 * Le titre principal reste blanc.
 */

body.cb06-city-v33
.cb06-city-v33-section__title,
body.cb06-city-v33
.cb06-city-v33-section__title * {
    color: #ffffff !important;
    background: transparent !important;
}

/*
 * Responsive.
 */

@media (max-width: 1150px) {
    body.cb06-city-v33
    .cb06-city-v33-panel {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    body.cb06-city-v33
    .cb06-city-v33-card {
        min-height: 135px !important;
    }
}

@media (max-width: 750px) {
    body.cb06-city-v33
    .cb06-city-v33-section {
        padding-top: 66px !important;
        padding-bottom: 70px !important;
    }

    body.cb06-city-v33
    .cb06-city-v33-card {
        grid-template-columns:
            40px minmax(0, 1fr) !important;
        gap: 14px !important;
        min-height: 0 !important;
        padding: 20px !important;
        border-radius: 16px !important;
    }

    body.cb06-city-v33
    .cb06-city-v33-card__icon {
        width: 39px !important;
        height: 39px !important;
    }

    body.cb06-city-v33
    .cb06-city-v33-card h3 {
        font-size: 18px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cb06-city-v33
    .cb06-city-v33-card {
        transition: none;
    }
}


/* ===== cb06-secteurs-hero-v34.css ===== */
/* ==========================================================
   WEB.CB06.FR — HERO SECTEURS PREMIUM V34
   ========================================================== */

body.cb06-secteurs-v34 {
    --sv34-navy: #07182d;
    --sv34-blue: #1264f4;
    --sv34-cyan: #6fe5d1;
    --sv34-white: #ffffff;
    --sv34-ink: #0b1b31;
    --sv34-text: #52657d;
    --sv34-line: rgba(255, 255, 255, .12);
}

body.cb06-secteurs-v34
.cb06-secteurs-v34-panel,
body.cb06-secteurs-v34
.cb06-secteurs-v34-panel * {
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

/*
 * Panneau principal.
 */

body.cb06-secteurs-v34
.cb06-secteurs-v34-panel {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-height: 430px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 27px !important;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(41, 119, 255, .22),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .095),
            rgba(255, 255, 255, .035)
        ) !important;
    color: #ffffff !important;
    box-shadow:
        0 35px 90px
        rgba(0, 0, 0, .24) !important;
    backdrop-filter: blur(18px);
}

body.cb06-secteurs-v34
.cb06-secteurs-v34-panel::before,
body.cb06-secteurs-v34
.cb06-secteurs-v34-panel::after {
    display: none !important;
    content: none !important;
}

/*
 * En-tête.
 */

.cb06-secteurs-v34-panel__head {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    padding: 21px 24px;
    border-bottom: 1px solid var(--sv34-line);
}

.cb06-secteurs-v34-panel__head > div {
    display: grid;
    gap: 5px;
}

.cb06-secteurs-v34-panel__head span {
    color: var(--sv34-cyan) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.cb06-secteurs-v34-panel__head strong {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 720 !important;
    line-height: 1.35 !important;
}

.cb06-secteurs-v34-panel__head i {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--sv34-cyan);
    box-shadow:
        0 0 0 6px
        rgba(111, 229, 209, .13);
}

/*
 * Cœur du système.
 */

.cb06-secteurs-v34-panel__core {
    margin: 20px 22px 14px;
    padding: 19px 20px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 17px;
    background:
        linear-gradient(
            135deg,
            rgba(18, 100, 244, .25),
            rgba(18, 100, 244, .08)
        );
}

.cb06-secteurs-v34-panel__core-label {
    display: block;
    margin-bottom: 7px;
    color: #8fb8ff !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.cb06-secteurs-v34-panel__core strong {
    display: block;
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 720 !important;
    letter-spacing: -.02em !important;
    line-height: 1.3 !important;
}

.cb06-secteurs-v34-panel__core p {
    margin: 8px 0 0 !important;
    color: #aebed0 !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

/*
 * Quatre piliers.
 */

.cb06-secteurs-v34-panel__grid {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
    padding: 0 22px 19px;
}

.cb06-secteurs-v34-panel__grid article {
    display: grid !important;
    grid-template-columns:
        31px minmax(0, 1fr) !important;
    gap: 11px !important;
    align-items: start !important;
    min-height: 91px !important;
    padding: 14px !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .055) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transition:
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.cb06-secteurs-v34-panel__grid article:hover {
    border-color:
        rgba(111, 229, 209, .37) !important;
    background:
        rgba(255, 255, 255, .085) !important;
    transform: translateY(-2px);
}

.cb06-secteurs-v34-panel__grid
article > span {
    display: grid !important;
    width: 30px !important;
    height: 30px !important;
    place-items: center !important;
    border-radius: 9px !important;
    background:
        rgba(18, 100, 244, .27) !important;
    color: #8fb8ff !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

.cb06-secteurs-v34-panel__grid
article > div {
    display: block !important;
    width: 100% !important;
}

.cb06-secteurs-v34-panel__grid h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 740 !important;
    letter-spacing: -.01em !important;
    line-height: 1.25 !important;
}

.cb06-secteurs-v34-panel__grid p {
    display: block !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #91a5bc !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

/*
 * Pied du panneau.
 */

.cb06-secteurs-v34-panel__foot {
    display: flex;
    gap: 11px;
    align-items: center;
    padding: 16px 23px;
    border-top: 1px solid var(--sv34-line);
    background: rgba(0, 0, 0, .08);
}

.cb06-secteurs-v34-panel__foot > span {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--sv34-cyan);
    box-shadow:
        0 0 0 5px
        rgba(111, 229, 209, .11);
}

.cb06-secteurs-v34-panel__foot p {
    margin: 0 !important;
    color: #9fb1c5 !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

/*
 * Protection contre les anciens styles du hero.
 */

body.cb06-secteurs-v34
.cb06-secteurs-v34-panel
:where(
    h1,
    h2,
    h3,
    h4,
    strong,
    p,
    span,
    div,
    article
) {
    position: relative;
    inset: auto;
    float: none;
}

/*
 * Responsive.
 */

@media (max-width: 1080px) {
    body.cb06-secteurs-v34
    .cb06-secteurs-v34-panel {
        max-width: 760px !important;
        min-height: 0 !important;
    }
}

@media (max-width: 620px) {
    body.cb06-secteurs-v34
    .cb06-secteurs-v34-panel {
        border-radius: 21px !important;
    }

    .cb06-secteurs-v34-panel__grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
        padding-right: 18px;
        padding-left: 18px;
    }

    .cb06-secteurs-v34-panel__core {
        margin-right: 18px;
        margin-left: 18px;
    }

    .cb06-secteurs-v34-panel__grid article {
        min-height: 80px !important;
    }

    .cb06-secteurs-v34-panel__head,
    .cb06-secteurs-v34-panel__foot {
        padding-right: 19px;
        padding-left: 19px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cb06-secteurs-v34-panel__grid article {
        transition: none;
    }
}


/* ===== cb06-agence-premium-v35.css ===== */
/* ==========================================================
   WEB.CB06.FR — PAGE AGENCE PREMIUM V35
   ========================================================== */

body.cb06-agency-v35 {
    --av35-navy: #07182d;
    --av35-blue: #1264f4;
    --av35-blue-dark: #0b4fc7;
    --av35-cyan: #70e4d1;
    --av35-ink: #0b1b31;
    --av35-text: #52657d;
    --av35-muted: #74869c;
    --av35-line: #dce5ef;
    --av35-soft: #f4f8fd;
}

body.cb06-agency-v35
.cb06-agency-v35-profile,
body.cb06-agency-v35
.cb06-agency-v35-profile * {
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

/* ==========================================================
   CARTE DE PRÉSENTATION
   ========================================================== */

body.cb06-agency-v35
.cb06-agency-v35-profile {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    width: 100% !important;
    min-height: 390px !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border:
        1px solid rgba(255, 255, 255, .15) !important;
    border-radius: 27px !important;
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(45, 122, 255, .24),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .105),
            rgba(255, 255, 255, .045)
        ) !important;
    color: #ffffff !important;
    box-shadow:
        0 34px 90px
        rgba(0, 0, 0, .24) !important;
    backdrop-filter: blur(18px);
}

body.cb06-agency-v35
.cb06-agency-v35-profile::before {
    position: absolute;
    right: -100px;
    bottom: -155px;
    width: 330px;
    height: 330px;
    content: "";
    border:
        1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    box-shadow:
        0 0 0 55px
        rgba(255, 255, 255, .018);
    pointer-events: none;
}

.cb06-agency-v35-profile__top {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 20px 23px;
    border-bottom:
        1px solid rgba(255, 255, 255, .11);
}

.cb06-agency-v35-profile__top > div {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: center;
}

.cb06-agency-v35-profile__eyebrow {
    color: var(--av35-cyan) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.cb06-agency-v35-profile__availability {
    display: inline-flex !important;
    gap: 7px;
    align-items: center;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    background:
        rgba(112, 228, 209, .10) !important;
    color: #a9f2e5 !important;
    font-size: 9px !important;
    font-weight: 750 !important;
}

.cb06-agency-v35-profile__availability::before {
    width: 6px;
    height: 6px;
    content: "";
    border-radius: 50%;
    background: var(--av35-cyan);
    box-shadow:
        0 0 0 4px
        rgba(112, 228, 209, .11);
}

.cb06-agency-v35-profile__top > i {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--av35-cyan);
    box-shadow:
        0 0 0 6px
        rgba(112, 228, 209, .12);
}

.cb06-agency-v35-profile__identity {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns:
        112px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: center !important;
    padding: 27px 25px 23px !important;
}

.cb06-agency-v35-profile__avatar {
    position: relative;
    display: grid !important;
    width: 108px !important;
    height: 122px !important;
    place-items: center !important;
    overflow: hidden !important;
    border:
        1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 23px !important;
    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(255, 255, 255, .24),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #2471fa,
            #163c90
        ) !important;
    box-shadow:
        0 22px 48px
        rgba(4, 18, 45, .32);
}

.cb06-agency-v35-profile__avatar > span {
    position: relative;
    z-index: 2;
    color: #ffffff !important;
    font-size: 31px !important;
    font-weight: 900 !important;
    letter-spacing: -.04em !important;
}

.cb06-agency-v35-profile__avatar > i {
    position: absolute;
    right: -37px;
    bottom: -48px;
    width: 105px;
    height: 105px;
    border:
        1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
}

.cb06-agency-v35-profile__name {
    display: block !important;
    width: 100% !important;
}

.cb06-agency-v35-profile__name > span {
    display: block !important;
    margin-bottom: 7px !important;
    color: #91a9c3 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}

.cb06-agency-v35-profile__name h2 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: clamp(24px, 2.4vw, 31px) !important;
    font-weight: 710 !important;
    letter-spacing: -.035em !important;
    line-height: 1.08 !important;
}

.cb06-agency-v35-profile__name p {
    display: block !important;
    margin: 12px 0 0 !important;
    color: #b8c7d8 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

.cb06-agency-v35-profile__skills {
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 0 25px 21px !important;
}

.cb06-agency-v35-profile__skills > span {
    display: inline-flex !important;
    min-height: 29px !important;
    align-items: center !important;
    padding: 6px 10px !important;
    border:
        1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 999px !important;
    background:
        rgba(255, 255, 255, .055) !important;
    color: #d1dbe6 !important;
    font-size: 9px !important;
    font-weight: 720 !important;
}

.cb06-agency-v35-profile__commitments {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;
    gap: 1px !important;
    margin-top: auto !important;
    border-top:
        1px solid rgba(255, 255, 255, .10);
    border-bottom:
        1px solid rgba(255, 255, 255, .10);
    background:
        rgba(255, 255, 255, .08);
}

.cb06-agency-v35-profile__commitments > div {
    display: grid !important;
    gap: 4px !important;
    padding: 15px 22px !important;
    background:
        rgba(2, 17, 35, .25) !important;
}

.cb06-agency-v35-profile__commitments
> div + div {
    border-left:
        1px solid rgba(255, 255, 255, .10);
}

.cb06-agency-v35-profile__commitments strong {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 740 !important;
}

.cb06-agency-v35-profile__commitments span {
    color: #8fa4bb !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
}

.cb06-agency-v35-profile__actions {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 17px 22px 21px !important;
}

.cb06-agency-v35-profile__actions a {
    display: inline-flex !important;
    min-height: 45px !important;
    gap: 12px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 15px !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    font-weight: 780 !important;
    text-decoration: none !important;
}

.cb06-agency-v35-profile__primary {
    justify-content:
        space-between !important;
    border:
        1px solid var(--av35-blue) !important;
    background:
        var(--av35-blue) !important;
    color: #ffffff !important;
    box-shadow:
        0 14px 30px
        rgba(18, 100, 244, .23);
}

.cb06-agency-v35-profile__phone {
    border:
        1px solid rgba(255, 255, 255, .13) !important;
    background:
        rgba(255, 255, 255, .065) !important;
    color: #ffffff !important;
}

/* ==========================================================
   SECTION PROXIMITÉ — CORRECTION DU BLANC SUR BLANC
   ========================================================== */

body.cb06-agency-v35
.cb06-agency-v35-proximity {
    padding-top: 88px !important;
    padding-bottom: 92px !important;
    background:
        radial-gradient(
            circle at 95% 0%,
            rgba(18, 100, 244, .07),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            #f5f8fc,
            #f8fbfe
        ) !important;
    color: var(--av35-ink) !important;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity
::selection {
    background: var(--av35-blue);
    color: #ffffff;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__eyebrow {
    display: inline-flex !important;
    gap: 9px !important;
    align-items: center !important;
    color: var(--av35-blue) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__eyebrow::before {
    width: 24px;
    height: 2px;
    content: "";
    border-radius: 99px;
    background: currentColor;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__title,
body.cb06-agency-v35
.cb06-agency-v35-proximity__title *,
body.cb06-agency-v35
.cb06-agency-v35-text-reset {
    padding: 0 !important;
    background: transparent !important;
    color: var(--av35-ink) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__title {
    max-width: 660px !important;
    margin-top: 17px !important;
    color: var(--av35-ink) !important;
    font-size: clamp(36px, 4vw, 55px) !important;
    font-weight: 690 !important;
    letter-spacing: -.045em !important;
    line-height: 1.06 !important;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__intro {
    max-width: 680px !important;
    margin-top: 20px !important;
    color: var(--av35-text) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity
:where(
    h1,
    h2,
    h3,
    h4,
    strong,
    b
) {
    color: var(--av35-ink) !important;
    text-shadow: none !important;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity
:where(
    p,
    span,
    small
):not(
    .cb06-agency-v35-proximity__eyebrow
) {
    color: var(--av35-text) !important;
    text-shadow: none !important;
}

/* Cartes de proximité */

body.cb06-agency-v35
.cb06-agency-v35-proximity__card {
    position: relative !important;
    display: flex !important;
    min-width: 0 !important;
    min-height: 136px !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 25px 24px 23px !important;
    overflow: hidden !important;
    border:
        1px solid var(--av35-line) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(
            circle at 110% -10%,
            rgba(18, 100, 244, .10),
            transparent 38%
        ),
        #ffffff !important;
    color: var(--av35-ink) !important;
    box-shadow:
        0 14px 40px
        rgba(18, 45, 80, .055) !important;
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__card::before {
    display: block;
    margin-bottom: 12px;
    content:
        attr(data-agency-card-number);
    color: var(--av35-blue);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .13em;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__card::after {
    position: absolute;
    right: -48px;
    bottom: -65px;
    width: 135px;
    height: 135px;
    content: "";
    border:
        1px solid rgba(18, 100, 244, .07);
    border-radius: 50%;
    pointer-events: none;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__card:hover {
    border-color:
        rgba(18, 100, 244, .38) !important;
    box-shadow:
        0 23px 55px
        rgba(18, 45, 80, .11) !important;
    transform: translateY(-4px);
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__card-title {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--av35-ink) !important;
    font-size: 21px !important;
    font-weight: 720 !important;
    letter-spacing: -.025em !important;
    line-height: 1.2 !important;
}

body.cb06-agency-v35
.cb06-agency-v35-proximity__card-text {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 9px 0 0 !important;
    color: var(--av35-text) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

/* Responsive */

@media (max-width: 1080px) {
    body.cb06-agency-v35
    .cb06-agency-v35-profile {
        max-width: 760px !important;
    }
}

@media (max-width: 680px) {
    body.cb06-agency-v35
    .cb06-agency-v35-profile {
        min-height: 0 !important;
        border-radius: 21px !important;
    }

    .cb06-agency-v35-profile__identity {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    .cb06-agency-v35-profile__avatar {
        width: 94px !important;
        height: 104px !important;
    }

    .cb06-agency-v35-profile__commitments,
    .cb06-agency-v35-profile__actions {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    .cb06-agency-v35-profile__commitments
    > div + div {
        border-top:
            1px solid rgba(255, 255, 255, .10);
        border-left: 0;
    }

    body.cb06-agency-v35
    .cb06-agency-v35-proximity {
        padding-top: 65px !important;
        padding-bottom: 70px !important;
    }

    body.cb06-agency-v35
    .cb06-agency-v35-proximity__title {
        font-size: 37px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cb06-agency-v35
    .cb06-agency-v35-proximity__card {
        transition: none;
    }
}


/* ===== cb06-vitrine-prix-v36.css ===== */
/* Prix site vitrine — V36 */

body.cb06-vitrine-v36
.cb06-vitrine-v36-budget-row {
    align-items: center !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price,
body.cb06-vitrine-v36
.cb06-vitrine-v36-price * {
    box-sizing: border-box;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price {
    display: grid !important;
    width: min(100%, 285px) !important;
    min-width: 230px !important;
    gap: 8px !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: right !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price__monthly,
body.cb06-vitrine-v36
.cb06-vitrine-v36-price__launch {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
    align-items: center !important;
    width: 100% !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price__monthly small {
    color: #a8b9cc !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price__monthly strong {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price__monthly em {
    color: #c4d1df !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 650 !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price__launch {
    padding-top: 8px !important;
    border-top:
        1px solid rgba(255,255,255,.10) !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price__launch small {
    color: #8fa4bb !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

body.cb06-vitrine-v36
.cb06-vitrine-v36-price__launch strong {
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 9px !important;
    border:
        1px solid rgba(111,229,209,.20) !important;
    border-radius: 999px !important;
    background:
        rgba(111,229,209,.09) !important;
    color: #9cf0df !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

@media (max-width: 650px) {
    body.cb06-vitrine-v36
    .cb06-vitrine-v36-price {
        width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        text-align: left !important;
    }

    body.cb06-vitrine-v36
    .cb06-vitrine-v36-price__monthly,
    body.cb06-vitrine-v36
    .cb06-vitrine-v36-price__launch {
        align-items: flex-start !important;
    }
}


/* ===== cb06-ecommerce-prix-v37.css ===== */
/* Prix e-commerce — WEB.CB06.FR V37 */

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-budget-row {
    align-items: center !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price,
body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price * {
    box-sizing: border-box;
    min-width: 0;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price {
    display: grid !important;
    width: min(100%, 300px) !important;
    min-width: 235px !important;
    gap: 8px !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: right !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__monthly,
body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__launch {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    gap: 16px !important;
    align-items: center !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__monthly small {
    color: #a8b9cc !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__monthly strong {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__monthly em {
    color: #c4d1df !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 650 !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__launch {
    padding-top: 8px !important;
    border-top:
        1px solid rgba(255,255,255,.10) !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__launch small {
    color: #8fa4bb !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

body.cb06-ecommerce-v37
.cb06-ecommerce-v37-price__launch strong {
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 9px !important;
    border:
        1px solid rgba(111,229,209,.20) !important;
    border-radius: 999px !important;
    background:
        rgba(111,229,209,.09) !important;
    color: #9cf0df !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

@media (max-width: 650px) {
    body.cb06-ecommerce-v37
    .cb06-ecommerce-v37-price {
        width: 100% !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        text-align: left !important;
    }

    body.cb06-ecommerce-v37
    .cb06-ecommerce-v37-price__monthly,
    body.cb06-ecommerce-v37
    .cb06-ecommerce-v37-price__launch {
        align-items: flex-start !important;
    }
}


/* ===== cb06-department-pages-v38.css ===== */
/* ==========================================================
   WEB.CB06.FR — PAGES DÉPARTEMENTS V38
   ========================================================== */

body.cb06-dept-v38 {
    --dv38-blue: #1264f4;
    --dv38-ink: #0b1b31;
    --dv38-text: #52657d;
    --dv38-muted: #74869c;
    --dv38-line: #dce5ef;
    --dv38-soft: #f5f8fc;
}

body.cb06-dept-v38
.cb06-dept-v38-section,
body.cb06-dept-v38
.cb06-dept-v38-section * {
    box-sizing: border-box;
    min-width: 0;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

body.cb06-dept-v38
.cb06-dept-v38-section {
    padding-top: 88px !important;
    padding-bottom: 92px !important;
    background:
        radial-gradient(
            circle at 96% 2%,
            rgba(18, 100, 244, .065),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #ffffff,
            #fbfdff
        ) !important;
    color: var(--dv38-ink) !important;
}

body.cb06-dept-v38
.cb06-dept-v38-section ::selection {
    background: var(--dv38-blue);
    color: #ffffff;
}

/* Titre principal */

body.cb06-dept-v38
.cb06-dept-v38-title,
body.cb06-dept-v38
.cb06-dept-v38-title *,
body.cb06-dept-v38
.cb06-dept-v38-title-reset {
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--dv38-ink) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

body.cb06-dept-v38
.cb06-dept-v38-title {
    max-width: 650px !important;
    margin: 16px 0 0 !important;
    color: var(--dv38-ink) !important;
    font-size: clamp(38px, 4.2vw, 59px) !important;
    font-weight: 690 !important;
    letter-spacing: -.048em !important;
    line-height: 1.04 !important;
    text-wrap: balance;
}

/* Surtitre */

body.cb06-dept-v38
.cb06-dept-v38-eyebrow {
    display: inline-flex !important;
    gap: 9px !important;
    align-items: center !important;
    color: var(--dv38-blue) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.cb06-dept-v38
.cb06-dept-v38-eyebrow::before {
    width: 25px;
    height: 2px;
    content: "";
    border-radius: 99px;
    background: currentColor;
}

/* Paragraphe sous le titre */

body.cb06-dept-v38
.cb06-dept-v38-intro {
    max-width: 680px !important;
    margin: 21px 0 0 !important;
    color: var(--dv38-text) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

/*
 * Sécurité contre le blanc sur blanc dans toute la section.
 */

body.cb06-dept-v38
.cb06-dept-v38-section
:where(
    h1,
    h2,
    h3,
    h4,
    strong,
    b
):not(
    .cb06-dept-v38-eyebrow
) {
    color: var(--dv38-ink) !important;
}

body.cb06-dept-v38
.cb06-dept-v38-section
:where(
    p,
    span,
    small
):not(
    .cb06-dept-v38-eyebrow
):not(
    .cb06-dept-v38-card__label
) {
    color: var(--dv38-text) !important;
}

/* Cartes Stratégie / Production / Visibilité */

body.cb06-dept-v38
.cb06-dept-v38-card {
    position: relative !important;
    display: flex !important;
    min-width: 0 !important;
    min-height: 230px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 26px 23px 24px !important;
    overflow: hidden !important;
    border: 1px solid var(--dv38-line) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(
            circle at 110% -10%,
            rgba(18, 100, 244, .10),
            transparent 39%
        ),
        #ffffff !important;
    color: var(--dv38-ink) !important;
    box-shadow:
        0 15px 42px
        rgba(18, 45, 80, .055) !important;
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

body.cb06-dept-v38
.cb06-dept-v38-card::before {
    display: block;
    margin-bottom: 17px;
    content: attr(data-dept-card-number);
    color: #a9b8c9;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .13em;
}

body.cb06-dept-v38
.cb06-dept-v38-card::after {
    position: absolute;
    right: -55px;
    bottom: -75px;
    width: 145px;
    height: 145px;
    content: "";
    border: 1px solid rgba(18, 100, 244, .07);
    border-radius: 50%;
    pointer-events: none;
}

body.cb06-dept-v38
.cb06-dept-v38-card:hover {
    border-color:
        rgba(18, 100, 244, .40) !important;
    box-shadow:
        0 24px 58px
        rgba(18, 45, 80, .11) !important;
    transform: translateY(-4px);
}

body.cb06-dept-v38
.cb06-dept-v38-card__label {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 0 0 19px !important;
    color: var(--dv38-blue) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.cb06-dept-v38
.cb06-dept-v38-card__title {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--dv38-ink) !important;
    font-size: 20px !important;
    font-weight: 720 !important;
    letter-spacing: -.025em !important;
    line-height: 1.25 !important;
}

body.cb06-dept-v38
.cb06-dept-v38-card__text {
    position: relative;
    z-index: 2;
    display: block !important;
    margin: 14px 0 0 !important;
    color: var(--dv38-text) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

/* Bouton du bloc */

body.cb06-dept-v38
.cb06-dept-v38-section
a[href*="/contact"],
body.cb06-dept-v38
.cb06-dept-v38-section
a[href*="/audit"] {
    color: #ffffff !important;
}

/* Mobile */

@media (max-width: 900px) {
    body.cb06-dept-v38
    .cb06-dept-v38-section {
        padding-top: 68px !important;
        padding-bottom: 72px !important;
    }

    body.cb06-dept-v38
    .cb06-dept-v38-title {
        max-width: 760px !important;
    }
}

@media (max-width: 650px) {
    body.cb06-dept-v38
    .cb06-dept-v38-title {
        font-size: 37px !important;
    }

    body.cb06-dept-v38
    .cb06-dept-v38-card {
        min-height: 0 !important;
        padding: 22px !important;
        border-radius: 17px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cb06-dept-v38
    .cb06-dept-v38-card {
        transition: none;
    }
}


/* ===== cb06-index-coordonnees-v40.css ===== */
/* ==========================================================
   WEB.CB06.FR — COORDONNÉES ACCUEIL V40
   ========================================================== */

body.cb06-index-v40
.cb06-index-v40-contacts,
body.cb06-index-v40
.cb06-index-v40-contacts * {
    box-sizing: border-box;
    min-width: 0;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
    text-indent: 0 !important;
    text-shadow: none !important;
}

body.cb06-index-v40
.cb06-index-v40-contacts {
    display: grid !important;
    gap: 11px !important;
    width: min(100%, 430px) !important;
    margin-top: 27px !important;
}

body.cb06-index-v40
.cb06-index-v40-contact {
    display: grid !important;
    grid-template-columns:
        42px minmax(0, 1fr) 31px !important;
    gap: 13px !important;
    align-items: center !important;
    min-height: 65px !important;
    padding: 10px 12px !important;
    border:
        1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 15px !important;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .075),
            rgba(255, 255, 255, .035)
        ) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    box-shadow:
        0 12px 30px
        rgba(0, 0, 0, .10) !important;
    transition:
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

body.cb06-index-v40
.cb06-index-v40-contact:hover {
    border-color:
        rgba(111, 229, 209, .42) !important;
    background:
        rgba(255, 255, 255, .095) !important;
    transform: translateX(4px);
}

body.cb06-index-v40
.cb06-index-v40-contact__icon {
    display: grid !important;
    width: 41px !important;
    height: 41px !important;
    place-items: center !important;
    border-radius: 12px !important;
    background:
        rgba(111, 229, 209, .11) !important;
    color: #72e5d1 !important;
}

body.cb06-index-v40
.cb06-index-v40-contact__icon svg {
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 1.7 !important;
}

body.cb06-index-v40
.cb06-index-v40-contact__copy {
    display: grid !important;
    gap: 4px !important;
    width: 100% !important;
}

body.cb06-index-v40
.cb06-index-v40-contact__copy small {
    display: block !important;
    color: #91a7bf !important;
    font-size: 10px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
}

body.cb06-index-v40
.cb06-index-v40-contact__copy strong {
    display: block !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 760 !important;
    line-height: 1.3 !important;
}

body.cb06-index-v40
.cb06-index-v40-contact__arrow {
    display: grid !important;
    width: 30px !important;
    height: 30px !important;
    place-items: center !important;
    border:
        1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 10px !important;
    color: #72e5d1 !important;
    font-size: 13px !important;
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease;
}

body.cb06-index-v40
.cb06-index-v40-contact:hover
.cb06-index-v40-contact__arrow {
    border-color: #72e5d1 !important;
    background: #72e5d1 !important;
    color: #07182d !important;
}

@media (max-width: 600px) {
    body.cb06-index-v40
    .cb06-index-v40-contacts {
        width: 100% !important;
    }

    body.cb06-index-v40
    .cb06-index-v40-contact {
        grid-template-columns:
            39px minmax(0, 1fr) 29px !important;
        gap: 11px !important;
        min-height: 62px !important;
    }

    body.cb06-index-v40
    .cb06-index-v40-contact__icon {
        width: 38px !important;
        height: 38px !important;
    }

    body.cb06-index-v40
    .cb06-index-v40-contact__copy strong {
        font-size: 13px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cb06-index-v40
    .cb06-index-v40-contact,
    body.cb06-index-v40
    .cb06-index-v40-contact__arrow {
        transition: none;
    }
}


/* ===== cb06-index-coordonnees-v40b.css ===== */
/* Suppression des anciens doublons téléphone/email — V40B */

body.cb06-index-v40b
.cb06-index-v40b-hidden,
body.cb06-index-v40b
.cb06-index-v40b-hidden[hidden],
body.cb06-index-v40
main
[hidden][aria-hidden="true"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* ===== cb06-expertises-hover-v41.css ===== */
/* ==========================================================
   WEB.CB06.FR — EXPERTISES AU SURVOL V41
   ========================================================== */

@media (
    min-width: 981px
) and (
    hover: hover
) and (
    pointer: fine
) {
    .cb06-expertises-v41-trigger {
        position: relative;
        z-index: 10003;
    }

    .cb06-expertises-v41-menu {
        z-index: 10002 !important;
        transform-origin: top center;
        transition:
            opacity .18s ease,
            visibility .18s ease,
            transform .18s ease !important;
    }

    /*
     * État ouvert normalisé. Il complète le script
     * existant sans reconstruire le méga-menu.
     */
    body.cb06-expertises-v41-open
    .cb06-expertises-v41-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform:
            translate3d(0, 0, 0) !important;
    }

    body.cb06-expertises-v41-open
    .cb06-expertises-v41-trigger {
        color: #1264f4 !important;
    }

    /*
     * Petit pont invisible pour éviter une fermeture
     * lorsque la souris passe du bouton au panneau.
     */
    body.cb06-expertises-v41-open
    .cb06-expertises-v41-trigger::after {
        position: absolute;
        top: 100%;
        right: -18px;
        left: -18px;
        height: 28px;
        content: "";
        background: transparent;
    }
}

/*
 * Sur mobile et tablette tactile, aucun forçage :
 * le clic existant continue de fonctionner normalement.
 */
@media (
    max-width: 980px
), (
    hover: none
), (
    pointer: coarse
) {
    body.cb06-expertises-v41-open
    .cb06-expertises-v41-menu {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cb06-expertises-v41-menu {
        transition: none !important;
    }
}

