@charset "UTF-8";
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    /* added line */
    border: 0;
}

@media print {
    * {
        background: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
        filter: none !important;
        -ms-filter: none !important;
    }

    /* Black prints faster: h5bp.com/s */
    a,
a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
        content: "";
    }

    /* Don't show links for images,
    or javascript/internal links */
    pre,
blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    /* h5bp.com/t */
    tr,
img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }
    p,
h2,
h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
h3 {
        page-break-after: avoid;
    }
}
html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-size: 1em;
    line-height: 1.4;
}

*,
::before,
::after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::-moz-selection {
    color: #fff;
    text-shadow: none;
    background: #000;
}

::selection {
    color: #fff;
    text-shadow: none;
    background: #000;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

audio:not([controls]) {
    display: none;
}

[hidden] {
    display: none;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    display: inherit;
    font-size: inherit;
    font-weight: inherit;
}

a {
    cursor: pointer;
    text-decoration: none;
}
a:hover, a:active, a:focus {
    outline: none;
}

bbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

dfn {
    font-style: italic;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cbc1b3;
    margin: 1.5em 0;
    padding: 0;
}

ins {
    background: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background: #ff0;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

pre,
code,
kbd,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

pre {
    white-space: pre-wrap;
    word-wrap: break-word;
}

q {
    quotes: none;
}

q:before,
q:after {
    content: "";
}

small {
    font-size: 85%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

dd {
    margin: 0 0 0 40px;
}

img {
    border: 0;
    -ms-interpolation-mode: bicubic;
    vertical-align: middle;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td {
    vertical-align: top;
}

/* form reset */
form {
    margin: 0;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

label {
    cursor: pointer;
}

legend {
    border: 0;
    *margin-left: -7px;
    padding: 0;
    white-space: normal;
}

button,
input,
select,
textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    *vertical-align: middle;
    outline: none;
}

button,
input {
    line-height: normal;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
    cursor: pointer;
    -webkit-appearance: button;
    *overflow: visible;
}

button[disabled],
input[disabled] {
    cursor: default;
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0;
    *width: 13px;
    *height: 13px;
}

input[type=search] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

input:invalid,
textarea:invalid {
    background-color: #f0dddd;
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

.btn {
    --btn-ink: var(--color-black);
    --felt-radius: 255px 28px 225px 28px / 28px 225px 28px 255px;
    --felt-shadow-x: 0.18rem;
    --felt-shadow-y: 0.22rem;
    --felt-border: 0.28rem;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    min-height: 4.8rem;
    padding: 1.2rem 2.4rem;
    border: var(--felt-border) solid var(--btn-ink);
    border-radius: var(--felt-radius);
    font-family: var(--font-fontName);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    box-shadow: var(--felt-shadow-x) var(--felt-shadow-y) 0 rgba(17, 17, 17, 0.18);
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.btn::after {
    content: "→";
}
.btn--arrow-down::after {
    content: "↓";
}
.btn:hover {
    transform: translateY(-2px) rotate(-0.4deg);
    box-shadow: calc(var(--felt-shadow-x) + 0.04rem) calc(var(--felt-shadow-y) + 0.08rem) 0 rgba(17, 17, 17, 0.22);
}
.btn:active {
    transform: translateY(0) rotate(0.2deg);
    box-shadow: 0.1rem 0.12rem 0 rgba(17, 17, 17, 0.16);
}

.btn--primary {
    --felt-radius: 240px 35px 210px 22px / 30px 220px 40px 245px;
    --felt-shadow-x: 0.14rem;
    --felt-shadow-y: 0.26rem;
    background: var(--color-yellow);
    color: var(--color-black);
}
.btn--primary:hover {
    background: var(--color-yellow-dark);
    color: var(--color-black);
}

.btn--outline,
.btn--outline-dark {
    --felt-radius: 220px 18px 245px 32px / 40px 235px 20px 215px;
    --felt-shadow-x: 0.22rem;
    --felt-shadow-y: 0.16rem;
    --felt-border: 0.26rem;
    background: transparent;
    border-color: var(--btn-ink);
    color: var(--color-black);
}

.btn--dark {
    --felt-radius: 250px 22px 230px 40px / 25px 245px 35px 220px;
    --felt-shadow-x: 0.2rem;
    --felt-shadow-y: 0.25rem;
    background: var(--color-black);
    color: var(--color-white);
    border-color: var(--color-black);
    box-shadow: var(--felt-shadow-x) var(--felt-shadow-y) 0 var(--color-yellow);
}
.btn--dark:hover {
    color: var(--color-white);
    box-shadow: calc(var(--felt-shadow-x) + 0.06rem) calc(var(--felt-shadow-y) + 0.07rem) 0 var(--color-yellow);
}
.btn--dark:active {
    box-shadow: 0.12rem 0.14rem 0 var(--color-yellow);
}

.btn--sm {
    --felt-radius: 230px 20px 215px 28px / 22px 220px 18px 235px;
    --felt-border: 0.24rem;
    min-height: 4rem;
    padding: 0.8rem 1.6rem;
    font-size: 1.1rem;
}

.home-hero__actions .btn:nth-child(2),
.service-hero__actions .btn:nth-child(2),
.secteur-hero__actions .btn:nth-child(2) {
    --felt-radius: 235px 42px 215px 18px / 28px 210px 45px 240px;
}

.home-hero__actions .btn:nth-child(3),
.service-hero__actions .btn:nth-child(3),
.secteur-hero__actions .btn:nth-child(3) {
    --felt-radius: 210px 25px 250px 30px / 35px 240px 22px 225px;
}

.home-service-card__icon,
.home-method__number,
.service-method__number,
.service-benefits__icon,
.service-audience__icon,
.secteur-hero__benefit-icon,
.secteur-pain__icon,
.secteur-solution__usp > span,
.secteur-related__icon,
.services-list__index,
.secteurs-list__index {
    --felt-radius: 62% 42% 58% 48% / 48% 58% 42% 62%;
    --felt-shadow-x: 0.12rem;
    --felt-shadow-y: 0.14rem;
    --felt-border: 0.22rem;
    --felt-rotate: -1.2deg;
    border: var(--felt-border) solid var(--color-black);
    border-radius: var(--felt-radius);
    box-shadow: var(--felt-shadow-x) var(--felt-shadow-y) 0 rgba(17, 17, 17, 0.2);
    transform: rotate(var(--felt-rotate));
}

.home-service-card__icon {
    --felt-radius: 68% 40% 55% 48% / 45% 58% 42% 65%;
    --felt-rotate: -1.5deg;
}

.home-method__number {
    --felt-radius: 48% 60% 42% 58% / 55% 40% 62% 45%;
    --felt-rotate: 1.8deg;
    --felt-border: 0.2rem;
}

.service-method__number {
    --felt-radius: 55% 45% 62% 40% / 42% 60% 48% 58%;
    --felt-rotate: -0.8deg;
}

.service-benefits__icon {
    --felt-radius: 40% 62% 50% 55% / 58% 42% 65% 45%;
    --felt-rotate: 2.2deg;
    --felt-shadow-x: 0.16rem;
}

.service-audience__icon {
    --felt-radius: 58% 48% 45% 60% / 50% 55% 40% 52%;
    --felt-rotate: -2deg;
}

.secteur-hero__benefit-icon {
    --felt-radius: 45% 58% 52% 42% / 60% 45% 55% 48%;
    --felt-rotate: 1.1deg;
}

.secteur-pain__icon {
    --felt-radius: 65% 38% 48% 55% / 42% 62% 45% 58%;
    --felt-rotate: -1.6deg;
    --felt-border: 0.24rem;
}

.secteur-solution__usp > span {
    --felt-radius: 42% 55% 60% 48% / 55% 48% 42% 60%;
    --felt-rotate: 0.9deg;
}

.secteur-related__icon {
    --felt-radius: 50% 65% 40% 52% / 48% 40% 60% 55%;
    --felt-rotate: -2.4deg;
}

.services-list__index {
    --felt-radius: 60% 45% 50% 58% / 42% 58% 50% 45%;
    --felt-rotate: 1.4deg;
}

.secteurs-list__index {
    --felt-radius: 38% 60% 55% 45% / 62% 48% 40% 55%;
    --felt-rotate: -0.6deg;
}

.home-services__grid .home-service-card:nth-child(8n+1) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+1) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+1) .service-method__number,
.service-benefits__grid > *:nth-child(8n+1) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+1) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+1) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+1) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+1) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+1) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+1) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+1) .secteurs-list__index {
    --felt-radius: 70% 38% 52% 50%/48% 55% 40% 62%;
    --felt-rotate: -2.2deg;
    --felt-border: 0.2rem;
}

.home-services__grid .home-service-card:nth-child(8n+2) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+2) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+2) .service-method__number,
.service-benefits__grid > *:nth-child(8n+2) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+2) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+2) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+2) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+2) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+2) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+2) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+2) .secteurs-list__index {
    --felt-radius: 40% 65% 48% 55%/58% 42% 62% 45%;
    --felt-rotate: 1.6deg;
    --felt-border: 0.24rem;
}

.home-services__grid .home-service-card:nth-child(8n+3) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+3) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+3) .service-method__number,
.service-benefits__grid > *:nth-child(8n+3) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+3) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+3) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+3) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+3) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+3) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+3) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+3) .secteurs-list__index {
    --felt-radius: 55% 48% 62% 40%/45% 60% 48% 55%;
    --felt-rotate: -0.9deg;
    --felt-border: 0.22rem;
}

.home-services__grid .home-service-card:nth-child(8n+4) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+4) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+4) .service-method__number,
.service-benefits__grid > *:nth-child(8n+4) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+4) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+4) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+4) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+4) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+4) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+4) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+4) .secteurs-list__index {
    --felt-radius: 48% 55% 42% 65%/60% 40% 55% 48%;
    --felt-rotate: 2.4deg;
    --felt-border: 0.26rem;
}

.home-services__grid .home-service-card:nth-child(8n+5) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+5) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+5) .service-method__number,
.service-benefits__grid > *:nth-child(8n+5) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+5) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+5) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+5) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+5) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+5) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+5) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+5) .secteurs-list__index {
    --felt-radius: 62% 42% 50% 58%/40% 62% 45% 55%;
    --felt-rotate: -1.8deg;
    --felt-border: 0.2rem;
}

.home-services__grid .home-service-card:nth-child(8n+6) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+6) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+6) .service-method__number,
.service-benefits__grid > *:nth-child(8n+6) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+6) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+6) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+6) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+6) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+6) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+6) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+6) .secteurs-list__index {
    --felt-radius: 45% 58% 55% 42%/55% 45% 60% 40%;
    --felt-rotate: 0.7deg;
    --felt-border: 0.23rem;
}

.home-services__grid .home-service-card:nth-child(8n+7) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+7) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+7) .service-method__number,
.service-benefits__grid > *:nth-child(8n+7) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+7) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+7) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+7) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+7) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+7) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+7) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+7) .secteurs-list__index {
    --felt-radius: 58% 40% 45% 62%/42% 58% 50% 55%;
    --felt-rotate: -2.8deg;
    --felt-border: 0.21rem;
}

.home-services__grid .home-service-card:nth-child(8n+8) .home-service-card__icon,
.home-method__steps .home-method__step:nth-child(8n+8) .home-method__number,
.service-method__steps .service-method__step:nth-child(8n+8) .service-method__number,
.service-benefits__grid > *:nth-child(8n+8) .service-benefits__icon,
.service-audience__grid .service-audience__card:nth-child(8n+8) .service-audience__icon,
.secteur-hero__benefits > *:nth-child(8n+8) .secteur-hero__benefit-icon,
.secteur-pain__grid > *:nth-child(8n+8) .secteur-pain__icon,
.secteur-solution__usps .secteur-solution__usp:nth-child(8n+8) > span,
.secteur-related__grid .secteur-related__card:nth-child(8n+8) .secteur-related__icon,
.services-list__grid .services-list__card:nth-child(8n+8) .services-list__index,
.secteurs-list__grid .secteurs-list__card:nth-child(8n+8) .secteurs-list__index {
    --felt-radius: 42% 60% 58% 48%/62% 45% 40% 55%;
    --felt-rotate: 1.2deg;
    --felt-border: 0.25rem;
}

.services-cta__inner,
.secteurs-cta__inner {
    border: 0.3rem solid var(--color-black);
    box-shadow: 0.22rem 0.28rem 0 rgba(17, 17, 17, 0.18);
}

.services-cta__inner {
    border-radius: 48px 28px 52px 22px/32px 50px 26px 44px;
}

.secteurs-cta__inner {
    border-radius: 36px 50px 24px 46px/44px 28px 48px 30px;
}

body {
    font-family: var(--font-fontName);
}

:root {
    --font-fontName: "Poppins", sans-serif;
    --container-max: 124rem;
    --grid-offset: 2rem;
    --color-white: #ffffff;
    --color-black: #111111;
    --color-text: #1a1a1a;
    --color-muted: #666666;
    --color-border: #e6e6e6;
    --color-surface: #f7f7f5;
    --color-yellow: #f5e642;
    --color-yellow-dark: #e8d92f;
    --radius-sm: 0.4rem;
    --radius-md: 0.8rem;
    --radius-lg: 1.6rem;
    --shadow-sm: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
}

@media (min-width: 768px) {
    :root {
        --grid-offset: 3rem;
    }
}
@media (min-width: 1200px) {
    :root {
        --grid-offset: 4rem;
    }
}
#rgpd-modal {
    position: fixed;
    z-index: 1000;
    right: 0;
    bottom: 0;
    max-width: 450px;
    min-height: 100px;
    background: #fff;
    align-items: center;
    padding: 30px;
    box-sizing: border-box;
    margin: 20px;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-wrap: wrap;
}
#rgpd-modal .btn-refuse {
    margin-left: auto;
    margin-bottom: 10px;
    font-size: 1.2rem;
}
#rgpd-modal h2 {
    width: 100%;
    color: #000;
    margin-bottom: 10px;
    font-size: 1.8rem;
}
#rgpd-modal p {
    font-size: 1.2rem;
    margin-bottom: 20px;
}
#rgpd-modal .rgpd-manage-link {
    color: #000;
    margin-right: auto;
}
#rgpd-modal[aria-hidden=true] {
    display: none;
}

@keyframes rgpd-fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes rgpd-fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
#rgpd-manage {
    position: fixed;
    z-index: 5000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
    opacity: 0;
    box-sizing: border-box;
}
#rgpd-manage.open {
    display: flex;
    animation: rgpd-fadeIn 0.2s ease 0.1s both;
}
#rgpd-manage.close {
    animation: rgpd-fadeOut 0.2s ease 0.1s both;
}
#rgpd-manage .box {
    max-height: 100%;
    max-width: 700px;
    overflow: hidden;
    overflow-y: auto;
    background: #fff;
    box-sizing: border-box;
    padding: 40px;
    display: flex;
    flex-direction: column;
}
#rgpd-manage section {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #000;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: center;
}
#rgpd-manage section p {
    font-size: 1.2rem;
    margin-top: 10px;
}
#rgpd-manage h1 {
    color: #000;
    font-size: 1.8rem;
    margin-bottom: 10px;
}
#rgpd-manage h2 {
    color: #000;
    font-size: 1.6rem;
}
#rgpd-manage #rgpd-desc {
    margin-bottom: 20px;
}
#rgpd-manage details {
    font-size: 1.2rem;
    width: 100%;
    margin-top: 5px;
}
#rgpd-manage details summary {
    cursor: pointer;
}
#rgpd-manage details ul {
    display: block;
    margin-top: 5px;
    background-color: #000;
}
#rgpd-manage details ul li {
    padding: 5px;
}
#rgpd-manage input[type=checkbox] {
    margin-left: auto;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    height: 30px;
    width: 60px;
    background: #000;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
}
#rgpd-manage input[type=checkbox]:before {
    content: "";
    width: 28px;
    height: 28px;
    display: block;
    background: #000;
    border-radius: 15px;
    transition: all 0.2s ease;
}
#rgpd-manage input[type=checkbox]:after {
    content: attr(data-denied);
    position: absolute;
    right: calc(100% + 10px);
}
#rgpd-manage input[type=checkbox]:checked:before {
    transform: translateX(30px);
    background: #000;
}
#rgpd-manage input[type=checkbox]:checked:after {
    content: attr(data-accept);
}
#rgpd-manage .btn-close {
    align-self: flex-end;
    margin-top: -20px;
    margin-right: -20px;
}
#rgpd-manage .btn-save {
    align-self: flex-end;
    margin-top: 20px;
    --color: #000;
}
@media (min-width: 768px) {
    #rgpd-manage {
        background: rgba(255, 255, 255, 0.6);
        padding: 20px;
    }
    #rgpd-manage .box {
        box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
        margin: auto;
    }
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    color: var(--color-text);
    background: var(--color-white);
}

.site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.main {
    flex: 1;
}

.container {
    width: min(100% - (var(--grid-offset) * 2), var(--container-max));
    margin-inline: auto;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.home-eyebrow {
    margin: 0 0 1rem;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-muted);
}
.home-eyebrow--center {
    text-align: center;
}

.home-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 4rem;
}
.home-section-head__title {
    margin: 0;
    font-size: clamp(2.4rem, 3vw, 3.6rem);
    line-height: 1.15;
    font-weight: 700;
}
.home-section-head__title--center {
    text-align: center;
    margin-bottom: 4rem;
}
.home-section-head__link {
    flex-shrink: 0;
    font-size: 1.3rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--color-border);
    backdrop-filter: blur(8px);
}
.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    min-height: 7.2rem;
}
.site-header__toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5rem;
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.site-header__toggle span {
    display: block;
    width: 2.2rem;
    height: 0.2rem;
    background: var(--color-black);
}

.site-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--color-black);
}
.site-logo img {
    display: block;
    width: auto;
    height: 2.8rem;
}
.site-logo--footer {
    display: inline-flex;
    margin-bottom: 1.2rem;
}
.site-logo--footer img {
    height: 3.2rem;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 2.4rem;
}
.site-nav__list {
    display: none;
    align-items: center;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-nav__list a {
    position: relative;
    z-index: 0;
    font-size: 1.4rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}
.site-nav__list a::after {
    content: "";
    position: absolute;
    left: -4%;
    right: -4%;
    bottom: 0.05rem;
    z-index: -1;
    height: 0.55rem;
    background: var(--color-yellow);
    border-radius: 255px 12px 220px 18px/40% 80% 30% 70%;
    transform: rotate(-1.8deg) scaleX(0);
    transform-origin: left center;
    opacity: 0;
    pointer-events: none;
    transition: transform 0.22s ease, opacity 0.22s ease;
}
.site-nav__list a:hover {
    color: var(--color-black);
}
.site-nav__list a:hover::after {
    transform: rotate(-1.8deg) scaleX(1);
    opacity: 1;
}
.site-nav__list a.is-active, .site-nav__list a[aria-current=page] {
    font-weight: 700;
}
.site-nav__list a.is-active::after, .site-nav__list a[aria-current=page]::after {
    transform: rotate(-1.8deg) scaleX(1);
    opacity: 1;
}
.site-nav__item.is-active > a,
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a,
.site-nav .current_page_item > a,
.site-nav .current-menu-parent > a {
    font-weight: 700;
}
.site-nav__item.is-active > a::after,
.site-nav .current-menu-item > a::after,
.site-nav .current-menu-ancestor > a::after,
.site-nav .current_page_item > a::after,
.site-nav .current-menu-parent > a::after {
    transform: rotate(-1.8deg) scaleX(1);
    opacity: 1;
}
.site-nav__list > li:nth-child(3n+1) > a::after {
    border-radius: 240px 18px 200px 25px/50% 70% 40% 80%;
    transform: rotate(-2.4deg) scaleX(0);
    height: 0.5rem;
    bottom: 0;
}
.site-nav__list > li:nth-child(3n+1) > a:hover::after, .site-nav__list > li:nth-child(3n+1).is-active > a::after, .site-nav__list > li:nth-child(3n+1).current-menu-item > a::after, .site-nav__list > li:nth-child(3n+1).current-menu-ancestor > a::after {
    transform: rotate(-2.4deg) scaleX(1);
}
.site-nav__list > li:nth-child(3n+2) > a::after {
    border-radius: 180px 30px 255px 10px/60% 40% 70% 35%;
    transform: rotate(1.2deg) scaleX(0);
    height: 0.6rem;
    bottom: 0.1rem;
}
.site-nav__list > li:nth-child(3n+2) > a:hover::after, .site-nav__list > li:nth-child(3n+2).is-active > a::after, .site-nav__list > li:nth-child(3n+2).current-menu-item > a::after, .site-nav__list > li:nth-child(3n+2).current-menu-ancestor > a::after {
    transform: rotate(1.2deg) scaleX(1);
}
.site-nav__list > li:nth-child(3n+3) > a::after {
    border-radius: 220px 8px 240px 22px/35% 85% 45% 65%;
    transform: rotate(-0.6deg) scaleX(0);
    height: 0.48rem;
    bottom: 0.08rem;
}
.site-nav__list > li:nth-child(3n+3) > a:hover::after, .site-nav__list > li:nth-child(3n+3).is-active > a::after, .site-nav__list > li:nth-child(3n+3).current-menu-item > a::after, .site-nav__list > li:nth-child(3n+3).current-menu-ancestor > a::after {
    transform: rotate(-0.6deg) scaleX(1);
}
.site-nav__submenu {
    display: none;
}
.site-nav__cta {
    white-space: nowrap;
}

@media (min-width: 992px) {
    .site-header__inner {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 2rem;
    }

    .site-header__toggle {
        display: none;
    }

    .site-logo {
        justify-self: start;
    }

    .site-nav {
        display: contents;
    }

    .site-nav__list {
        display: flex;
        grid-column: 2;
        justify-self: center;
    }

    .site-nav__cta {
        grid-column: 3;
        justify-self: end;
    }
}
@media (max-width: 991px) {
    .site-nav {
        position: fixed;
        inset: 7.2rem 0 auto 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 2.4rem;
        padding: 2rem var(--grid-offset);
        background: var(--color-white);
        border-bottom: 1px solid var(--color-border);
        transform: translateY(-120%);
        opacity: 0;
        pointer-events: none;
        transition: transform 0.25s ease, opacity 0.25s ease;
    }
    .site-nav.is-open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }
    .site-nav__list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 1.6rem;
    }
    .site-nav__cta {
        align-self: flex-start;
    }
}
.site-footer {
    background: var(--color-black);
    color: var(--color-white);
}
.site-footer a {
    color: var(--color-white);
    text-decoration: none;
}
.site-footer a:hover {
    color: var(--color-yellow);
}
.site-footer__top {
    display: grid;
    gap: 3rem;
    padding: 6rem 0 4rem;
}
.site-footer__brand p {
    margin: 0;
    max-width: 28rem;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.7;
}
.site-footer__col h3 {
    margin: 0 0 1.6rem;
    font-size: 1.4rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.site-footer__col ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.site-footer__col li + li {
    margin-top: 0.8rem;
}
.site-footer__contact li {
    color: rgba(255, 255, 255, 0.72);
}
.site-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.site-footer__bottom-inner {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 2rem 0;
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.6);
}
.site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 768px) {
    .site-footer__top {
        grid-template-columns: 1.4fr repeat(4, 1fr);
    }

    .site-footer__bottom-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
.media-loader {
    position: relative;
    display: block;
    overflow: hidden;
    max-width: 100%;
    background: #141414;
}
.media-loader::before {
    content: "";
    position: absolute;
    inset: -45%;
    z-index: 0;
    background: radial-gradient(circle at center, #2c2c2c 0%, #1c1c1c 40%, #101010 70%, #0a0a0a 100%);
    transform: scale(1);
    transform-origin: center center;
    animation: media-loader-pulse 1.6s ease-in-out infinite;
    opacity: 1;
    transition: opacity 0.45s ease;
    pointer-events: none;
}
.media-loader__img {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity 0.45s ease;
}
.media-loader.is-loaded {
    background: transparent;
}
.media-loader.is-loaded::before {
    opacity: 0;
}
.media-loader.is-loaded .media-loader__img {
    opacity: 1;
}

.home-trust__logo .media-loader,
.home-testimonial__author .media-loader {
    display: inline-block;
    vertical-align: middle;
}

.home-testimonial__author .media-loader {
    border-radius: 50%;
}

@keyframes media-loader-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.7);
    }
}
@media (prefers-reduced-motion: reduce) {
    .media-loader::before {
        animation: none;
        background: #141414;
    }
}
.home-page {
    overflow: hidden;
}

.home-hero {
    padding: 0;
}
.home-hero__inner {
    display: grid;
    gap: 0;
    align-items: stretch;
}
.home-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6rem var(--grid-offset) 4rem;
}
.home-hero__title {
    margin: 0 0 1.6rem;
    font-size: clamp(3rem, 4.5vw, 5.2rem);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.03em;
}
.home-hero__text {
    margin: 0 0 2.4rem;
    max-width: 52rem;
    color: var(--color-muted);
    font-size: 1.7rem;
}
.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-bottom: 3rem;
}
.home-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 2.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-hero__stat {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.home-hero__stat strong {
    font-size: 2rem;
    font-weight: 700;
}
.home-hero__stat span {
    font-size: 1.3rem;
    color: var(--color-muted);
}
.home-hero__visual {
    position: relative;
    min-height: 32rem;
}
.home-hero__visual > .media-loader {
    position: absolute;
    inset: 0;
    max-width: none;
}
.home-hero__visual img, .home-hero__visual .media-loader__img, .home-hero__placeholder {
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 0;
    box-shadow: none;
}
.home-hero__visual img, .home-hero__visual .media-loader__img {
    position: absolute;
    inset: 0;
    object-fit: cover;
}
.home-hero__placeholder {
    display: grid;
    place-items: center;
    min-height: 32rem;
    background: linear-gradient(135deg, #222, #444);
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.4rem;
}

.home-trust {
    padding: 2.4rem 0;
    background: var(--color-surface);
    border-block: 1px solid var(--color-border);
}
.home-trust__inner {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
.home-trust__label {
    margin: 0;
    flex-shrink: 0;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-muted);
}
.home-trust__logos {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem 2.4rem;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    max-width: 100%;
}
.home-trust__logo img {
    max-height: 2.8rem;
    width: auto;
    filter: grayscale(1);
    opacity: 0.75;
}
.home-trust__name {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--color-muted);
    white-space: nowrap;
}

.home-services {
    padding: 8rem 0;
}
.home-services__grid {
    display: grid;
    gap: 2rem;
}

.home-service-card {
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.home-service-card__icon {
    display: grid;
    place-items: center;
    width: 4.8rem;
    height: 4.8rem;
    margin-bottom: 1.6rem;
    background: var(--color-yellow);
    font-weight: 700;
}
.home-service-card__title {
    margin: 0 0 1rem;
    font-size: 1.8rem;
}
.home-service-card__text {
    margin: 0 0 1.6rem;
    color: var(--color-muted);
}
.home-service-card__link {
    font-size: 1.3rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.home-why {
    padding: 8rem 0;
    background: var(--color-surface);
}
.home-why__inner {
    display: grid;
    gap: 4rem;
    align-items: center;
}
.home-why__title {
    margin: 0 0 2.4rem;
    font-size: clamp(2.2rem, 3vw, 3rem);
    font-weight: 700;
}
.home-why__list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-why__list li {
    position: relative;
    padding-left: 2.4rem;
    margin-bottom: 1.2rem;
}
.home-why__list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--color-yellow-dark);
    font-weight: 700;
}
.home-why__projects-label {
    margin: 0 0 1.6rem;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.home-why__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.home-project-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
    border-radius: var(--radius-sm);
    text-decoration: none;
    color: var(--color-white);
    transition: transform 0.2s ease;
}
.home-project-card:hover {
    transform: translateY(-2px);
}
.home-project-card__image, .home-project-card__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home-project-card__placeholder {
    background: linear-gradient(135deg, #555, #888);
}
.home-project-card__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.4rem;
    padding: 1.2rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.72), transparent);
}
.home-project-card__overlay span {
    font-size: 1.2rem;
    opacity: 0.85;
}
.home-project-card__badge {
    align-self: flex-start;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: var(--color-yellow);
    color: var(--color-black);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
}

.home-method {
    padding: 8rem 0;
}
.home-method__steps {
    display: grid;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.home-method__step {
    position: relative;
    padding-top: 1rem;
}
.home-method__step h3 {
    margin: 0 0 0.8rem;
    font-size: 1.8rem;
}
.home-method__step p {
    margin: 0;
    color: var(--color-muted);
}
.home-method__number {
    display: inline-grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    margin-bottom: 1.2rem;
    background: var(--color-yellow);
    font-weight: 700;
}

.home-pricing {
    padding: 8rem 0;
    background: var(--color-surface);
}
.home-pricing__layout {
    display: grid;
    gap: 2rem;
    align-items: stretch;
}
.home-pricing__card {
    padding: 3rem;
    border-radius: var(--radius-lg);
    background: var(--color-yellow);
}
.home-pricing__card-label {
    margin: 0 0 1rem;
    font-size: 1.3rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.home-pricing__price {
    margin: 0 0 2rem;
}
.home-pricing__price strong {
    font-size: 5rem;
    line-height: 1;
}
.home-pricing__price span {
    font-size: 2rem;
    font-weight: 600;
}
.home-pricing__features {
    margin: 0 0 2.4rem;
    padding: 0;
    list-style: none;
}
.home-pricing__features li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.8rem;
}
.home-pricing__features li::before {
    content: "✓";
    position: absolute;
    left: 0;
    font-weight: 700;
}
.home-pricing__table-wrap {
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.home-pricing__table {
    width: 100%;
    border-collapse: collapse;
}
.home-pricing__table th,
.home-pricing__table td {
    padding: 1.2rem 1rem;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
}
.home-pricing__table thead th {
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.home-pricing__note {
    margin: 1.2rem 0 0;
    font-size: 1.3rem;
    color: var(--color-muted);
}

.home-crm {
    padding: 8rem 0;
}
.home-crm__inner {
    display: grid;
    gap: 4rem;
    align-items: center;
}
.home-crm__title {
    margin: 0 0 0.8rem;
    font-size: clamp(2.4rem, 3vw, 3.6rem);
    font-weight: 700;
}
.home-crm__subtitle {
    margin: 0 0 1.2rem;
    font-size: 2rem;
    font-weight: 600;
}
.home-crm__text {
    margin: 0 0 2rem;
    color: var(--color-muted);
}
.home-crm__list {
    margin: 0 0 2.4rem;
    padding: 0;
    list-style: none;
}
.home-crm__list li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.8rem;
}
.home-crm__list li::before {
    content: "+";
    position: absolute;
    left: 0;
    font-weight: 700;
}
.home-crm__visual img, .home-crm__placeholder {
    width: 100%;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}
.home-crm__placeholder {
    display: grid;
    place-items: center;
    min-height: 28rem;
    background: linear-gradient(135deg, #1f2937, #374151);
    color: rgba(255, 255, 255, 0.75);
}

.home-testimonials {
    padding: 8rem 0;
    background: var(--color-surface);
}
.home-testimonials__grid {
    display: grid;
    gap: 2rem;
}

.home-testimonial {
    margin: 0;
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.home-testimonial__stars {
    margin-bottom: 1.2rem;
    color: var(--color-yellow-dark);
}
.home-testimonial__quote {
    margin: 0 0 2rem;
    font-style: italic;
    color: var(--color-text);
}
.home-testimonial__author {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}
.home-testimonial__author em {
    display: block;
    font-style: normal;
    color: var(--color-muted);
    font-size: 1.3rem;
}
.home-testimonial__photo, .home-testimonial__avatar {
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    object-fit: cover;
}
.home-testimonial__avatar {
    display: grid;
    place-items: center;
    background: var(--color-yellow);
    font-weight: 700;
}

.home-cta-band {
    padding: 5rem 0;
    background: var(--color-yellow);
}
.home-cta-band__inner {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: flex-start;
}
.home-cta-band__title {
    margin: 0 0 0.8rem;
    font-size: clamp(2.4rem, 3vw, 3.4rem);
    font-weight: 700;
}
.home-cta-band__text {
    margin: 0;
    font-size: 1.8rem;
}

.home-contact {
    padding: 8rem 0;
}
.home-contact__inner {
    display: grid;
    gap: 4rem;
}

.home-faq__item {
    border-bottom: 1px solid var(--color-border);
}
.home-faq__item[open] .home-faq__toggle::before {
    transform: rotate(45deg);
}
.home-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    padding: 1.6rem 0;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.home-faq__question::-webkit-details-marker {
    display: none;
}
.home-faq__toggle::before {
    content: "+";
    font-size: 2rem;
    line-height: 1;
    transition: transform 0.2s ease;
}
.home-faq__answer {
    padding-bottom: 1.6rem;
    color: var(--color-muted);
}
.home-faq__answer p {
    margin: 0;
}

.home-form {
    padding: 3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.home-form__title {
    margin: 0 0 2rem;
    font-size: 2.4rem;
}
.home-form__fields {
    display: grid;
    gap: 1.6rem;
}
.home-form label {
    display: grid;
    gap: 0.6rem;
    font-size: 1.3rem;
    font-weight: 500;
}
.home-form input,
.home-form select,
.home-form textarea {
    width: 100%;
    padding: 1.2rem 1.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font: inherit;
    background: var(--color-white);
}
.home-form__full {
    grid-column: 1/-1;
}

@media (min-width: 768px) {
    .home-hero__inner {
        grid-template-columns: 1fr 1fr;
        min-height: min(72rem, calc(100vh - 8rem));
    }

    .home-hero__content {
        padding-block: 6rem;
        padding-left: max(var(--grid-offset), calc((100vw - var(--container-max)) / 2));
        padding-right: 4rem;
    }

    .home-hero__visual {
        min-height: 100%;
    }

    .home-hero__placeholder {
        position: absolute;
        inset: 0;
        min-height: 0;
    }

    .home-crm__inner {
        grid-template-columns: 1fr 1fr;
    }

    .home-trust__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 3.2rem;
    }

    .home-trust__logos {
        flex: 1;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 1.6rem;
        min-width: 0;
    }

    .home-services__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-why__inner {
        grid-template-columns: 0.9fr 1.1fr;
    }

    .home-method__steps {
        grid-template-columns: repeat(5, 1fr);
    }

    .home-pricing__layout {
        grid-template-columns: 0.9fr 1.1fr;
    }

    .home-testimonials__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .home-cta-band__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .home-contact__inner {
        grid-template-columns: 1fr 1fr;
    }

    .home-form__fields {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 992px) {
    .home-services__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 767px) {
    .home-why__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .home-why__grid {
        grid-template-columns: 1fr;
    }
}
.service-page {
    overflow: hidden;
}

.service-eyebrow {
    margin: 0 0 1rem;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-muted);
}
.service-eyebrow--center {
    text-align: center;
}

.service-breadcrumb {
    margin: 0 0 2.4rem;
    font-size: 1.3rem;
}
.service-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--color-muted);
}
.service-breadcrumb__item + .service-breadcrumb__item::before {
    content: "›";
    margin-right: 0.8rem;
    color: var(--color-border);
}
.service-breadcrumb a {
    text-decoration: none;
}
.service-breadcrumb a:hover {
    color: var(--color-black);
}

.service-section {
    padding: 7rem 0;
}

.service-section__title {
    margin: 0 0 1.6rem;
    font-size: clamp(2.4rem, 3vw, 3.4rem);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.02em;
}
.service-section__title--center {
    text-align: center;
    max-width: 72rem;
    margin-inline: auto;
}

.service-section__text {
    margin: 0 0 2rem;
    max-width: 52rem;
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.7;
}

.service-section__intro {
    margin: 0 0 3rem;
    max-width: 52rem;
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.7;
}
.service-section__intro--center {
    text-align: center;
    margin-inline: auto;
}

.service-section--alt {
    background: var(--color-surface);
}

.service-hero {
    padding: 4rem 0 4rem;
}
.service-hero__inner {
    display: grid;
    gap: 4rem;
    align-items: center;
}
.service-hero__title {
    margin: 0 0 1.6rem;
    font-size: clamp(3rem, 4.2vw, 4.8rem);
    line-height: 1.06;
    font-weight: 700;
    letter-spacing: -0.03em;
}
.service-hero__intro {
    margin: 0 0 2.4rem;
    max-width: 54rem;
    color: var(--color-muted);
    font-size: 1.7rem;
    line-height: 1.65;
}
.service-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-bottom: 2rem;
}
.service-hero__note {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin: 0;
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--color-text);
}
.service-hero__note-icon {
    display: inline-grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: var(--color-yellow);
    font-size: 1.2rem;
}
.service-hero__visual {
    position: relative;
}
.service-hero__visual img,
.service-hero__visual .service-hero__placeholder {
    width: 100%;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}
.service-hero__placeholder {
    min-height: 34rem;
    background: radial-gradient(circle at 30% 30%, rgba(245, 230, 66, 0.35), transparent 55%), linear-gradient(135deg, #ececec, #fafafa);
}

.service-benefits {
    padding: 0 0 5rem;
    border-bottom: 1px solid var(--color-border);
}
.service-benefits__grid {
    display: grid;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.service-benefits__item {
    display: grid;
    gap: 0.8rem;
}
.service-benefits__item strong {
    font-size: 1.6rem;
}
.service-benefits__item p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
}
.service-benefits__icon {
    display: inline-grid;
    place-items: center;
    width: 4.4rem;
    height: 4.4rem;
    background: var(--color-yellow);
    font-weight: 700;
}

.service-included {
    padding: 7rem 0;
    background: var(--color-surface);
}
.service-included__inner {
    display: grid;
    gap: 3.2rem;
    align-items: stretch;
}
.service-included__offer {
    max-width: 48rem;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.service-included__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    margin-top: auto;
    padding-top: 2.4rem;
}
.service-included__price-box {
    display: inline-grid;
    gap: 0.4rem;
    min-width: 18rem;
    padding: 2rem 2.4rem;
    border-radius: var(--radius-md);
    background: var(--color-yellow);
    box-shadow: var(--shadow-sm);
}
.service-included__price {
    font-size: clamp(4rem, 6vw, 5.6rem);
    font-weight: 700;
    line-height: 1;
}
.service-included__suffix {
    font-size: 1.8rem;
    font-weight: 600;
}
.service-included__panel {
    padding: 3.2rem;
    border-radius: var(--radius-md);
    background: var(--color-white);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
}
.service-included__features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 2.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.service-included__features li {
    position: relative;
    padding-left: 2.8rem;
    font-size: 1.5rem;
    line-height: 1.45;
    color: var(--color-text, #222);
}
.service-included__features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15rem;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: rgba(245, 230, 66, 0.35);
    box-shadow: inset 0 0 0 0.15rem var(--color-yellow);
}
.service-included__features li::after {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.15rem;
    width: 1.8rem;
    height: 1.8rem;
    display: grid;
    place-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color-black);
}

.service-compare {
    padding: 7rem 0;
    background: var(--color-surface);
}
.service-compare__inner {
    display: grid;
    gap: 4rem;
    align-items: center;
}
.service-compare__content {
    max-width: 44rem;
}
.service-compare__table {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-white);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}
.service-compare__table th,
.service-compare__table td {
    padding: 1.4rem 1.6rem;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    font-size: 1.4rem;
}
.service-compare__table thead th {
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.service-compare__table .is-highlight {
    background: rgba(245, 230, 66, 0.35);
    font-weight: 600;
}
.service-compare__note {
    margin: 1.6rem 0 0;
    font-size: 1.5rem;
    font-style: italic;
    font-weight: 600;
}

.service-audience {
    padding: 7rem 0;
}
.service-audience__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    margin-top: 3rem;
}
.service-audience__card {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
    box-sizing: border-box;
}
.service-audience__icon {
    display: inline-grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    margin-bottom: 1.2rem;
    background: var(--color-yellow);
    font-weight: 700;
}
.service-audience h3 {
    margin: 0 0 0.8rem;
    font-size: 1.8rem;
}
.service-audience p {
    margin: 0 0 1.2rem;
    color: var(--color-muted);
    line-height: 1.6;
}
.service-audience__link {
    font-size: 1.3rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.service-related {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 2.4rem 0 0;
    padding: 0;
    list-style: none;
}
.service-related__tag {
    display: inline-flex;
    align-items: center;
    padding: 0.9rem 1.6rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
    color: var(--color-black);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
.service-related__tag:hover {
    border-color: var(--color-black);
    background: var(--color-yellow);
    transform: translateY(-1px);
}

.service-projects {
    padding: 7rem 0;
    background: var(--color-surface);
}
.service-projects__head {
    margin-bottom: 3rem;
}
.service-projects__list {
    display: grid;
    gap: 1.6rem;
}

.service-project-row {
    display: grid;
    grid-template-columns: 14rem 1fr;
    gap: 2rem;
    align-items: center;
    padding: 1.2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease, transform 0.2s ease;
}
.service-project-row:hover {
    border-color: var(--color-black);
    transform: translateY(-1px);
}
.service-project-row__image, .service-project-row__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: var(--radius-sm);
    object-fit: cover;
}
.service-project-row > .media-loader {
    width: 100%;
    aspect-ratio: 4/3;
    border-radius: var(--radius-sm);
    overflow: hidden;
}
.service-project-row > .media-loader .media-loader__img,
.service-project-row > .media-loader .service-project-row__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}
.service-project-row__placeholder {
    background: linear-gradient(135deg, #666, #999);
}
.service-project-row h3 {
    margin: 0 0 0.4rem;
    font-size: 1.8rem;
}
.service-project-row__meta, .service-project-row__tags {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.4rem;
}
.service-project-row__link {
    display: inline-block;
    margin-top: 1rem;
    font-size: 1.3rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.service-method {
    padding: 4rem 0;
    background: var(--color-white);
}
.service-method__steps {
    display: grid;
    gap: 2rem;
    margin: 3rem 0 0;
    padding: 0;
    list-style: none;
}
.service-method__step {
    position: relative;
    text-align: center;
}
.service-method__step h3 {
    margin: 0 0 0.8rem;
    font-size: 1.6rem;
}
.service-method__step p {
    margin: 0 auto;
    max-width: 16rem;
    color: var(--color-muted);
    font-size: 1.4rem;
    line-height: 1.5;
}
.service-method__number {
    display: inline-grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    margin-bottom: 1.2rem;
    background: var(--color-yellow);
    font-weight: 700;
}

.service-faq-section {
    padding: 7rem 0;
}
.service-faq-section__columns {
    display: grid;
    gap: 0 3rem;
    margin-top: 3rem;
}
.service-faq-section__col {
    min-width: 0;
}

.service-faq__item {
    border-bottom: 1px solid var(--color-border);
}

.service-final-cta {
    padding: 5rem 0 6rem;
    background: var(--color-yellow);
}
.service-final-cta__inner {
    display: grid;
    gap: 2rem;
    justify-items: center;
    text-align: center;
}
.service-final-cta__title {
    margin: 0;
    max-width: 48rem;
    font-size: clamp(2.4rem, 3vw, 3.2rem);
    font-weight: 700;
    line-height: 1.15;
}
.service-final-cta__reassurance {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem 2.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1.4rem;
    font-weight: 500;
}
.service-final-cta__reassurance li {
    position: relative;
    padding-left: 1.6rem;
}
.service-final-cta__reassurance li::before {
    content: "✓";
    position: absolute;
    left: 0;
    font-weight: 700;
}
.service-final-cta__actions {
    display: flex;
    justify-content: center;
}

@media (min-width: 768px) {
    .service-hero__inner {
        grid-template-columns: 1.05fr 0.95fr;
    }

    .service-benefits__grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .service-included__inner {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        gap: 4rem;
        align-items: stretch;
    }

    .service-compare__inner {
        grid-template-columns: 1.15fr 0.85fr;
    }

    .service-audience__card {
        flex: 0 1 calc((100% - 6rem) / 4);
        max-width: calc((100% - 6rem) / 4);
    }

    .service-method__steps {
        grid-template-columns: repeat(5, 1fr);
    }

    .service-faq-section__columns {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .service-included__features {
        grid-template-columns: 1fr;
    }

    .service-project-row {
        grid-template-columns: 1fr;
    }

    .service-audience__card {
        flex: 0 1 calc((100% - 2rem) / 2);
        max-width: calc((100% - 2rem) / 2);
    }
}
@media (max-width: 575px) {
    .service-audience__card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}
.secteur-page {
    overflow: hidden;
}

.service-checklist {
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}
.service-checklist li {
    position: relative;
    padding-left: 2.4rem;
    margin-bottom: 0.8rem;
    font-size: 1.5rem;
    line-height: 1.55;
}
.service-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: var(--color-yellow-dark);
}

.service-area__cities {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 2.4rem 0 0;
    padding: 0;
    list-style: none;
}
.service-area__cities li {
    margin: 0;
}
.service-area__cities a,
.service-area__cities li {
    display: inline-block;
    padding: 0.8rem 1.6rem;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-white);
    font-size: 1.4rem;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.2s ease, background 0.2s ease;
}
.service-area__cities a:hover {
    border-color: var(--color-black);
}

.secteur-area {
    padding: 7rem 0;
}

.secteur-area__see-all {
    display: inline-block;
    margin-top: 2rem;
    font-size: 1.4rem;
    font-weight: 600;
    text-decoration: none;
}

.secteur-hero {
    padding: 4rem 0 0;
}
.secteur-hero__inner {
    display: grid;
    gap: 4rem;
    align-items: center;
}
.secteur-hero__title {
    margin: 0 0 1.6rem;
    font-size: clamp(3rem, 4.2vw, 4.8rem);
    line-height: 1.06;
    font-weight: 700;
    letter-spacing: -0.03em;
}
.secteur-hero__intro {
    margin: 0 0 2.4rem;
    max-width: 54rem;
    color: var(--color-muted);
    font-size: 1.7rem;
    line-height: 1.65;
}
.secteur-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-bottom: 2rem;
}
.secteur-hero__visual img,
.secteur-hero__visual .secteur-hero__placeholder {
    width: 100%;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}
.secteur-hero__placeholder {
    min-height: 34rem;
    background: radial-gradient(circle at 30% 30%, rgba(245, 230, 66, 0.35), transparent 55%), linear-gradient(135deg, #ececec, #fafafa);
}
.secteur-hero__benefits {
    display: grid;
    gap: 2rem;
    margin: 4rem 0 0;
    padding: 2.4rem 0;
    border-top: 1px solid var(--color-border);
    list-style: none;
}
.secteur-hero__benefits li {
    display: grid;
    gap: 0.4rem;
}
.secteur-hero__benefits li strong {
    font-size: 1.5rem;
}
.secteur-hero__benefits li span {
    color: var(--color-muted);
    font-size: 1.4rem;
    line-height: 1.5;
}
.secteur-hero__benefit-icon {
    display: inline-grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    margin-bottom: 0.4rem;
    background: var(--color-yellow);
    font-weight: 700;
}

.secteur-pain {
    padding: 7rem 0;
}
.secteur-pain__grid {
    display: grid;
    gap: 2rem;
    margin-top: 3rem;
}
.secteur-pain__card {
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.secteur-pain__card h3 {
    margin: 0 0 0.8rem;
    font-size: 1.8rem;
}
.secteur-pain__card p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
}
.secteur-pain__icon {
    display: inline-grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    margin-bottom: 1.2rem;
    font-weight: 700;
}

.secteur-solution {
    padding: 7rem 0;
}
.secteur-solution__inner {
    display: grid;
    gap: 4rem;
    align-items: start;
}
.secteur-solution__highlight {
    display: inline-grid;
    gap: 0.4rem;
    margin-top: 2rem;
    padding: 2rem 2.4rem;
    border-radius: var(--radius-md);
    background: var(--color-yellow);
}
.secteur-solution__highlight strong {
    font-size: clamp(3rem, 4vw, 4rem);
    line-height: 1;
}
.secteur-solution__highlight span {
    font-size: 1.5rem;
    font-weight: 600;
}
.secteur-solution__usps {
    display: grid;
    gap: 2rem;
}
.secteur-solution__usp {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.6rem;
    align-items: start;
}
.secteur-solution__usp > span {
    display: inline-grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    background: var(--color-yellow);
    font-weight: 700;
}
.secteur-solution__usp h3 {
    margin: 0 0 0.6rem;
    font-size: 1.7rem;
}
.secteur-solution__usp p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
}

.secteur-features {
    padding: 7rem 0;
}
.secteur-features__grid {
    display: grid;
    gap: 2rem;
    margin: 3rem 0 0;
    padding: 0;
    list-style: none;
}
.secteur-features__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.6rem;
    align-items: start;
}
.secteur-features__icon {
    display: inline-grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    border-radius: var(--radius-sm);
    background: var(--color-yellow);
    font-weight: 700;
}
.secteur-features strong {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 1.6rem;
}
.secteur-features p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
}

.secteur-case {
    padding: 7rem 0;
}
.secteur-case__inner {
    display: grid;
    gap: 4rem;
    align-items: center;
    margin-top: 3rem;
}
.secteur-case__visual img,
.secteur-case__visual .media-loader,
.secteur-case__visual .media-loader__img,
.secteur-case__visual .secteur-case__placeholder {
    width: 100%;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}
.secteur-case__visual .media-loader {
    display: block;
    max-width: none;
    overflow: hidden;
}
.secteur-case__visual .media-loader__img {
    display: block;
    height: auto;
}
.secteur-case__placeholder {
    min-height: 28rem;
    background: linear-gradient(135deg, #ececec, #fafafa);
}
.secteur-case h3 {
    margin: 0 0 1rem;
    font-size: 2.4rem;
}
.secteur-case__tags {
    margin: 0 0 1.6rem;
    color: var(--color-muted);
    font-size: 1.4rem;
    font-weight: 500;
}
.secteur-case__link {
    display: inline-block;
    margin-top: 1.6rem;
    font-size: 1.4rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.secteur-pricing {
    padding: 7rem 0;
}
.secteur-pricing__layout {
    display: grid;
    gap: 3rem;
    align-items: start;
    margin-top: 3rem;
}
.secteur-pricing .service-included__price-box-wrap {
    padding: 3rem;
    border-radius: var(--radius-lg);
    background: var(--color-yellow);
}
.secteur-pricing .home-pricing__features {
    margin: 0 0 2.4rem;
    padding: 0;
    list-style: none;
}
.secteur-pricing .home-pricing__features li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.8rem;
    font-size: 1.5rem;
}
.secteur-pricing .home-pricing__features li::before {
    content: "✓";
    position: absolute;
    left: 0;
    font-weight: 700;
}

.secteur-related {
    padding: 7rem 0;
}
.secteur-related__grid {
    display: grid;
    gap: 1.6rem;
    margin-top: 3rem;
}
.secteur-related__card {
    display: grid;
    gap: 0.8rem;
    justify-items: center;
    padding: 2.4rem 1.6rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease, transform 0.2s ease;
}
.secteur-related__card:hover {
    border-color: var(--color-black);
    transform: translateY(-2px);
}
.secteur-related__card strong {
    font-size: 1.6rem;
}
.secteur-related__card span {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--color-muted);
}
.secteur-related__icon {
    display: inline-grid;
    place-items: center;
    width: 4.4rem;
    height: 4.4rem;
    background: var(--color-surface);
    font-weight: 700;
}

.secteur-final-cta {
    padding: 5rem 0 6rem;
    background: var(--color-yellow);
}
.secteur-final-cta__inner {
    display: grid;
    gap: 2.4rem;
    align-items: start;
}
.secteur-final-cta__title {
    margin: 0 0 1.2rem;
    font-size: clamp(2.4rem, 3vw, 3.2rem);
    font-weight: 700;
    line-height: 1.15;
    max-width: 40rem;
}
.secteur-final-cta__text {
    margin: 0 0 2rem;
    max-width: 40rem;
    font-size: 1.6rem;
    line-height: 1.6;
}
.secteur-final-cta__points {
    margin: 0;
    padding: 0;
    list-style: none;
}
.secteur-final-cta__points li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.8rem;
    font-size: 1.5rem;
    font-weight: 500;
}
.secteur-final-cta__points li::before {
    content: "✓";
    position: absolute;
    left: 0;
    font-weight: 700;
}
.secteur-final-cta__form-wrap {
    min-width: 0;
}
.secteur-final-cta__reassurance {
    grid-column: 1/-1;
}

@media (min-width: 768px) {
    .secteur-hero__inner {
        grid-template-columns: 1.05fr 0.95fr;
    }

    .secteur-hero__benefits {
        grid-template-columns: repeat(4, 1fr);
    }

    .secteur-pain__grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .secteur-solution__inner {
        grid-template-columns: 0.95fr 1.05fr;
    }

    .secteur-solution__usps {
        grid-template-columns: repeat(3, 1fr);
    }

    .secteur-features__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .secteur-case__inner {
        grid-template-columns: 1.1fr 0.9fr;
    }

    .secteur-pricing__layout {
        grid-template-columns: 0.85fr 1.15fr;
    }

    .secteur-related__grid {
        grid-template-columns: repeat(6, 1fr);
    }

    .secteur-final-cta__inner {
        grid-template-columns: 0.75fr 1.25fr;
    }
}
@media (max-width: 767px) {
    .secteur-solution__usps {
        grid-template-columns: 1fr;
    }

    .secteur-features__grid {
        grid-template-columns: 1fr;
    }

    .secteur-related__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .secteur-final-cta__inner {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 575px) {
    .secteur-hero__benefits,
.secteur-pain__grid,
.secteur-related__grid {
        grid-template-columns: 1fr;
    }
}
.local-sections {
    padding: 5rem 0 2rem;
}
.local-sections__list {
    display: grid;
    gap: 4rem;
    max-width: 72rem;
}
.local-sections__text {
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.75;
}
.local-sections__text p {
    margin: 0 0 1.2rem;
}
.local-sections__text ul {
    margin: 0 0 1.2rem;
    padding-left: 2rem;
}
.local-sections__text strong {
    color: var(--color-text);
}

.local-facts {
    margin-top: 4rem;
    padding: 2.4rem;
    border-radius: var(--radius-md);
    background: var(--color-surface);
}
.local-facts__title {
    margin: 0 0 1.6rem;
    font-size: 1.8rem;
}
.local-facts__list {
    display: grid;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.local-facts__list li {
    position: relative;
    padding-left: 2rem;
    font-size: 1.5rem;
    line-height: 1.5;
}
.local-facts__list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--color-yellow-dark);
    font-weight: 700;
}

.local-toc {
    padding: 2rem 0;
}
.local-toc__label {
    margin: 0 0 1.2rem;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-muted);
}
.local-toc__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.local-toc__list a {
    font-size: 1.4rem;
    font-weight: 500;
    text-decoration: none;
}
.local-toc__list a:hover {
    color: var(--color-black);
}

.local-projects {
    padding: 7rem 0;
}
.local-projects__grid {
    display: grid;
    gap: 2rem;
    margin-top: 3rem;
}
.local-projects__card {
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.local-projects__card h3 {
    margin: 0 0 0.8rem;
    font-size: 2rem;
}
.local-projects__card h3 a {
    color: inherit;
    text-decoration: none;
}
.local-projects__card p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
}
.local-projects__tags {
    margin: 0 0 0.8rem;
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--color-muted);
}
.local-projects__image {
    display: block;
    margin-bottom: 1.2rem;
}
.local-projects__image img,
.local-projects__image .media-loader,
.local-projects__image .media-loader__img {
    width: 100%;
    border-radius: var(--radius-sm);
}
.local-projects__image .media-loader {
    display: block;
    max-width: none;
    overflow: hidden;
}
.local-projects__image .media-loader__img {
    display: block;
    height: auto;
}

.local-method {
    padding: 4rem 0;
}

@media (min-width: 768px) {
    .local-sections__list {
        grid-template-columns: 1fr;
    }

    .local-projects__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.contact-page {
    background: var(--color-surface);
}

.contact-hero {
    padding: 4rem 0 3rem;
}
.contact-hero__layout {
    display: grid;
    gap: 2.4rem;
    align-items: start;
}
@media (min-width: 768px) {
    .contact-hero__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 4rem;
        align-items: center;
    }
}
.contact-hero__title {
    margin: 0;
    font-size: clamp(3.2rem, 5vw, 5.2rem);
    line-height: 1.1;
    font-weight: 700;
}
.contact-hero__content {
    min-width: 0;
}
.contact-hero__intro {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.8rem;
    line-height: 1.7;
}
.contact-hero__note {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    margin: 1.6rem 0 0;
    padding: 0.8rem 1.2rem;
    border-radius: var(--radius-sm);
    background: var(--color-yellow);
    font-weight: 600;
}

.contact-info {
    padding: 0 0 4rem;
}
.contact-info__grid {
    display: grid;
    gap: 1.6rem;
}
.contact-info__item {
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.contact-info__item--wide {
    grid-column: 1/-1;
}
.contact-info__label {
    margin: 0 0 0.6rem;
    font-size: 1.3rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-muted);
}
.contact-info__value {
    margin: 0;
    font-size: 1.8rem;
    line-height: 1.5;
    color: var(--color-black);
    text-decoration: none;
}
.contact-info a.contact-info__value:hover {
    text-decoration: underline;
}

.contact-form-section {
    padding: 0 0 8rem;
}
.contact-form-section__inner {
    display: grid;
    gap: 4rem;
}

.contact-faq__title {
    margin: 0 0 2rem;
    font-size: 2.4rem;
}

.contact-form__intro {
    margin: -1rem 0 2rem;
    color: var(--color-muted);
    line-height: 1.6;
}

@media (min-width: 768px) {
    .contact-info__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-form-section__inner {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}
.realisations-page {
    background: var(--color-surface);
}

.realisations-hero {
    padding: 4rem 0 4rem;
}
.realisations-hero__layout {
    display: grid;
    gap: 3rem;
    align-items: center;
}
@media (min-width: 768px) {
    .realisations-hero__layout--split {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
        gap: 4rem;
    }
}
.realisations-hero__content {
    min-width: 0;
}
.realisations-hero__title {
    margin: 0 0 1.6rem;
    font-size: clamp(3.2rem, 5vw, 4.8rem);
    line-height: 1.1;
    font-weight: 700;
}
.realisations-hero__intro {
    margin: 0 0 2rem;
    max-width: 54rem;
    color: var(--color-muted);
    font-size: 1.8rem;
    line-height: 1.7;
}
.realisations-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.realisations-hero__panel {
    display: grid;
    gap: 2.4rem;
    padding: 3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.realisations-hero__panel-text {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.7;
}
.realisations-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.realisations-hero__stats li {
    display: grid;
    gap: 0.4rem;
}
.realisations-hero__stats strong {
    font-size: 2.4rem;
    line-height: 1.2;
}
.realisations-hero__stats span {
    color: var(--color-muted);
    font-size: 1.4rem;
}

.realisations-intro {
    display: none;
}

.realisations-projects {
    padding: 0 0 7rem;
}
.realisations-projects__grid {
    display: grid;
    gap: 2rem;
    margin-top: 3rem;
}
.realisations-projects__card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.realisations-projects__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}
.realisations-projects__image, .realisations-projects__placeholder {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
}
.realisations-projects__card > .media-loader {
    width: 100%;
    aspect-ratio: 16/10;
}
.realisations-projects__card > .media-loader .media-loader__img,
.realisations-projects__card > .media-loader .realisations-projects__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.realisations-projects__placeholder {
    background: linear-gradient(135deg, #444, #777);
}
.realisations-projects__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.6rem;
    padding: 2rem;
}
.realisations-projects__badge {
    align-self: flex-start;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: var(--color-yellow);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
}
.realisations-projects__category {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--color-muted);
}
.realisations-projects h3 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.3;
}
.realisations-projects__tags, .realisations-projects__text {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
}
.realisations-projects__tags {
    font-size: 1.3rem;
    font-weight: 500;
}
.realisations-projects__link {
    margin-top: auto;
    padding-top: 1rem;
    font-weight: 600;
}

.realisations-cta {
    padding: 0 0 8rem;
}
.realisations-cta__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 4rem;
    border-radius: var(--radius-lg);
    background: var(--color-black);
    color: var(--color-white);
}
.realisations-cta__title {
    margin: 0;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
}
.realisations-cta__text {
    margin: 0;
    max-width: 56rem;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
}

@media (min-width: 768px) {
    .realisations-projects__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 992px) {
    .realisations-projects__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.services-page {
    background: var(--color-surface);
}

.services-hero {
    padding: 4rem 0 4rem;
}
.services-hero__layout {
    display: grid;
    gap: 3rem;
    align-items: center;
}
@media (min-width: 768px) {
    .services-hero__layout--split {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
        gap: 4rem;
    }
}
.services-hero__content {
    min-width: 0;
}
.services-hero__title {
    margin: 0 0 1.6rem;
    font-size: clamp(3.2rem, 5vw, 4.8rem);
    line-height: 1.1;
    font-weight: 700;
}
.services-hero__intro {
    margin: 0 0 2rem;
    max-width: 54rem;
    color: var(--color-muted);
    font-size: 1.8rem;
    line-height: 1.7;
}
.services-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.services-hero__panel {
    display: grid;
    gap: 2.4rem;
    padding: 3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.services-hero__panel-text {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.7;
}
.services-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.services-hero__stats li {
    display: grid;
    gap: 0.4rem;
}
.services-hero__stats strong {
    font-size: 2.4rem;
    line-height: 1.2;
}
.services-hero__stats span {
    color: var(--color-muted);
    font-size: 1.4rem;
}

.services-intro {
    display: none;
}

.services-list {
    padding: 0 0 5rem;
}
.services-list__grid {
    display: grid;
    gap: 2rem;
    margin-top: 3rem;
}
@media (min-width: 768px) {
    .services-list__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1100px) {
    .services-list__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.services-list__card {
    display: grid;
    gap: 1rem;
    align-content: start;
    min-height: 100%;
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.services-list__card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}
.services-list__card:hover .services-list__link {
    color: var(--color-primary);
}
.services-list__card h3 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.3;
}
.services-list__index {
    display: inline-grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    background: var(--color-yellow);
    font-size: 1.4rem;
    font-weight: 700;
}
.services-list__eyebrow {
    margin: 0;
    color: var(--color-primary);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.services-list__text {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.6;
}
.services-list__link {
    margin-top: auto;
    padding-top: 0.8rem;
    color: var(--color-text);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.services-cta {
    padding: 0 0 6rem;
}
.services-cta__inner {
    display: grid;
    gap: 1.6rem;
    padding: 3.2rem;
    background: var(--color-yellow);
    color: var(--color-black);
    text-align: center;
}
.services-cta__title {
    margin: 0;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1.2;
    font-weight: 700;
}
.services-cta__text {
    margin: 0 auto;
    max-width: 56rem;
    font-size: 1.8rem;
    line-height: 1.6;
    opacity: 0.85;
}
.services-cta__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.secteurs-page {
    background: var(--color-surface);
}

.secteurs-hero {
    padding: 4rem 0 4rem;
}
.secteurs-hero__layout {
    display: grid;
    gap: 3rem;
    align-items: center;
}
@media (min-width: 768px) {
    .secteurs-hero__layout--split {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
        gap: 4rem;
    }
}
.secteurs-hero__content {
    min-width: 0;
}
.secteurs-hero__title {
    margin: 0 0 1.6rem;
    font-size: clamp(3.2rem, 5vw, 4.8rem);
    line-height: 1.1;
    font-weight: 700;
}
.secteurs-hero__intro {
    margin: 0 0 2rem;
    max-width: 54rem;
    color: var(--color-muted);
    font-size: 1.8rem;
    line-height: 1.7;
}
.secteurs-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.secteurs-hero__panel {
    display: grid;
    gap: 2.4rem;
    padding: 3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.secteurs-hero__panel-text {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.7;
}
.secteurs-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.secteurs-hero__stats li {
    display: grid;
    gap: 0.4rem;
}
.secteurs-hero__stats strong {
    font-size: 2.4rem;
    line-height: 1.2;
}
.secteurs-hero__stats span {
    color: var(--color-muted);
    font-size: 1.4rem;
}

.secteurs-intro {
    display: none;
}

.secteurs-list {
    padding: 0 0 5rem;
}
.secteurs-list__grid {
    display: grid;
    gap: 2rem;
    margin-top: 3rem;
}
@media (min-width: 768px) {
    .secteurs-list__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1100px) {
    .secteurs-list__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
.secteurs-list__card {
    display: grid;
    gap: 1rem;
    align-content: start;
    min-height: 100%;
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.secteurs-list__card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}
.secteurs-list__card:hover .secteurs-list__link {
    color: var(--color-primary);
}
.secteurs-list__card h3 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.3;
}
.secteurs-list__index {
    display: inline-grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    background: var(--color-yellow);
    font-size: 1.4rem;
    font-weight: 700;
}
.secteurs-list__eyebrow {
    margin: 0;
    color: var(--color-primary);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.secteurs-list__text {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.6;
}
.secteurs-list__link {
    margin-top: auto;
    padding-top: 0.8rem;
    color: var(--color-text);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.secteurs-cta {
    padding: 0 0 6rem;
}
.secteurs-cta__inner {
    display: grid;
    gap: 1.6rem;
    padding: 3.2rem;
    background: var(--color-yellow);
    color: var(--color-black);
    text-align: center;
}
.secteurs-cta__title {
    margin: 0;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1.2;
    font-weight: 700;
}
.secteurs-cta__text {
    margin: 0 auto;
    max-width: 56rem;
    font-size: 1.8rem;
    line-height: 1.6;
    opacity: 0.85;
}
.secteurs-cta__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.about-page,
.legal-page {
    background: var(--color-surface);
}

.about-hero,
.legal-hero {
    padding: 4rem 0 3rem;
}
.about-hero__title,
.legal-hero__title {
    margin: 0 0 1.6rem;
    max-width: 72rem;
    font-size: clamp(3.2rem, 5vw, 4.8rem);
    line-height: 1.1;
    font-weight: 700;
}
.about-hero__layout,
.legal-hero__layout {
    display: grid;
    gap: 3rem;
    align-items: start;
}
@media (min-width: 768px) {
    .about-hero__layout--split,
.legal-hero__layout--split {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
        gap: 4rem;
        align-items: center;
    }
}
.about-hero__intro,
.legal-hero__intro {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.8rem;
    line-height: 1.7;
}
.about-hero__stats,
.legal-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem 2rem;
    margin: 0;
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
    list-style: none;
}
.about-hero__stats li,
.legal-hero__stats li {
    display: grid;
    gap: 0.4rem;
}
.about-hero__stats strong,
.legal-hero__stats strong {
    font-size: 2.4rem;
    line-height: 1.2;
}
.about-hero__stats span,
.legal-hero__stats span {
    color: var(--color-muted);
    font-size: 1.4rem;
}

.about-story {
    padding: 0 0 5rem;
}
.about-story__text {
    max-width: none;
    color: var(--color-muted);
    font-size: 1.7rem;
    line-height: 1.75;
}
.about-story__text p:first-child {
    margin-top: 0;
}
.about-story__text p:last-child {
    margin-bottom: 0;
}

.about-values {
    padding: 0 0 5rem;
}
.about-values__grid {
    display: grid;
    gap: 2rem;
    margin-top: 3rem;
}
.about-values__card {
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.about-values__card h3 {
    margin: 0 0 1rem;
    font-size: 2rem;
}
.about-values__card p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.7;
}

.about-expertise {
    padding: 0 0 5rem;
}
.about-expertise__inner {
    display: grid;
    gap: 3rem;
    padding: 3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.about-expertise__text {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.7;
}
.about-expertise__list {
    display: grid;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.about-expertise__list li {
    position: relative;
    padding-left: 2rem;
    line-height: 1.6;
}
.about-expertise__list li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--color-black);
    font-weight: 700;
}

.about-cta {
    padding: 0 0 8rem;
}
.about-cta__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 4rem;
    border-radius: var(--radius-lg);
    background: var(--color-black);
    color: var(--color-white);
}
.about-cta__title {
    margin: 0;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
}
.about-cta__text {
    margin: 0;
    max-width: 56rem;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
}

@media (min-width: 768px) {
    .about-values__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-expertise__inner {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}
@media (min-width: 992px) {
    .about-values__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.legal-hero__updated {
    margin: 1.6rem 0 0;
    font-size: 1.4rem;
    color: var(--color-muted);
}

.legal-sections {
    padding: 0 0 8rem;
}
.legal-sections__inner {
    max-width: 80rem;
}
.legal-sections__block {
    padding: 2.4rem 0;
    border-bottom: 1px solid var(--color-border);
}
.legal-sections__block:first-child {
    padding-top: 0;
}
.legal-sections__block:last-child {
    border-bottom: 0;
}
.legal-sections__block h2 {
    margin: 0 0 1.2rem;
    font-size: 2.2rem;
    line-height: 1.3;
}
.legal-sections__content {
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.75;
}
.legal-sections__content p:first-child {
    margin-top: 0;
}
.legal-sections__content p:last-child {
    margin-bottom: 0;
}
.legal-sections__content ul {
    margin: 1rem 0;
    padding-left: 2rem;
}
.legal-sections__content li + li {
    margin-top: 0.6rem;
}
.legal-sections__content a {
    color: var(--color-black);
    font-weight: 600;
}

.sitemap-page {
    background: var(--color-surface);
}

.sitemap-hero {
    padding: 4rem 0 3rem;
}
.sitemap-hero__title {
    margin: 0 0 1.6rem;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 1.1;
}
.sitemap-hero__intro {
    margin: 0;
    max-width: 68rem;
    color: var(--color-muted);
    font-size: 1.8rem;
    line-height: 1.7;
}

.sitemap-sections {
    padding: 0 0 8rem;
}
.sitemap-sections__grid {
    display: grid;
    gap: 2.4rem;
}
.sitemap-sections__block {
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.sitemap-sections__block h2 {
    margin: 0 0 1.6rem;
    font-size: 2rem;
    line-height: 1.3;
}
.sitemap-sections__block h2 a {
    color: inherit;
    text-decoration: none;
}
.sitemap-sections__block h2 a:hover {
    text-decoration: underline;
}
.sitemap-sections__list {
    display: grid;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.sitemap-sections__list a {
    color: var(--color-text);
    font-size: 1.5rem;
    line-height: 1.5;
    text-decoration: none;
}
.sitemap-sections__list a:hover {
    text-decoration: underline;
}

@media (min-width: 768px) {
    .sitemap-sections__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 992px) {
    .sitemap-sections__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .sitemap-sections__block--wide {
        grid-column: span 2;
    }
}
.project-page {
    background: var(--color-surface);
}

.project-hero {
    padding: 4rem 0 6rem;
}
.project-hero .service-breadcrumb {
    margin-bottom: 4rem;
}
.project-hero__title {
    display: block;
    margin: 0 auto 1.6rem;
    max-width: 72rem;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 1.1;
    font-weight: 700;
    text-align: center;
}
.project-hero__intro {
    display: block;
    margin: 0 auto;
    max-width: 68rem;
    color: var(--color-muted);
    font-size: 1.8rem;
    line-height: 1.7;
    text-align: center;
}
.project-hero .service-eyebrow {
    display: block;
    margin: 0 auto 1rem;
    text-align: center;
}
.project-hero__actions {
    display: flex;
    justify-content: center;
    margin-top: 2.4rem;
}
.project-hero__visual {
    position: relative;
    margin: 4rem 0 0;
    overflow: hidden;
    border-radius: var(--radius-lg);
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, #2a2a2a, #555);
}
.project-hero__visual > .media-loader {
    position: absolute;
    inset: 0;
    max-width: none;
    height: 100%;
}
.project-hero__visual img, .project-hero__visual .media-loader__img, .project-hero__visual-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.project-hero__visual-placeholder {
    background: linear-gradient(135deg, #3a3a3a, #6a6a6a);
}
.project-hero__visual-overlay {
    position: absolute;
    inset: auto 0 0;
    padding: 6rem 2.4rem 2.4rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.35) 55%, transparent 100%);
}
.project-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.project-hero__tags li {
    display: inline-flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.7rem 1.2rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-white);
    line-height: 1.3;
    backdrop-filter: blur(4px);
}
.project-hero__tag-label {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.72;
}
.project-hero__tag-value {
    font-size: 1.4rem;
    font-weight: 600;
}

.project-meta {
    padding: 0 0 3rem;
}
.project-meta__grid {
    display: grid;
    gap: 1.6rem;
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.project-meta__item--wide {
    grid-column: 1/-1;
}
.project-meta__label {
    margin: 0 0 0.4rem;
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-muted);
}
.project-meta__value {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.5;
}
.project-meta__badge {
    display: inline-block;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    background: var(--color-yellow);
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
}

.project-gallery {
    padding: 0 0 5rem;
}
.project-gallery__header {
    margin-bottom: 2.4rem;
}
.project-gallery__intro {
    margin: 1rem 0 0;
    max-width: 64rem;
    color: var(--color-muted);
    line-height: 1.7;
}
.project-gallery__grid {
    display: grid;
    gap: 2rem;
}
.project-gallery__item {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.project-gallery__item img,
.project-gallery__item .media-loader,
.project-gallery__item .media-loader__img,
.project-gallery__item .project-gallery__placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.project-gallery__item .media-loader {
    max-width: none;
}
.project-gallery__item .media-loader__img {
    height: 100%;
}
.project-gallery__item figcaption {
    padding: 1rem 1.2rem;
    font-size: 1.4rem;
    color: var(--color-muted);
}
.project-gallery__item--empty .project-gallery__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--color-border);
    border-radius: 0;
    background: var(--color-surface);
    color: var(--color-muted);
    font-size: 1.3rem;
    font-weight: 500;
}
.project-gallery__placeholder {
    background: linear-gradient(135deg, #ddd, #bbb);
}

.project-content {
    padding: 0 0 5rem;
}
.project-content__grid {
    display: grid;
    gap: 3rem;
}
.project-content__block {
    padding: 2.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-white);
}
.project-content__block h2 {
    margin: 0 0 1.2rem;
    font-size: 2.2rem;
}
.project-content__text {
    color: var(--color-muted);
    font-size: 1.6rem;
    line-height: 1.75;
}
.project-content__text p:first-child {
    margin-top: 0;
}
.project-content__text p:last-child {
    margin-bottom: 0;
}

.project-results {
    padding: 0 0 5rem;
}
.project-results__grid {
    display: grid;
    gap: 1.6rem;
    margin: 2.4rem 0 0;
    padding: 0;
    list-style: none;
}
.project-results__item {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-white);
}
.project-results__item strong {
    font-size: 2.2rem;
    line-height: 1.2;
}
.project-results__item span {
    color: var(--color-muted);
    font-size: 1.4rem;
}

.project-cta {
    padding: 0 0 8rem;
}
.project-cta__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 4rem;
    border-radius: var(--radius-lg);
    background: var(--color-black);
    color: var(--color-white);
}
.project-cta__back {
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.4rem;
    text-decoration: none;
}
.project-cta__back:hover {
    color: var(--color-white);
}
.project-cta__title {
    margin: 0;
    font-size: clamp(2.4rem, 4vw, 3.2rem);
}
.project-cta__text {
    margin: 0;
    max-width: 56rem;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
}

@media (min-width: 768px) {
    .project-meta__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .project-gallery__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .project-content__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .project-results__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (min-width: 992px) {
    .project-gallery__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/*# sourceMappingURL=app.css.map*/