@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("vendor/inter/inter-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("vendor/inter/inter-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url("vendor/inter/inter-italic-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url("vendor/inter/inter-italic-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    color-scheme: light;

    --bs-body-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

    --ap-gris: #E6E6E6;
    --ap-noir: #000000;

    --bs-bg-body: light-dark(var(--ap-gris), var(--bs-gray-900));
    --bs-fg-body: light-dark(var(--ap-noir), var(--ap-gris));

    --bs-radius-1: 0;
    --bs-radius-2: 0;
    --bs-radius-3: 0;
    --bs-radius-4: 0;
    --bs-radius-5: 0;
    --bs-radius-6: 0;
    --bs-radius-7: 0;
    --bs-radius-8: 0;
    --bs-radius-9: 0;

    --ap-arrondi: 1rem;

    --bs-link-color: currentColor;
    --bs-link-hover-color: currentColor;
    --bs-link-underline-offset: .375em;

    --bs-btn-disabled-border-color: transparent;
}

* {
    text-decoration-thickness: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
}

a {
    text-decoration-color: color-mix(in oklch, currentColor 25%, transparent);
}

a:hover,
a:focus-visible,
.navbar-nav .nav-link.active {
    text-decoration-color: currentColor;
}

.badge {
    --bs-badge-border-radius: var(--bs-radius-pill);
}

.drawer {
    --bs-drawer-border-radius: var(--ap-arrondi);
    --bs-drawer-border-width: 0;
}

.drawer-title {
    font-size: calc(2 * var(--bs-font-size-md));
    line-height: 1;
}

.drawer-header .btn-icon {
    margin-block: calc(-.5 * var(--bs-drawer-padding-y));
    margin-inline-start: auto;
}

.pied-logo {
    width: 9rem;
    height: auto;
}

.pied-liens a {
    text-decoration-line: none;
}

.pied-liens a:hover,
.pied-liens a:focus-visible {
    text-decoration-line: underline;
}

.pied-credit {
    font-size: .81em;
    opacity: .9;
}

.faq {
    --bs-accordion-bg: var(--bs-white);
    --bs-accordion-btn-bg: var(--bs-white);
    --bs-accordion-btn-color: var(--bs-fg-body);
    --bs-accordion-active-bg: var(--bs-white);
    --bs-accordion-font-size: var(--bs-font-size-lg);
    border-radius: var(--ap-arrondi);
    overflow: hidden;
}

.navbar {
    --bs-navbar-color: var(--bs-gray-900);
    --bs-navbar-hover-color: var(--ap-noir);
    --bs-navbar-active-color: var(--ap-noir);

    --bs-navbar-brand-font-weight: var(--bs-font-weight-semibold);
    --bs-nav-link-font-weight: var(--bs-font-weight-medium);
    --bs-btn-input-font-weight: var(--bs-font-weight-medium);
    --bs-heading-font-weight: var(--bs-font-weight-semibold);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus-visible,
.navbar-nav .nav-link.active {
    text-decoration-line: underline;
}

.hero {
    display: grid;
}

.hero::before,
.hero-image,
.hero-texte {
    grid-area: 1 / 1;
}

.hero::before {
    content: "";
    z-index: 1;
    background: radial-gradient(ellipse at 0 100%, rgb(0 0 0 / .85), rgb(0 0 0 / 0) 70%);
    pointer-events: none;
}

.hero-image,
.hero::before,
.vignette img {
    border-radius: var(--ap-arrondi);
}

.hero-texte {
    z-index: 2;
    align-self: end;
}

.hero-cta {
    z-index: 2;
    grid-area: 2 / 1;
    justify-self: start;
}

.hero-image {
    height: 75vh;
}

.hero-logo {
    max-width: 35%;
    height: auto;
}

@media (width < 768px) {
    .hero-titre {
        line-height: 1;
    }

    .hero-sous-titre {
        line-height: var(--bs-heading-line-height);
    }
}

@media (width >= 768px) {
    .hero {
        grid-template-rows: 1fr auto;
    }

    .hero::before,
    .hero-image {
        grid-area: 1 / 1 / 3 / 2;
    }

    .hero-image {
        height: auto;
    }

    .hero-cta {
        --bs-theme-bg: var(--bs-white);
        --bs-theme-contrast: var(--bs-gray-900);
    }

    .hero-logo {
        width: auto;
        max-width: 100%;
        max-height: 18vh;
    }
}

.carousel-expertises {
    --bs-carousel-items: 1;
    --bs-carousel-items-gap: 1.5rem;
    --bs-carousel-items-peek: .75rem;
}

.carousel-expertises .carousel-inner {
    width: auto;
    margin-inline: calc(-1 * var(--bs-carousel-items-peek));
    padding-block-start: .75rem;
    margin-block-start: -.75rem;
}

.vignette {
    --bs-hover-lift-box-shadow: none;
}

.vignette img {
    transition: box-shadow var(--bs-hover-lift-transition-duration) var(--bs-hover-lift-transition-timing);
}

.vignette:hover img,
.vignette:focus-visible img {
    box-shadow: var(--bs-box-shadow-lg);
}

.carousel-expertises .carousel-item {
    flex-basis: calc((100% - var(--bs-carousel-items) * var(--bs-carousel-items-gap)) / (var(--bs-carousel-items) + .2));
}

@media (width >= 768px) {
    .carousel-expertises {
        --bs-carousel-items: 2;
    }

    .liste-villes {
        max-width: 80%;
    }
}

@media (width >= 1024px) {
    .carousel-expertises {
        --bs-carousel-items: 4;
    }

    .hero-titre {
        font-size: var(--bs-font-size-5xl);
    }

    .hero-sous-titre {
        font-size: var(--bs-font-size-2xl);
    }
}
