/* ======================================================
   Custom overrides for Feature page interactions
   ====================================================== */

/* footer background restored from the shipped template pattern */
.footer {
    background-image: url("../assets/images/footer-bg.avif");
    background-position: 50% 0;
    background-repeat: no-repeat;
    background-size: cover;
}

.skip-link {
    position: absolute;
    left: 16px;
    top: 0;
    z-index: 9999;
    background-color: var(--primary);
    color: var(--light);
    padding: 12px 16px;
    border-radius: 999px;
    text-decoration: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(-100% - 16px));
    transition: transform .2s ease, opacity .2s ease;
}

.skip-link:focus {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(16px);
}

.form-bot-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* -------------------------------------------------------
   Logo Marquee — JS requestAnimationFrame driven
   JS wraps both .logo-outer strips in this track and
   updates transform via inline style each frame.
   ------------------------------------------------------- */
.logo-marquee-track {
    display: flex;
    flex: none;
    /* NO CSS animation — JS drives transform directly */
}

.logo-marquee-track .logo-outer {
    flex: none;
}

.startups-right {
    position: relative;
    overflow: hidden;
}

.menu-icon-lines {
    width: 100%;
    height: 100%;
    grid-column-gap: 5px;
    grid-row-gap: 5px;
    flex-flow: column;
    justify-content: center;
    align-items: stretch;
    display: flex;
}

.menu-icon-lines span {
    width: 100%;
    height: 2px;
    background-color: var(--dark);
    border-radius: 999px;
    transition: transform .25s ease, opacity .25s ease;
    display: block;
}

.menu-button.w--open .menu-icon-lines span:first-child {
    transform: translateY(7px) rotate(45deg);
}

.menu-button.w--open .menu-icon-lines span:nth-child(2) {
    opacity: 0;
}

.menu-button.w--open .menu-icon-lines span:last-child {
    transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav-toggle {
    display: none;
}

.homepage-mobile-menu-panel {
    display: none;
}

@media screen and (max-width: 991px) {
    .navbar-container {
        width: 100vw;
        max-width: 100vw;
        box-sizing: border-box;
        position: relative;
        display: block;
    }

    .navbar-wrapper {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .homepage-nav-mobile .navbar-left {
        max-width: calc(100vw - 32px);
        width: 100%;
        justify-content: space-between;
    }

    .homepage-nav-mobile .navbar-center {
        flex: 0;
        display: none;
    }

    .navbar-right {
        display: none;
    }

    .homepage-nav-mobile .menu-button.w-nav-button {
        display: none !important;
    }

    .homepage-nav-mobile .mobile-nav-toggle {
        width: 28px;
        height: 22px;
        border: 0;
        appearance: none;
        background-color: transparent;
        cursor: pointer;
        grid-column-gap: 4px;
        grid-row-gap: 4px;
        flex-flow: column;
        justify-content: center;
        align-items: stretch;
        padding: 0;
        display: flex;
        position: relative;
        text-decoration: none;
    }

    .homepage-nav-mobile .mobile-nav-toggle span {
        width: 100%;
        height: 2px;
        background-color: var(--dark);
        border-radius: 999px;
        transform-origin: center;
        transition: transform .25s ease, opacity .25s ease;
        display: block;
    }

    .homepage-nav-mobile .mobile-nav-toggle.is-open span:first-child {
        transform: translateY(6px) rotate(45deg);
    }

    .homepage-nav-mobile .mobile-nav-toggle.is-open span:nth-child(2) {
        opacity: 0;
    }

    .homepage-nav-mobile .mobile-nav-toggle.is-open span:last-child {
        transform: translateY(-6px) rotate(-45deg);
    }

    .homepage-mobile-menu-panel.is-open {
        display: block;
        width: 100%;
        padding-top: 12px;
    }

    .homepage-mobile-nav-menu {
        border-top: 1px solid var(--stroke);
        border-bottom: 1px solid var(--stroke);
        background-color: var(--light);
        margin-top: 0;
        padding: 0 22px;
    }

    .homepage-mobile-group {
        border-bottom: 1px solid var(--stroke);
    }

    .homepage-mobile-group[open] {
        padding-bottom: 14px;
    }

    .homepage-mobile-summary {
        width: 100%;
        color: var(--dark);
        cursor: pointer;
        list-style: none;
        padding: 18px 0;
        font-size: 15px;
        font-weight: 500;
        line-height: 140%;
        position: relative;
    }

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

    .homepage-mobile-summary::after {
        content: "";
        width: 8px;
        height: 8px;
        border-right: 1.5px solid var(--dark);
        border-bottom: 1.5px solid var(--dark);
        position: absolute;
        top: 50%;
        right: 2px;
        transform: translateY(-65%) rotate(45deg);
        transition: transform .2s ease;
    }

    .homepage-mobile-group[open] .homepage-mobile-summary::after {
        transform: translateY(-35%) rotate(-135deg);
    }

    .homepage-mobile-submenu {
        width: 100%;
        display: flex;
        flex-flow: column;
        align-items: stretch;
    }

    .homepage-mobile-submenu-link {
        color: var(--grey-01);
        padding: 10px 0;
        font-size: 13px;
        font-weight: 400;
        line-height: 140%;
        text-decoration: none;
        display: block;
    }

    .homepage-mobile-submenu-link.w--current,
    .homepage-mobile-submenu-link:hover {
        color: var(--primary);
    }

    .homepage-mobile-menu-link {
        width: 100%;
        color: var(--dark);
        border-bottom: 1px solid var(--stroke);
        padding: 18px 0;
        font-size: 15px;
        font-weight: 500;
        line-height: 140%;
        text-decoration: none;
        display: block;
    }

    .homepage-mobile-nav-button-wrapper {
        width: 100%;
        padding-top: 18px;
        padding-bottom: 22px;
        display: flex;
    }

    .homepage-mobile-nav-button-wrapper .button-04 {
        width: 100%;
        justify-content: space-between;
    }
}

@media screen and (max-width: 767px) {
    .homepage-nav-mobile .mobile-nav-toggle {
        width: 26px;
        height: 20px;
    }

    .homepage-mobile-menu-panel.is-open {
        padding-top: 10px;
    }

    .homepage-mobile-nav-menu {
        padding-left: 18px;
        padding-right: 18px;
    }

    .homepage-mobile-summary,
    .homepage-mobile-menu-link {
        font-size: 14px;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .homepage-mobile-submenu-link {
        font-size: 12px;
    }

    .home-hero .hero-button.about-hero-button {
        grid-column-gap: 12px;
        grid-row-gap: 12px;
        flex-flow: column;
        align-items: stretch;
        width: 100%;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }

    .home-hero .hero-button.about-hero-button .button-01,
    .home-hero .hero-button.about-hero-button .button-02 {
        width: 100%;
    }

}

/* -------------------------------------------------------
   Integration Add-Ons Marquee — CSS driven (no JS)
   3 identical .integration-02-list elements → -33.33%
   scrolls exactly one list width for seamless loop.
   ------------------------------------------------------- */
@keyframes integrationScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-33.333%); }
}

.integration-02-list-wrap {
    display: flex !important;
    flex-wrap: nowrap !important;
    animation: integrationScroll 18s linear infinite !important;
    will-change: transform;
}

.integration-02-list-wrap .integration-02-list {
    flex-shrink: 0 !important;
}

.integration-02-inner {
    overflow: hidden !important;
}

/* -------------------------------------------------------
   Chill Feature Cards — Hover Overlay Reset
   .layout-white and .layout-black are hover overlays inherited
   from the original template. Without the legacy runtime they
   render at their stored opacity permanently, washing out the
   card images. Reset to 0 by default, transition in on hover.
   ------------------------------------------------------- */
.layout-white,
.layout-black {
    opacity: 0 !important;
    transition: opacity 0.3s ease;
}
.chill-feature-item:hover .layout-white {
    opacity: 0.5 !important;
}
.chill-feature-item:hover .layout-black {
    opacity: 0.6 !important;
}

/* -------------------------------------------------------
   Intelligence Insights — Tab Indicator Active States
   -------------------------------------------------------
   Structure:
   .insights-top-menu-wrap-XX  ← outer dashed ring
     .insights-top-menu-XX     ← inner solid ring
       h6.text-primary-XX      ← number text
       .insights-top-scroll-menu-XX  ← unused fill overlay
*/

/* Inactive tabs: transparent borders, dimmed numbers */
.insights-top-menu-wrap-01,
.insights-top-menu-wrap-02,
.insights-top-menu-wrap-03,
.insights-top-menu-wrap-04 {
    border-color: transparent;
    cursor: pointer;
    transition: border-color 0.3s ease;
}
.insights-top-menu-01,
.insights-top-menu-02,
.insights-top-menu-03,
.insights-top-menu-04 {
    border-color: transparent;
    transition: border-color 0.3s ease;
}

/* First tab starts active by default (via JS) */
.insights-top-menu-wrap-01 {
    border: 1px dashed var(--primary, #ef4e4e);
}
.insights-top-menu-01 {
    border: 1px solid var(--primary, #ef4e4e);
}

/* Active state applied by JS */
.insights-top-menu-wrap-01.active-tab,
.insights-top-menu-wrap-02.active-tab,
.insights-top-menu-wrap-03.active-tab,
.insights-top-menu-wrap-04.active-tab {
    border: 1px dashed var(--primary, #ef4e4e) !important;
}

.insights-top-menu-wrap-01.active-tab .insights-top-menu-01,
.insights-top-menu-wrap-02.active-tab .insights-top-menu-02,
.insights-top-menu-wrap-03.active-tab .insights-top-menu-03,
.insights-top-menu-wrap-04.active-tab .insights-top-menu-04 {
    border: 1px solid var(--primary, #ef4e4e) !important;
}

.intelligence-menu-icon {
    position: relative;
    /* transition: transform 0.2s; /* optional nice touch if you wanted one */
}

/* styles.css line 3570 hardcodes .h6.text-grey.text-01 { color: var(--primary) }
   This permanently makes item 01 red regardless of JS state.
   Override: all menu h6s default to grey; active parent makes them red. */
.intelligence-menu .h6.text-grey.text-01,
.intelligence-menu .h6.text-grey.text-02,
.intelligence-menu .h6.text-grey.text-03,
.intelligence-menu .h6.text-grey.text-04 {
    color: var(--grey-01, #706f6f) !important;
}

/* Active menu — heading becomes primary red.
   Must have HIGHER specificity (4 classes = 0,4,0) than the grey reset above (3 classes = 0,3,0). */
.intelligence-menu.active .h6.text-grey.text-01,
.intelligence-menu.active .h6.text-grey.text-02,
.intelligence-menu.active .h6.text-grey.text-03,
.intelligence-menu.active .h6.text-grey.text-04 {
    color: var(--primary, #ef4e4e) !important;
}

/* Reference site: description text is only visible for the ACTIVE menu item.
   Inactive items show only title + icon (collapsed). */
.intelligence-menu .intelligence-text-01,
.intelligence-menu .intelligence-text-02,
.intelligence-menu .intelligence-text-03,
.intelligence-menu .intelligence-text-04 {
    display: none;
}
.intelligence-menu.active .intelligence-text-01,
.intelligence-menu.active .intelligence-text-02,
.intelligence-menu.active .intelligence-text-03,
.intelligence-menu.active .intelligence-text-04 {
    display: block;
}

/* -------------------------------------------------------
   Intelligence Insights Images — stacked layers
   images 02/03/04 are position:absolute (from styles.css) so we
   use opacity + pointer-events instead of display:none to preserve
   the absolute stacking while allowing JS to crossfade them.
   ------------------------------------------------------- */
.insights-inner-image-02,
.insights-inner-image-03,
.insights-inner-image-04 {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

/* -------------------------------------------------------
   Pricing Toggle — size & badge fixes
   ------------------------------------------------------- */
.priceing-tab-link {
    transition: color 0.3s ease;
    white-space: nowrap;
}

/* Fix the toggle container to match reference compact size */
.priceing-tab-menu {
    width: fit-content !important;
    padding: 4px !important;
}

/* Fix tab link padding to be more compact */
.priceing-tab-link {
    padding: 7px 20px !important;
    font-size: 14px !important;
    line-height: 20px !important;
}

/* "Save 20%" badge — solid red, single-line pill */
.discount-box {
    background-color: var(--primary, red) !important;
    border-radius: 32px !important;
    padding: 2px 8px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.discount-text {
    color: var(--light, #fff) !important;
    font-size: 11px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
}

/* Save 20% badge is always fully visible — same as reference site */

/* -------------------------------------------------------
   Homepage GEO - 0.1Lab helper styles
   ------------------------------------------------------- */
.homepage-section-cta {
    justify-content: center;
    margin-top: 16px;
    display: flex;
}

.homepage-section-cta.homepage-section-cta-left {
    justify-content: flex-start;
}

.priceing-tab-pane.homepage-pricing-pane {
    display: none;
}

.priceing-tab-pane.homepage-pricing-pane.is-active {
    display: block;
}

.homepage-faq-cta {
    justify-content: center;
    margin-top: var(--_responsive---margin--margin-72-px);
    display: flex;
}

.homepage-faq-answer-copy {
    flex-flow: column;
    gap: 16px;
    padding-top: 14px;
    display: flex;
}

.homepage-faq-answer-copy .paragraph-02 {
    margin-bottom: 0;
}

.homepage-faq-answer-group {
    flex-flow: column;
    gap: 12px;
    display: flex;
}

.homepage-faq-answer-list {
    margin: 0;
    padding-left: 24px;
    display: grid;
    gap: 12px;
}

.homepage-faq-answer-list li {
    margin-bottom: 0;
}

.faq-answer-wrap {
    max-height: 0;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

.faq-list.active .faq-answer-wrap {
    opacity: 1;
}

.faq-list.active .faq-icon-secound-line {
    opacity: 0;
}

.homepage-ai-ready .our-mission-list {
    opacity: 0.45;
    transition: opacity 0.3s ease;
}

.homepage-ai-ready .our-mission-list.active {
    opacity: 1;
}

.homepage-ai-ready .our-mission-list h5,
.homepage-method .intelligence-menu .h6,
.homepage-method-step .h6 {
    transition: color 0.3s ease;
}

.homepage-method .intelligence-menu .h6,
.homepage-method-step .h6 {
    color: var(--grey-01);
}

.homepage-ai-ready .our-mission-list.active h5,
.homepage-method .intelligence-menu.active .h6,
.homepage-method-step.active-tab .h6 {
    color: var(--primary);
}

.homepage-method .insights-bottom-wrap-01 {
    height: 500vh;
}

.homepage-method-step {
    border: 1px dashed transparent;
    border-radius: 100px;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    padding: 5px;
    display: flex;
    transition: border-color 0.3s ease;
}

.homepage-method-step-inner {
    border: 1px solid transparent;
    border-radius: 100px;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    transition: border-color 0.3s ease;
}

.homepage-method-step.active-tab {
    border-color: var(--primary);
}

.homepage-method-step.active-tab .homepage-method-step-inner {
    border-color: var(--primary);
}

.homepage-method-line {
    transform-origin: left center;
    background-color: var(--primary);
    width: 100%;
    height: 1px;
    transform: scaleX(0);
}

.homepage-method .intelligence-copy {
    overflow: hidden;
}

.homepage-method .intelligence-text {
    color: var(--grey-01);
    margin-bottom: 0;
    padding-top: 8px;
    font-family: Intertight, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    display: none;
}

.homepage-method .intelligence-menu.active .intelligence-text {
    display: block;
}

.homepage-method-icon {
    width: 26px;
    height: 26px;
}

.homepage-method-image {
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
    position: absolute;
    inset: 0%;
}

.homepage-method-image.is-active {
    opacity: 1;
    pointer-events: auto;
}

.homepage-method-board {
    margin-top: var(--_responsive---margin--margin-80-px);
    border: 1px solid var(--stroke);
    background-color: var(--light);
    overflow: hidden;
}

.homepage-method-board-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    display: grid;
}

.homepage-method-card {
    grid-column: span 2;
    border-right: 1px solid var(--stroke);
    grid-column-gap: 28px;
    grid-row-gap: 28px;
    flex-flow: column;
    justify-content: space-between;
    min-height: 380px;
    padding: 36px 28px 32px;
    display: flex;
}

.homepage-method-card:nth-child(4),
.homepage-method-card:nth-child(5) {
    grid-column: span 3;
}

.homepage-method-card:nth-child(-n+3) {
    border-bottom: 1px solid var(--stroke);
}

.homepage-method-card:nth-child(3),
.homepage-method-card:nth-child(5) {
    border-right-width: 0;
}

.homepage-method-card-number {
    color: #8f8f8f;
    letter-spacing: -0.08em;
    font-family: Intertight, Arial, sans-serif;
    font-size: 132px;
    font-weight: 600;
    line-height: .9;
}

.homepage-method-card-copy {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex-flow: column;
    display: flex;
}

.homepage-method .homepage-method-board-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.homepage-method .homepage-method-card {
    grid-column: auto;
    min-height: 380px;
    border-bottom-width: 0;
    justify-content: flex-start;
    gap: 28px;
}

.homepage-method .homepage-method-card:nth-child(4),
.homepage-method .homepage-method-card:nth-child(5) {
    grid-column: auto;
}

.homepage-method .homepage-method-card:nth-child(-n+3) {
    border-bottom-width: 0;
}

.homepage-method .homepage-method-card:nth-child(3) {
    border-right: 1px solid var(--stroke);
}

.homepage-method .homepage-method-card:nth-child(4) {
    border-right-width: 0;
}

.homepage-method .homepage-method-card:nth-child(5) {
    border-right: 1px solid var(--stroke);
}

.homepage-method-card-title {
    min-height: 72px;
    margin: 0;
}

.homepage-method-card-weeks {
    margin-bottom: 0;
    min-height: 1.4em;
}

.homepage-method .homepage-method-card-list {
    grid-column-gap: 14px;
    grid-row-gap: 14px;
    flex-flow: column;
    margin-top: 2px;
    display: flex;
}

.homepage-method .homepage-method-card-item {
    display: block;
}

.homepage-method .homepage-method-card-item .paragraph-03 {
    margin-bottom: 0;
}

@keyframes featureMarquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.homepage-logo-slider .feature-marquee-track {
    display: flex;
    flex-wrap: nowrap;
    animation: featureMarquee 20s linear infinite;
    will-change: transform;
}

.homepage-logo-slider .feature-marquee-track .logo-outer {
    flex: none;
}

.homepage-logo-slider .logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
}

.homepage-logo-slider .brand-logo {
    width: auto;
    height: 30px;
    max-width: 150px;
    object-fit: contain;
}

@media screen and (max-width: 991px) {
    .homepage-method .homepage-method-board-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-method .homepage-method-card-copy {
        grid-template-rows: minmax(110px, auto) auto 1fr;
        align-content: start;
        display: grid;
    }

    .homepage-method .homepage-method-card {
        min-height: 320px;
        border-right: 1px solid var(--stroke);
        border-bottom: 1px solid var(--stroke);
        justify-content: flex-start;
        gap: 24px;
        grid-column: auto;
    }

    .homepage-method .homepage-method-card:nth-child(odd) {
        border-right: 1px solid var(--stroke);
    }

    .homepage-method .homepage-method-card:nth-child(2n) {
        border-right-width: 0;
    }

    .homepage-method .homepage-method-card:nth-child(3),
    .homepage-method .homepage-method-card:nth-child(4) {
        border-bottom-width: 0;
    }

    .homepage-method .homepage-method-card:last-child {
        border-right-width: 0;
        border-bottom-width: 0;
        grid-column: auto;
        min-height: 320px;
    }

    .homepage-method-board-grid {
        grid-template-columns: 1fr 1fr;
    }

    .homepage-method-card {
        min-height: 320px;
        border-right-width: 1px;
        border-bottom: 1px solid var(--stroke);
        padding: 28px 24px 24px;
    }

    .homepage-method-card-title {
        min-height: 0;
    }

    .homepage-method-card-weeks {
        min-height: 20px;
    }

    .homepage-method-card:nth-child(2n) {
        border-right-width: 0;
    }

    .homepage-method-card:last-child {
        border-right: 1px solid var(--stroke);
        border-bottom-width: 0;
        grid-column: 1 / -1;
        min-height: auto;
    }

    .homepage-method-card-number {
        font-size: 108px;
    }

}

@media screen and (max-width: 767px) {
    .homepage-method-board {
        margin-top: 40px;
    }

    .homepage-method-board-grid {
        grid-template-columns: 1fr;
    }

    .homepage-method .homepage-method-card {
        border-right-width: 0;
        border-bottom-width: 0;
        grid-column: auto;
        min-height: auto;
        gap: 20px;
        padding: 22px 18px 20px;
    }

    .homepage-method .homepage-method-card:not(:last-child) {
        border-bottom: 1px solid var(--stroke);
    }

    .homepage-method .homepage-method-card:last-child {
        border-bottom-width: 0;
    }

    .homepage-method .homepage-method-card-copy {
        display: flex;
    }

    .homepage-method-card-title {
        min-height: 0;
    }

    .homepage-method-card-number {
        font-size: 84px;
    }

    .homepage-method .homepage-method-card-copy > .h5 {
        min-height: 0;
    }

    .homepage-method .homepage-method-card-list {
        grid-column-gap: 12px;
        grid-row-gap: 12px;
    }
}

/* -------------------------------------------------------
   Homepage Hero — widen only the intro copy block
   ------------------------------------------------------- */
.home-hero {
    padding-top: 160px;
    padding-bottom: 144px;
}

.feature-hero {
    padding-top: 160px;
}

.home-hero .home-hero-top {
    max-width: 790px;
}

.feature-hero .feature-hero-top {
    max-width: 820px;
}

.home-hero .heading-wrap,
.home-hero .sub-heading-wrap,
.feature-hero .heading-wrap,
.feature-hero .sub-heading-wrap {
    width: 100%;
}

.home-hero .h1 .text-primary,
.feature-hero .h1 .text-primary {
    color: var(--primary);
}

.home-hero .sub-heading-wrap,
.feature-hero .sub-heading-wrap {
    max-width: 690px;
}

.feature-hero .feature-hero-bottom {
    margin-top: 144px;
}

@media screen and (max-width: 991px) {
    .home-hero {
        padding-top: 144px;
        padding-bottom: 112px;
    }

    .feature-hero {
        padding-top: 144px;
    }

    .feature-hero .feature-hero-bottom {
        margin-top: 112px;
    }
}

@media screen and (max-width: 767px) {
    .home-hero {
        padding-top: 120px;
        padding-bottom: 88px;
    }

    .feature-hero {
        padding-top: 120px;
    }

    .feature-hero .hero-button.about-hero-button {
        grid-column-gap: 12px;
        grid-row-gap: 12px;
        flex-flow: column;
        align-items: stretch;
        width: 100%;
        max-width: 320px;
        margin-left: auto;
        margin-right: auto;
    }

    .feature-hero .hero-button.about-hero-button .button-01,
    .feature-hero .hero-button.about-hero-button .button-02 {
        width: 100%;
    }

    .feature-hero .feature-hero-bottom {
        margin-top: 88px;
    }
}

/* -------------------------------------------------------
   Homepage GEO Process — custom how-it-works adaptation
   ------------------------------------------------------- */
.homepage-geo-process {
    margin-top: var(--_responsive---margin--margin-80-px);
    border: 1px solid var(--stroke);
}

.homepage-geo-process-inner {
    display: flex;
    flex-wrap: wrap;
}

.homepage-geo-process-left {
    background-color: #fafafa;
    border-right: 1px solid var(--stroke);
    flex: 1;
    min-width: 320px;
    padding: 40px;
}

.homepage-geo-process-copy {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    margin-top: 24px;
    display: flex;
}

.homepage-geo-process-right {
    flex: 1.45;
    min-width: 320px;
}

.homepage-geo-process-step {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    border-bottom: 1px solid var(--stroke);
    padding: 40px;
    display: flex;
}

.homepage-geo-process-step:last-child {
    border-bottom-width: 0;
}

.homepage-geo-process-number {
    color: var(--primary);
    font-family: "IBM Plex Mono", monospace;
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
}

.homepage-geo-process-step-copy {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: column;
    display: flex;
}

.homepage-market-shift .homepage-geo-process {
    margin-top: 0;
}

.homepage-market-shift .tool-kit-wrap {
    padding-top: 0;
}

.homepage-market-shift .tool-kit-bottom-wrap {
    margin-top: 0;
}

.homepage-market-shift .homepage-geo-process-left {
    background-color: var(--light);
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-flow: column;
    justify-content: center;
    display: flex;
}

.homepage-market-shift .h2 .text-primary {
    color: var(--primary);
}

.homepage-what-we-do .h2 .text-primary {
    color: var(--primary);
}

.homepage-compare-difference .h2 .text-primary {
    color: var(--primary);
}

.homepage-proof-case .h2 .text-primary {
    color: var(--primary);
}

.homepage-method .h2 .text-primary {
    color: var(--primary);
}

.homepage-faq-section .h2 .text-primary {
    color: var(--primary);
}

.footer-cta .h2 .text-primary {
    color: var(--primary);
}

.homepage-market-shift-right {
    flex: 1.45;
    min-width: 320px;
    display: grid;
    grid-template-columns: 1fr;
}

.homepage-market-shift-card {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-flow: column;
    padding: 40px;
    display: flex;
}

.homepage-market-shift-card + .homepage-market-shift-card {
    border-top: 1px solid var(--stroke);
}

.homepage-market-shift-card-copy {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    display: flex;
}

.homepage-inline-visual {
    --homepage-inline-bridge-side-width: 40px;
    --homepage-inline-bridge-overlap-top: 72px;
    --homepage-inline-bridge-overlap-bottom: 100px;
}

.homepage-what-we-do-shell {
    width: 100%;
    flex: 1;
    display: flex;
}

.homepage-what-we-do-text {
    width: 100%;
    flex: 1;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-top: var(--_responsive---padding--padding-100-px);
    padding-bottom: 104px;
    padding-left: 40px;
    padding-right: 40px;
}

.homepage-what-we-do-item {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    display: flex;
}

.homepage-what-we-do-item + .homepage-what-we-do-item {
    border-top: 1px solid var(--stroke);
    padding-top: 28px;
}

.homepage-market-shift-card-copy .h3,
.homepage-what-we-do-item .h3,
.homepage-proof-header-kicker,
.homepage-method-card-title,
.homepage-faq-question-title {
    font-size: 22px;
    line-height: 28px;
    flex-flow: column;
    display: flex;
    gap: 14px;
}

.homepage-market-shift-card-copy .h3::after,
.homepage-what-we-do-item .h3::after,
.homepage-proof-header-kicker::after,
.homepage-method-card-title::after,
.homepage-faq-question-title::after {
    content: "";
    width: 72px;
    height: 2px;
    background-color: var(--primary);
    display: block;
}

.homepage-faq-question-title {
    flex: 1;
    margin-bottom: 0;
}

.homepage-faq-question-title::after {
    content: none;
}

.homepage-what-we-do .difference-right {
    padding-top: 0;
    padding-bottom: 0;
    align-items: stretch;
    display: flex;
}

.homepage-inline-visual {
    padding-top: 0;
    padding-bottom: 0;
}

.homepage-inline-bridge {
    min-height: 112px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    display: grid;
    position: relative;
    overflow: visible;
}

.homepage-inline-bridge-rail {
    min-width: 0;
}

.homepage-inline-bridge-rail .border-inner-wrap {
    width: 100%;
}

.homepage-inline-bridge-center {
    z-index: 2;
    justify-content: center;
    display: flex;
    position: relative;
}

.homepage-inline-bridge-shell {
    width: clamp(320px, 46vw, 760px);
    margin-top: calc(var(--homepage-inline-bridge-overlap-top) * -1);
    margin-bottom: calc(var(--homepage-inline-bridge-overlap-bottom) * -1);
    position: relative;
}

.homepage-inline-bridge-cap {
    width: calc(100% + (var(--homepage-inline-bridge-side-width) * 2));
    margin: 0;
    margin-left: calc(var(--homepage-inline-bridge-side-width) * -1);
    border-left: 1px solid var(--stroke);
    border-right: 1px solid var(--stroke);
    box-sizing: border-box;
    padding-left: var(--homepage-inline-bridge-side-width);
    padding-right: var(--homepage-inline-bridge-side-width);
    position: relative;
}

.homepage-inline-bridge-cap::before,
.homepage-inline-bridge-cap::after {
    content: "";
    width: 1px;
    background-color: var(--stroke);
    position: absolute;
    top: -1px;
    bottom: -1px;
}

.homepage-inline-bridge-cap::before {
    left: 0;
}

.homepage-inline-bridge-cap::after {
    right: 0;
}

.homepage-inline-bridge-body {
    position: relative;
    height: auto;
}

.homepage-inline-bridge-body.single-image-ineer.testimonials-ineer-box {
    height: auto;
    min-height: 0;
}

.homepage-inline-bridge-body .l-border-wrap {
    width: var(--homepage-inline-bridge-side-width);
    padding: 0;
    position: absolute;
    top: 0;
    bottom: 0;
}

.homepage-inline-bridge-body .l-border-wrap:first-child {
    left: calc(var(--homepage-inline-bridge-side-width) * -1);
}

.homepage-inline-bridge-body .l-border-wrap:last-child {
    right: calc(var(--homepage-inline-bridge-side-width) * -1);
}

.homepage-inline-visual-frame {
    aspect-ratio: 360 / 193;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.homepage-inline-visual-image {
    width: 100%;
    height: 100%;
    background-color: var(--light);
    object-fit: contain;
    display: block;
}

.homepage-compare-difference .compare-item-inner {
    height: auto;
    min-height: 88px;
    padding-top: 24px;
    padding-bottom: 24px;
}

.homepage-compare-difference .compare-heading-item {
    height: auto;
    min-height: 166px;
    text-align: center;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
}

.homepage-compare-difference .compare-heading-item .h6 {
    text-align: center;
}

.homepage-compare-difference .compare-top {
    max-width: 760px;
}

.homepage-compare-difference .sub-heading-wrap {
    width: 100%;
    max-width: 690px;
}

.feature-why-us-compare .compare-top {
    max-width: 860px;
}

.feature-why-us-compare .heading-wrap {
    width: 100%;
    max-width: 860px;
}

.feature-why-us-compare .sub-heading-wrap {
    max-width: 760px;
}

.feature-why-us-compare .h2 .text-primary {
    color: var(--primary);
}

.homepage-compare-difference {
    background-image: none;
    background-color: var(--light);
}

.homepage-compare-difference .white-shadow.top {
    display: none;
}

.homepage-compare-difference .compare-wrap {
    padding-top: calc(var(--_responsive---padding--padding-100-px) + 24px);
}

.homepage-what-you-get-cta {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex-flow: column;
    align-items: center;
    display: flex;
}

.homepage-what-you-get-note {
    max-width: 440px;
    text-align: center;
}

.homepage-what-you-get-footer {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    flex-flow: column;
    margin-top: 40px;
    display: flex;
}


@media screen and (max-width: 991px) {
    .homepage-inline-visual {
        --homepage-inline-bridge-overlap-top: 0px;
        --homepage-inline-bridge-overlap-bottom: 0px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .homepage-market-shift .homepage-geo-process-left {
        border-right-width: 0;
        border-bottom: 1px solid var(--stroke);
        min-width: 0;
        text-align: center;
        align-items: center;
    }

    .homepage-market-shift .homepage-geo-process-left .tag-wrap,
    .homepage-market-shift .homepage-geo-process-left .heading-wrap {
        text-align: center;
        justify-content: center;
        align-items: center;
        margin-left: auto;
        margin-right: auto;
    }

    .homepage-market-shift-right {
        grid-template-columns: 1fr;
        min-width: 0;
    }

    .homepage-market-shift-card + .homepage-market-shift-card {
        border-top: 1px solid var(--stroke);
    }

    .homepage-market-shift-card-copy,
    .homepage-market-shift-card-copy .h3,
    .homepage-market-shift-card-copy .paragraph-03,
    .homepage-what-we-do-text,
    .homepage-what-we-do-item,
    .homepage-what-we-do-item .h3,
    .homepage-what-we-do-item .paragraph-03 {
        text-align: left;
    }

    .homepage-market-shift-card-copy .h3,
    .homepage-what-we-do-item,
    .homepage-what-we-do-item .h3 {
        align-items: flex-start;
    }

    .homepage-inline-bridge {
        min-height: 0;
        display: block;
    }

    .homepage-inline-bridge-shell {
        width: min(100%, 620px);
        margin-top: 0;
        margin-bottom: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .homepage-inline-bridge-rail,
    .homepage-inline-bridge-cap {
        display: none;
    }

    .homepage-inline-bridge-body {
        display: block;
        position: relative;
    }

    .homepage-inline-bridge-body .l-border-wrap {
        display: none;
    }

    .homepage-inline-visual-frame {
        width: 100%;
        justify-content: center;
        align-items: center;
        border-top: 1px solid var(--stroke);
        border-right: 1px solid var(--stroke);
        border-bottom: 1px solid var(--stroke);
        border-left: 1px solid var(--stroke);
        background-color: var(--light);
        padding: 20px;
        box-sizing: border-box;
        aspect-ratio: auto;
        display: flex;
    }

    .homepage-inline-visual-image {
        width: 100%;
        max-width: 100%;
        height: auto;
        background-color: transparent;
        object-fit: contain;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    .homepage-logo-slider .logo-box {
        max-width: 82px;
        margin-right: 40px;
    }

    .homepage-logo-slider .brand-logo {
        height: 22px;
        max-width: 108px;
    }

    .homepage-what-you-get-footer {
        grid-column-gap: 32px;
        grid-row-gap: 32px;
        margin-top: 32px;
    }

    .homepage-what-you-get-note {
        max-width: 420px;
    }

    .homepage-compare-difference .compare-wrap {
        padding-top: 24px;
    }
}

@media screen and (max-width: 767px) {
    .homepage-market-shift .homepage-geo-process-left,
    .homepage-what-we-do .difference-left-content,
    .homepage-compare-difference .compare-top,
    .homepage-proof-header,
    .homepage-method .insights-top-heading,
    .homepage-faq-section .faq-top,
    .footer-cta {
        box-sizing: border-box;
        padding-left: 18px;
        padding-right: 18px;
    }

    .homepage-compare-difference .compare-bottom {
        overflow: visible;
    }

    .homepage-compare-difference .compare-item-wrap {
        grid-template-columns: 1fr;
        overflow: visible;
    }

    .homepage-compare-difference .compare-item:first-child {
        display: none;
    }

    .homepage-compare-difference .compare-item {
        width: 100%;
        min-width: 0;
        border-bottom: 1px solid var(--stroke);
    }

    .homepage-compare-difference .compare-item:last-child {
        border-bottom-width: 0;
    }

    .homepage-compare-difference .compare-heading-item,
    .homepage-compare-difference .compare-heading-item.bg-grey {
        height: auto;
        min-height: 0;
        text-align: center;
        justify-content: center;
        align-items: center;
        padding: 20px 18px;
    }

    .homepage-compare-difference .compare-item-inner,
    .homepage-compare-difference .compare-item-inner.bg-grey {
        height: auto;
        min-height: 0;
        padding: 14px 18px 16px;
        display: flex;
        flex-flow: column;
        gap: 8px;
    }

    .homepage-compare-difference .compare-item:not(:first-child) .compare-item-inner::before {
        font-size: 12px;
        line-height: 16px;
        font-weight: 600;
        letter-spacing: .02em;
        color: var(--grey-01);
        content: "";
        display: block;
    }

    .homepage-compare-difference .compare-item:not(:first-child) .compare-item-inner:nth-child(2)::before {
        content: "Priorité";
    }

    .homepage-compare-difference .compare-item:not(:first-child) .compare-item-inner:nth-child(3)::before {
        content: "Approche";
    }

    .homepage-compare-difference .compare-item:not(:first-child) .compare-item-inner:nth-child(4)::before {
        content: "Résultat";
    }

    .homepage-compare-difference .compare-item:not(:first-child) .compare-item-inner:nth-child(5)::before {
        content: "Logique";
    }

    .homepage-compare-difference .compare-item:not(:first-child) .compare-item-inner:nth-child(6)::before {
        content: "Mesure";
    }

    .homepage-compare-difference .compare-item-inner .paragraph-04 {
        overflow-wrap: anywhere;
    }

    .homepage-market-shift .homepage-geo-process-inner {
        display: block;
    }

    .homepage-market-shift .homepage-geo-process-left,
    .homepage-market-shift-right,
    .homepage-market-shift-card {
        width: 100%;
        flex: none;
    }

    .homepage-market-shift .homepage-geo-process,
    .homepage-market-shift .homepage-geo-process-inner,
    .homepage-market-shift .homepage-geo-process-left,
    .homepage-market-shift-right,
    .homepage-market-shift-card,
    .homepage-market-shift-card-copy,
    .homepage-what-we-do-shell,
    .homepage-what-we-do .difference-right,
    .homepage-what-we-do-text {
        min-width: 0;
        max-width: 100%;
    }

    .homepage-market-shift .homepage-geo-process-left,
    .homepage-market-shift-card,
    .homepage-what-we-do-text {
        box-sizing: border-box;
        padding-left: 18px;
        padding-right: 18px;
    }

    .homepage-market-shift-card-copy .h3,
    .homepage-what-we-do-item .h3,
    .homepage-proof-header-kicker,
    .homepage-method-card-title,
    .homepage-faq-question-title {
        font-size: 20px;
        line-height: 26px;
    }

    .homepage-what-we-do-text,
    .homepage-what-we-do-item,
    .homepage-what-we-do-item .h3,
    .homepage-what-we-do-item .paragraph-03 {
        text-align: left;
    }

    .homepage-what-we-do-item,
    .homepage-what-we-do-item .h3 {
        align-items: flex-start;
    }

    .homepage-market-shift .heading-wrap,
    .homepage-market-shift .sub-heading-wrap,
    .homepage-market-shift-card-copy,
    .homepage-market-shift-card-copy .paragraph-03,
    .homepage-market-shift-card-copy .h3,
    .homepage-what-we-do .heading-wrap,
    .homepage-what-we-do-text,
    .homepage-what-we-do-text .paragraph-03,
    .homepage-what-we-do-item .h3,
    .homepage-proof-header-kicker,
    .homepage-method-card-title,
    .homepage-faq-question-title {
        overflow-wrap: anywhere;
        word-break: normal;
    }

}

@media screen and (max-width: 479px) {
    .homepage-market-shift .homepage-geo-process-left,
    .homepage-market-shift-card,
    .homepage-what-we-do-text,
    .homepage-what-we-do .difference-left-content,
    .homepage-compare-difference .compare-top,
    .homepage-proof-header,
    .homepage-method .insights-top-heading,
    .homepage-faq-section .faq-top,
    .footer-cta {
        padding-left: 16px;
        padding-right: 16px;
    }

    .homepage-market-shift-card {
        padding-top: 28px;
        padding-bottom: 28px;
    }

    .homepage-market-shift-card-copy {
        grid-column-gap: 12px;
        grid-row-gap: 12px;
    }

    .homepage-market-shift-card-copy .h3,
    .homepage-what-we-do-item .h3,
    .homepage-proof-header-kicker,
    .homepage-method-card-title,
    .homepage-faq-question-title {
        font-size: 20px;
        line-height: 26px;
    }

    .homepage-what-we-do-text {
        padding-top: 32px;
        padding-bottom: 32px;
    }
}

@media screen and (max-width: 767px) {
    .homepage-inline-visual {
        padding-top: 0;
        padding-bottom: 0;
    }

    .homepage-compare-difference .compare-wrap {
        padding-top: 20px;
    }

    .homepage-inline-bridge {
        min-height: 0;
    }

    .homepage-inline-bridge-shell {
        width: 100%;
    }

    .homepage-inline-visual-frame {
        padding: 20px 16px;
    }

    .homepage-logo-slider .logo-box {
        max-width: 72px;
        margin-right: 32px;
    }

    .homepage-logo-slider .brand-logo {
        height: 20px;
        max-width: 92px;
    }

    .homepage-what-you-get-footer {
        grid-column-gap: 24px;
        grid-row-gap: 24px;
        margin-top: 24px;
    }

    .homepage-what-you-get-cta {
        width: 100%;
    }

    .homepage-what-you-get-note {
        max-width: 320px;
    }
}

/* -------------------------------------------------------
   Homepage Deliverables — interactive tabs adaptation
   ------------------------------------------------------- */
.homepage-deliverables-tabs {
    margin-top: 0;
    border-right: 1px solid var(--stroke);
    border-bottom: 1px solid var(--stroke);
    border-left: 1px solid var(--stroke);
    background-color: var(--light);
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
}

.homepage-deliverables-tabs-nav {
    border-right: 1px solid var(--stroke);
    background-color: var(--light);
    display: flex;
    flex-flow: column;
}

.homepage-deliverables-tab {
    text-align: left;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--stroke);
    border-left: 3px solid transparent;
    grid-column-gap: 18px;
    grid-row-gap: 18px;
    cursor: pointer;
    padding: 28px 32px 28px 29px;
    transition: background-color .25s ease, border-color .25s ease;
    display: flex;
}

.homepage-deliverables-tab:last-child {
    border-bottom-width: 0;
}

.homepage-deliverables-tab.is-active {
    border-left-color: #ef4e4e;
    background-color: var(--light);
}

.homepage-deliverables-tab:focus-visible {
    outline: 0;
    box-shadow: inset 0 0 0 1px var(--stroke);
}

.homepage-deliverables-tab-count {
    color: var(--dark);
    opacity: .45;
    font-family: "IBM Plex Mono", monospace;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    flex: none;
}

.homepage-deliverables-tab-copy {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: column;
    display: flex;
}

.homepage-deliverables-tab-copy .h5 {
    color: #787878;
    transition: color .25s ease;
}

.homepage-deliverables-tab.is-active .homepage-deliverables-tab-copy .h5 {
    color: var(--dark);
}

.homepage-deliverables-tab-copy .paragraph-04 {
    display: none;
}

.homepage-deliverables-tab.is-active .homepage-deliverables-tab-copy .paragraph-04 {
    display: block;
}

.homepage-deliverables-tabs-content {
    background-color: var(--light);
    min-width: 0;
    padding: 32px;
}

.homepage-deliverables-pane {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-flow: column;
    display: none;
}

.homepage-deliverables-pane.is-active {
    display: flex;
}

.homepage-deliverables-pane-copy {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    display: flex;
}

.homepage-deliverables-pane-media {
    background-color: #fff;
    border: 1px solid var(--stroke);
    justify-content: center;
    align-items: center;
    min-height: 420px;
    padding: 24px;
    display: flex;
}

.homepage-deliverables-pane-asset {
    width: min(100%, 620px);
    aspect-ratio: 3 / 2;
    justify-content: center;
    align-items: center;
    display: flex;
}

.homepage-deliverables-pane-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.homepage-deliverables-pane-action {
    margin-top: 4px;
}

@media screen and (max-width: 991px) {
    .homepage-deliverables-tabs {
        grid-template-columns: 1fr;
    }

    .homepage-deliverables-tabs-nav {
        border-right-width: 0;
        border-bottom: 1px solid var(--stroke);
    }

    .homepage-deliverables-tabs-content {
        padding: 28px;
    }

    .homepage-deliverables-pane-media {
        min-height: 340px;
    }
}

@media screen and (max-width: 767px) {
    .homepage-deliverables-tab {
        grid-column-gap: 14px;
        grid-row-gap: 14px;
        padding: 22px 20px 22px 17px;
    }

    .homepage-deliverables-tab-copy .paragraph-04 {
        display: block;
    }

    .homepage-deliverables-tabs-content {
        padding: 20px;
    }

    .homepage-deliverables-pane {
        grid-column-gap: 20px;
        grid-row-gap: 20px;
    }

    .homepage-deliverables-pane-media {
        min-height: 260px;
        padding: 16px;
    }
}

/* -------------------------------------------------------
   Homepage Signals — align title spacing with chill-feature
   ------------------------------------------------------- */
.homepage-signals-intro .customer-stories-wrap {
    grid-template-columns: 1fr;
}

.homepage-signals-intro .customer-stories-left {
    text-align: center;
    border-right-width: 0;
    justify-content: center;
    align-items: center;
    max-width: 530px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.homepage-signals-intro .heading-wrap.customer-stories-heading {
    width: auto;
    max-width: 530px;
}

.homepage-signals-intro .sub-heading-wrap {
    max-width: 590px;
}

.homepage-signals-intro .customer-stories-right {
    justify-content: center;
}

.homepage-signals-intro .stories-right-inner {
    text-align: center;
    align-items: center;
    width: 590px;
    max-width: 100%;
    padding-top: 0;
    padding-bottom: var(--_responsive---padding--padding-60-px);
    grid-column-gap: 28px;
    grid-row-gap: 28px;
}

.homepage-signals-intro .multiple-client-wrap,
.homepage-signals-intro .stroy-wrap {
    justify-content: center;
    align-items: center;
}

.homepage-signals-intro .client-info-wrap._01 {
    align-items: center;
}

.homepage-signals-intro .client-logo-wrap {
    width: auto;
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    align-items: center;
    display: flex;
    overflow: visible;
}

.homepage-signals-intro .homepage-signal-card-icon {
    width: 20px;
    height: 20px;
    flex: none;
}

.homepage-ai-ready .our-mission-main-bottom {
    position: relative;
    top: auto;
}

.homepage-ai-ready .our-mission-bottom {
    height: auto;
}

.homepage-signals-fourup .customer-stories-bottom {
    grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 767px) {
    .homepage-signals-intro .customer-stories-left,
    .homepage-signals-intro .heading-wrap.customer-stories-heading,
    .homepage-signals-intro .sub-heading-wrap,
    .homepage-signals-intro .stories-right-inner {
        width: 100%;
        max-width: 100%;
    }
}

.homepage-fit-marquee {
    position: relative;
    overflow: hidden;
}

.homepage-method .insights-top {
    max-width: 960px;
}

.homepage-method .insights-top-heading {
    max-width: 900px;
}

.homepage-method .heading-wrap {
    width: 100%;
    max-width: 900px;
}

.homepage-method .sub-heading-wrap {
    max-width: 690px;
}

.homepage-method-nowrap {
    white-space: nowrap;
}

.homepage-fit-marquee-track {
    align-items: center;
    display: flex;
    width: max-content;
    will-change: transform;
}

.homepage-fit-section .our-vision-bottom-top {
    grid-template-columns: 1fr 1fr 1fr;
}

.homepage-reassurance-wrap {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    flex-flow: column;
    padding-left: var(--_responsive---padding--padding-60-px);
    padding-right: var(--_responsive---padding--padding-60-px);
    display: flex;
}

.homepage-reassurance-main {
    justify-content: center;
    display: flex;
}

.homepage-reassurance-main-card {
    text-align: center;
    align-items: center;
    width: 100%;
    max-width: 860px;
}

.homepage-reassurance-main-card .priceing-title-wrap,
.homepage-reassurance-main-card .priceing-included-wrap,
.homepage-reassurance-main-card .included-wrap {
    align-items: center;
}

.homepage-reassurance-main-card .included-wrap {
    width: 100%;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.homepage-reassurance-main-card .included-item {
    justify-content: center;
}

.homepage-proof-stats {
    grid-template-columns: 1fr 1fr 1fr;
}

.homepage-proof-case .container {
    grid-column-gap: 48px;
    grid-row-gap: 48px;
    flex-flow: column;
    display: flex;
}

.homepage-proof-case .container > .border-inner-wrap:last-child {
    margin-top: -48px;
}

.homepage-proof-header {
    grid-column-gap: 0;
    grid-row-gap: 24px;
    grid-template-columns: minmax(0, 536px) auto minmax(320px, 1fr);
    align-items: stretch;
    box-sizing: border-box;
    padding-left: 60px;
    padding-right: 24px;
    display: grid;
}

.homepage-proof-header-main {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-flow: column;
    display: flex;
}

.homepage-proof-header .heading-wrap {
    max-width: 100%;
}

.homepage-proof-header-divider {
    width: 1px;
    height: 100%;
    justify-self: stretch;
}

.homepage-proof-header-divider .vertical-line {
    width: 1px;
    height: 100%;
}

.homepage-proof-header-side {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: 32px;
    display: flex;
}

.homepage-proof-header-copy {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex-flow: column;
    display: flex;
}

.homepage-proof-header-kicker {
    margin: 0;
}

.homepage-proof-header-actions {
    flex-wrap: wrap;
    justify-content: center;
    align-self: center;
}

.homepage-proof-showcase {
    grid-column-gap: 0;
    grid-row-gap: 24px;
    grid-template-columns: minmax(0, 1.22fr) auto minmax(320px, .78fr);
    align-items: stretch;
    display: grid;
}

.homepage-proof-visual {
    justify-content: center;
    align-items: center;
    border-top: 1px solid var(--stroke);
    border-bottom: 1px solid var(--stroke);
    padding: 8px;
    display: flex;
}

.homepage-proof-visual-image {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.homepage-proof-divider {
    width: 1px;
    height: 100%;
    justify-self: stretch;
}

.homepage-proof-divider .vertical-line {
    width: 1px;
    height: 100%;
}

.homepage-proof-metrics-grid {
    grid-column-gap: 0;
    grid-row-gap: 0;
    grid-template-columns: 1fr 1fr;
    align-self: stretch;
    border-top: 1px solid var(--stroke);
    border-bottom: 1px solid var(--stroke);
    display: grid;
}

.homepage-proof-metric-cell {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 176px;
    padding: 28px;
    display: flex;
}

.homepage-proof-metric-cell:nth-child(-n+2) {
    border-bottom: 1px solid var(--stroke);
    align-items: center;
    text-align: center;
}

.homepage-proof-metric-cell:first-child {
    border-right: 1px solid var(--stroke);
}

.homepage-proof-metric-cell-wide {
    grid-column: 1 / -1;
    align-items: center;
    text-align: center;
}

.homepage-proof-metric-label {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    justify-content: center;
    align-items: center;
    margin-top: 2px;
    display: flex;
}

.homepage-reassurance-grid {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-columns: 1fr 1fr 1fr;
    display: grid;
}

.homepage-reassurance-divider {
    width: calc(100% + (var(--_responsive---padding--padding-60-px) * 2));
    margin-left: calc(var(--_responsive---padding--padding-60-px) * -1);
}

.homepage-pricing-divider {
    margin-top: var(--_responsive---margin--margin-80-px);
    margin-bottom: var(--_responsive---padding--padding-20-px);
}

#reassurance.contact-us {
    margin-top: var(--_responsive---margin--margin-40-px);
    margin-bottom: var(--_responsive---margin--margin-40-px);
}

#faq.faq {
    margin-top: 0;
}

.homepage-faq-section .faq-wrap {
    padding-top: 64px;
}

.homepage-faq-section .faq-top {
    max-width: 860px;
}

.homepage-faq-section .faq-bottom {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    display: grid;
}

.page-methode-geo .homepage-faq-section .faq-bottom {
    display: flex;
    flex-flow: column;
    gap: 0;
    width: 100%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.homepage-faq-column {
    flex-flow: column;
    gap: 0;
    display: flex;
}

.homepage-faq-section .faq-heading,
.homepage-faq-section .sub-heading-wrap {
    max-width: 760px;
}

.homepage-reassurance-card .contact-info-box {
    grid-column-gap: 14px;
    grid-row-gap: 14px;
}

@media screen and (max-width: 991px) {
    .homepage-faq-section .faq-wrap {
        padding-top: 48px;
    }

    .homepage-faq-section .faq-bottom {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .homepage-proof-header {
        grid-template-columns: 1fr;
        text-align: center;
        align-items: center;
        margin-left: auto;
        margin-right: auto;
        padding-left: 10px;
        padding-right: 10px;
    }

    .homepage-proof-header-main,
    .homepage-proof-header-side {
        align-items: center;
    }

    .homepage-proof-header-divider {
        display: none;
    }

    .homepage-proof-header-side {
        padding-left: 0;
    }

    .homepage-proof-showcase {
        grid-template-columns: 1fr;
    }

    .homepage-proof-divider {
        display: none;
    }

    .homepage-fit-section .our-vision-bottom-top {
        grid-template-columns: 1fr 1fr;
    }

    .homepage-reassurance-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 767px) {
    .homepage-faq-section .faq-wrap {
        padding-top: 36px;
    }

    .homepage-proof-case .container {
        grid-column-gap: 32px;
        grid-row-gap: 32px;
    }

    .homepage-proof-case .container > .border-inner-wrap:last-child {
        margin-top: -32px;
    }

    .homepage-proof-header {
        grid-column-gap: 20px;
        grid-row-gap: 20px;
    }

    .homepage-proof-showcase,
    .homepage-proof-metrics-grid {
        grid-template-columns: 1fr;
    }

    .homepage-proof-visual {
        padding: 8px;
    }

    .homepage-proof-visual-image {
        width: 100%;
    }

    .homepage-proof-metric-cell,
    .homepage-proof-metric-cell-wide {
        min-height: 0;
        padding: 24px 20px;
    }

    .homepage-proof-metric-cell:first-child {
        border-right-width: 0;
    }

    .homepage-proof-metric-cell:nth-child(-n+2),
    .homepage-proof-metric-cell-wide {
        border-bottom: 1px solid var(--stroke);
    }

    .homepage-proof-metric-cell-wide:last-child {
        border-bottom-width: 0;
    }

    .homepage-fit-section .our-vision-bottom-top {
        grid-template-columns: 1fr;
    }

    .homepage-reassurance-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .homepage-reassurance-divider {
        width: 100%;
        margin-left: 0;
    }

    .homepage-reassurance-grid {
        grid-template-columns: 1fr;
    }
}

/* -------------------------------------------------------
   Methode GEO — page-scoped helpers
   ------------------------------------------------------- */
.methode-geo-inline-link {
    color: var(--primary);
    text-decoration: none;
    border-bottom: 1px solid var(--stroke);
    transition: border-color .2s ease, color .2s ease;
}

.methode-geo-inline-link:hover {
    border-bottom-color: var(--primary);
}

.methode-geo-bullet-list {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: column;
    display: flex;
}

.methode-geo-table .compare-top,
.methode-geo-measure .compare-top {
    max-width: 720px;
}

.methode-geo-table .compare-bottom,
.methode-geo-measure .compare-bottom {
    max-width: 1200px;
}

.methode-geo-problem-solution-frame {
    margin-top: var(--_responsive---margin--margin-72-px);
}

.methode-geo-problem-solution-frame > .border-wrap,
.methode-geo-problem-solution-frame > .border-wrap._01 {
    border-top: 1px solid var(--stroke);
    border-bottom: 1px solid var(--stroke);
}

.methode-geo-problem-solution-shell {
    grid-column-gap: 0;
    grid-row-gap: 0;
    justify-content: flex-start;
    align-items: stretch;
    display: flex;
}

.methode-geo-problem-solution-grid {
    flex: 1;
    min-width: 0;
    grid-template-columns: 1fr 1fr;
    display: grid;
}

.methode-geo-problem-solution-col {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    background-color: #fff;
    flex-flow: column;
    padding: 56px;
    display: flex;
}

.methode-geo-problem-solution-col.is-solution {
    background-color: var(--primary);
    color: #fff !important;
}

.methode-geo-problem-solution-col:first-child {
    border-right: 1px solid var(--stroke);
}

.methode-geo-problem-tag {
    margin-bottom: 0;
}

.methode-geo-problem-tag-icon-light {
    filter: brightness(0) invert(1);
}

.methode-geo-problem-tag-text-light {
    color: #fff;
}

.methode-geo-problem-solution-col .h4 {
    color: var(--dark);
}

.methode-geo-problem-solution-col.is-solution,
.methode-geo-problem-solution-col.is-solution .h4,
.methode-geo-problem-solution-col.is-solution .paragraph-04,
.methode-geo-problem-solution-col.is-solution p,
.methode-geo-problem-solution-col.is-solution .tag-01,
.methode-geo-problem-solution-col.is-solution .methode-geo-problem-solution-item,
.methode-geo-problem-solution-col.is-solution .methode-geo-problem-solution-item * {
    color: #fff !important;
    opacity: 1;
}

.methode-geo-problem-solution-list {
    grid-column-gap: 22px;
    grid-row-gap: 22px;
    flex-flow: column;
    display: flex;
}

.methode-geo-problem-solution-item {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    align-items: flex-start;
    display: flex;
}

.methode-geo-problem-solution-marker {
    color: #787878;
    flex: none;
    font-family: "IBM Plex Mono", monospace;
    font-size: 18px;
    line-height: 1;
}

.methode-geo-problem-solution-col.is-solution .methode-geo-problem-solution-marker {
    color: #fff;
}

.methode-geo-faq-cta {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-wrap: wrap;
}

.page-methode-geo .intelligence,
.page-methode-geo .faq,
.page-methode-geo .footer {
    margin-top: 0;
}

.page-methode-geo .startups,
.page-methode-geo .compare,
.page-methode-geo .feature-before-after-divider,
.page-methode-geo .feature-roadmap-section,
.page-methode-geo .intelligence,
.page-methode-geo .faq {
    background-color: var(--light);
}

.page-methode-geo .startups-wrap {
    border-left: 1px solid var(--stroke);
    border-right: 1px solid var(--stroke);
}

.page-methode-geo .feature-roadmap-section .insights-wrap {
    padding-top: calc(var(--_responsive---padding--padding-100-px) + 24px);
    padding-bottom: var(--_responsive---padding--padding-100-px);
    border-left: 1px solid var(--stroke);
    border-right: 1px solid var(--stroke);
}

.page-methode-geo .feature-roadmap-section .homepage-method-board {
    border-left-width: 0;
    border-right-width: 0;
}

.page-methode-geo .feature-roadmap-section {
    margin-top: 0;
}

@media screen and (max-width: 991px) {
    .page-methode-geo .feature-roadmap-section .insights-wrap {
        padding-top: 24px;
    }

    .page-methode-geo .feature-what-you-get-section .intelligence-bottom {
        grid-template-columns: 1fr;
    }

    .page-methode-geo .feature-what-you-get-section .intelligence-wrap,
    .page-methode-geo .homepage-faq-section .faq-wrap {
        padding-top: 24px;
    }

    .page-methode-geo .feature-what-you-get-section .feature-what-you-get-card {
        border-right-width: 0;
        border-bottom: 1px solid var(--stroke);
    }

    .page-methode-geo .feature-what-you-get-section .feature-what-you-get-card:last-child {
        border-bottom-width: 0;
    }
}

@media screen and (max-width: 767px) {
    .page-methode-geo .feature-roadmap-section .insights-wrap {
        padding-top: 20px;
    }

    .page-methode-geo .feature-what-you-get-section .intelligence-wrap,
    .page-methode-geo .homepage-faq-section .faq-wrap {
        padding-top: 20px;
    }
}

.page-methode-geo .compare {
    background-image: none;
}

.page-methode-geo .difference-right {
    padding-bottom: var(--_responsive---padding--padding-100-px);
}

.page-methode-geo .compare-wrap {
    padding-bottom: var(--_responsive---padding--padding-100-px);
}

.page-methode-geo .feature-what-you-get-section .intelligence-wrap,
.page-methode-geo .methode-geo-deliverables .intelligence-wrap,
.page-methode-geo .homepage-faq-section .faq-wrap {
    padding-top: calc(var(--_responsive---padding--padding-100-px) + 24px);
    padding-bottom: var(--_responsive---padding--padding-100-px);
    border-left: 1px solid var(--stroke);
    border-right: 1px solid var(--stroke);
}

.page-methode-geo .feature-what-you-get-section .intelligence-top {
    width: 100%;
    max-width: 760px;
}

.page-methode-geo .feature-what-you-get-section .heading-wrap {
    width: 100%;
    max-width: 760px;
}

.page-methode-geo .feature-what-you-get-section .sub-heading-wrap {
    width: 100%;
    max-width: 690px;
}

.page-methode-geo .feature-what-you-get-section .h2 .text-primary {
    color: var(--primary);
}

.page-methode-geo .feature-what-you-get-section .intelligence-bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card {
    min-height: 100%;
    justify-content: flex-start;
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card .intelligence-col-contend {
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    text-align: center;
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card .intelligence-icon-wrap {
    width: 100%;
    justify-content: center;
    display: flex;
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card .intelligence-text-wrap {
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    text-align: center;
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card-title {
    min-height: 0;
    width: 100%;
    align-items: center;
    text-align: center;
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card-title::after {
    display: none;
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card:nth-child(odd) {
    border-right: 1px solid var(--stroke);
}

.page-methode-geo .feature-what-you-get-section .feature-what-you-get-card:nth-child(-n+2) {
    border-bottom: 1px solid var(--stroke);
}

@media screen and (max-width: 991px) {
    .page-methode-geo .feature-what-you-get-section .intelligence-bottom {
        grid-template-columns: 1fr;
    }

    .page-methode-geo .feature-what-you-get-section .feature-what-you-get-card:nth-child(odd) {
        border-right-width: 0;
    }

    .page-methode-geo .feature-what-you-get-section .feature-what-you-get-card:nth-child(-n+2) {
        border-bottom-width: 1px;
    }

    .page-methode-geo .feature-what-you-get-section .feature-what-you-get-card:last-child {
        border-bottom-width: 0;
    }
}

.page-audit-geo .audit-geo-audit-value,
.page-audit-geo .audit-geo-fit-section,
.page-audit-geo .faq,
.page-audit-geo .footer {
    margin-top: 0;
}

.page-audit-geo .audit-geo-form-section {
    margin-top: 0;
}

.page-audit-geo .about-hero {
    min-height: 520px;
    padding-top: 120px;
    padding-bottom: 140px;
}

.page-audit-geo .about-hero-wrap {
    min-height: 260px;
}

.page-audit-geo .about-hero-top {
    width: 100%;
    max-width: 980px;
}

.page-audit-geo .about-hero .heading-wrap,
.page-audit-geo .about-hero .sub-heading-wrap,
.page-audit-geo .about-hero .audit-hero-copy {
    width: 100%;
}

.page-audit-geo .about-hero .sub-heading-wrap,
.page-audit-geo .about-hero .audit-hero-copy {
    max-width: 860px;
}

.page-audit-geo .about-hero .h1 .text-primary,
.page-audit-geo .audit-geo-form-top .h2 .text-primary,
.page-audit-geo .faq .h2 .text-primary {
    color: var(--primary);
}

.page-audit-geo .audit-hero-copy {
    margin-top: 6px;
}

.page-audit-geo .audit-hero-copy .paragraph-02 {
    margin-bottom: 0;
}

.page-audit-geo .difference-right,
.page-audit-geo .compare-wrap {
    padding-bottom: var(--_responsive---padding--padding-100-px);
}

.page-audit-geo .compare-top {
    max-width: 720px;
}

    .page-audit-geo .audit-geo-intelligence-wrap,
    .page-audit-geo .audit-geo-fit-wrap,
    .page-audit-geo .faq-wrap {
        padding-top: var(--_responsive---padding--padding-100-px);
        padding-bottom: var(--_responsive---padding--padding-100-px);
}

@media screen and (max-width: 991px) {
    .page-audit-geo .about-hero {
        min-height: 460px;
        padding-top: 96px;
        padding-bottom: 120px;
    }

    .page-audit-geo .about-hero-wrap {
        min-height: 220px;
    }
}

@media screen and (max-width: 767px) {
    .page-audit-geo .about-hero {
        min-height: 400px;
        padding-top: 84px;
        padding-bottom: 108px;
    }

    .page-audit-geo .about-hero-wrap {
        min-height: 180px;
    }
}

.audit-geo-form-shell {
    padding: var(--_responsive---padding--padding-100-px) var(--_responsive---padding--padding-60-px);
    justify-content: center;
    display: flex;
}

.audit-geo-form-card {
    width: 100%;
    max-width: 980px;
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    padding: 32px;
}

.audit-geo-form-top {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    text-align: center;
    flex-flow: column;
    align-items: center;
    display: flex;
}

.audit-geo-form-top .heading-wrap,
.audit-geo-form-top .sub-heading-wrap {
    width: 100%;
    max-width: 680px;
}

.audit-geo-form-submit {
    justify-content: center;
    display: flex;
}

.page-audit-geo .audit-geo-fit-wrap {
    margin-top: 0;
}

.audit-geo-pane-card {
    border: 1px solid var(--stroke);
    background-color: var(--light);
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex-flow: column;
    padding: 24px;
    display: flex;
}

.audit-geo-steps-board .homepage-method-card {
    min-height: 320px;
}

.audit-geo-decision-grid .priceing-list {
    min-height: 100%;
}

.audit-geo-decision-grid .included-item {
    align-items: flex-start;
}

@media screen and (max-width: 991px) {
    .methode-geo-problem-solution-grid {
        grid-template-columns: 1fr;
    }

    .methode-geo-problem-solution-shell {
        grid-column-gap: 0;
        grid-row-gap: 0;
    }

    .methode-geo-problem-solution-col:first-child {
        border-right: 0;
        border-bottom: 1px solid var(--stroke);
    }

    .page-audit-geo .audit-geo-intelligence-wrap,
    .page-audit-geo .audit-geo-fit-wrap,
    .page-audit-geo .faq-wrap {
        padding-top: var(--_responsive---padding--padding-80px);
        padding-bottom: var(--_responsive---padding--padding-80px);
    }

    .audit-geo-form-shell {
        padding-top: var(--_responsive---padding--padding-80px);
        padding-bottom: var(--_responsive---padding--padding-80px);
        padding-left: 0;
        padding-right: 0;
    }

}

@media screen and (max-width: 767px) {
    .methode-geo-problem-solution-col {
        padding: 32px 24px;
    }

    .page-audit-geo .audit-geo-intelligence-wrap,
    .page-audit-geo .audit-geo-fit-wrap,
    .page-audit-geo .faq-wrap {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .audit-geo-form-shell {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .audit-geo-form-card {
        padding: 22px 18px 20px;
    }

    .audit-geo-pane-card {
        padding: 18px;
    }
}

.prix-geo-pack-summary {
    width: 100%;
    max-width: 760px;
    text-align: center;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
}

.prix-geo-pack-summary .paragraph-03 {
    margin-bottom: 0;
}

.feature-roadmap-section .insights-top {
    max-width: 760px;
}

.feature-roadmap-section .insights-top-heading {
    width: 100%;
    max-width: 760px;
}

.feature-roadmap-section .heading-wrap {
    max-width: 760px;
    width: 100%;
}

.feature-roadmap-section .sub-heading-wrap {
    width: 100%;
    max-width: 690px;
}

.feature-roadmap-section .h2 .text-primary {
    color: var(--primary);
}

.feature-roadmap-section .insights-bottom-left {
    flex: 0 0 460px;
    width: 460px;
}

.feature-roadmap-section .insights-bottom-menu {
    padding-left: 24px;
    padding-right: 24px;
}

.feature-roadmap-section .intelligence-menu-wrap {
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
}

.feature-roadmap-section .intelligence-menu {
    grid-column-gap: 0;
    grid-row-gap: 0;
}

.feature-roadmap-section .intelligence-menu-right {
    overflow: visible;
}

.feature-roadmap-section .feature-roadmap-phase-copy {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.feature-roadmap-section .feature-roadmap-phase-label {
    margin-bottom: 0;
    color: rgb(120, 120, 120) !important;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.1;
}

.feature-roadmap-section .feature-roadmap-phase-details {
    display: none;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}

.feature-roadmap-section .intelligence-menu.active .feature-roadmap-phase-details {
    display: flex;
}

.feature-roadmap-section .feature-roadmap-phase-title,
.feature-roadmap-section .feature-roadmap-phase-weeks {
    margin-bottom: 0;
}

.feature-roadmap-section .intelligence-menu.active .feature-roadmap-phase-label {
    color: rgb(255, 0, 0) !important;
    font-weight: 600;
}

.feature-roadmap-section .insights-bottom-right-copy {
    width: 640px;
}

.feature-roadmap-section .insights-inner-right {
    gap: 0;
}

.feature-roadmap-section .feature-roadmap-panels {
    width: 100%;
    height: 500px;
    position: relative;
    overflow: hidden;
    background-color: var(--light);
}

.feature-roadmap-section .feature-roadmap-panel {
    width: 100%;
    height: 100%;
}

.feature-roadmap-section .feature-roadmap-panel-body {
    width: 100%;
    min-height: 100%;
    padding: 32px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 28px;
}

.feature-roadmap-section .feature-roadmap-panel-body > .paragraph-03 {
    margin-bottom: 0;
    max-width: 500px;
}

.feature-roadmap-bullets {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: min(100%, 410px);
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.feature-roadmap-bullets li {
    margin: 0;
    padding-left: 20px;
    position: relative;
}

.feature-roadmap-bullets li::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background-color: var(--primary);
    position: absolute;
    left: 0;
    top: 0.7em;
    transform: translateY(-50%);
}

.feature-simple-divider {
    width: 100%;
    border-top: 1px solid var(--stroke);
}

.feature-roadmap-section .homepage-method-board {
    margin-top: var(--_responsive---margin--margin-80-px);
}

.feature-roadmap-section .homepage-method-board-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-roadmap-section .homepage-method-card {
    grid-column: auto;
    min-height: 380px;
    padding: 30px 22px 24px;
    border-right: 1px solid var(--stroke);
    border-bottom-width: 0;
    justify-content: flex-start;
    gap: 28px;
}

.feature-roadmap-section .homepage-method-card:nth-child(4),
.feature-roadmap-section .homepage-method-card:nth-child(5) {
    grid-column: auto;
}

.feature-roadmap-section .homepage-method-card:nth-child(3),
.feature-roadmap-section .homepage-method-card:nth-child(5) {
    border-right: 1px solid var(--stroke);
}

.feature-roadmap-section .homepage-method-card:nth-child(4) {
    border-right-width: 0;
}

.feature-roadmap-section .homepage-method-card-number {
    font-size: 104px;
}

.feature-roadmap-section .homepage-method-card-copy {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    flex: 1;
    flex-flow: column;
    display: flex;
}

.feature-roadmap-section .homepage-method-card-title {
    min-height: 110px;
    margin: 0;
}

.feature-roadmap-section .homepage-method-card-list {
    margin-top: 8px;
}

.feature-roadmap-card-weeks {
    margin-bottom: 0;
    min-height: 20px;
}

.feature-roadmap-section .homepage-method-card-copy > .paragraph-03 {
    margin-bottom: 0;
}

@media screen and (max-width: 991px) {
    .feature-roadmap-section .insights-bottom-left {
        width: 100%;
    }

    .feature-roadmap-section .insights-bottom-right-copy {
        width: 100%;
    }

    .feature-roadmap-section .feature-roadmap-panels {
        height: auto;
        min-height: 0;
    }

    .feature-roadmap-section .feature-roadmap-panel,
    .feature-roadmap-section .feature-roadmap-panel-body {
        height: auto;
        min-height: 0;
    }

    .feature-roadmap-section .homepage-method-board-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .feature-roadmap-section .homepage-method-card {
        min-height: 320px;
        border-right: 1px solid var(--stroke);
        border-bottom: 1px solid var(--stroke);
    }

    .feature-roadmap-section .homepage-method-card-copy {
        grid-template-rows: minmax(110px, auto) auto 1fr;
        align-content: start;
        display: grid;
    }

    .feature-roadmap-section .homepage-method-card:nth-child(2n) {
        border-right-width: 0;
    }

    .feature-roadmap-section .homepage-method-card:nth-child(3),
    .feature-roadmap-section .homepage-method-card:nth-child(4) {
        border-bottom-width: 0;
    }

}

@media screen and (max-width: 767px) {
    .feature-roadmap-section .feature-roadmap-panel-body {
        padding: 28px 22px;
        gap: 20px;
    }

    .feature-roadmap-section .homepage-method-board {
        margin-top: 40px;
    }

    .feature-roadmap-section .homepage-method-board-grid {
        grid-template-columns: 1fr;
    }

    .feature-roadmap-section .homepage-method-card {
        min-height: auto;
        padding: 22px 18px 20px;
        border-right-width: 0;
        border-bottom-width: 0;
        gap: 20px;
    }

    .feature-roadmap-section .homepage-method-card-copy {
        display: flex;
    }

    .feature-roadmap-section .homepage-method-card-title {
        min-height: 0;
    }

    .feature-roadmap-section .homepage-method-card:not(:last-child) {
        border-bottom: 1px solid var(--stroke);
    }

    .feature-roadmap-section .homepage-method-card:last-child {
        border-bottom-width: 0;
    }

    .feature-roadmap-section .homepage-method-card-number {
        font-size: 84px;
    }

    .feature-roadmap-section .homepage-method-card-copy > .h5 {
        min-height: 0;
    }
}

@media screen and (max-width: 767px) {
    .prix-geo-pack-summary {
        margin-top: 24px;
    }
}

.page-faq-geo .about-hero {
    padding-top: 160px;
}

.page-faq-geo .about-hero-top {
    width: 100%;
    max-width: 980px;
}

.page-faq-geo .about-hero .heading-wrap,
.page-faq-geo .about-hero .sub-heading-wrap {
    width: 100%;
}

.page-faq-geo .about-hero .sub-heading-wrap {
    max-width: 860px;
}

.page-faq-geo .about-hero .h1 .text-primary {
    color: var(--primary);
}

.page-contact .hero-v1 .h1 .text-primary {
    color: var(--primary);
}

.page-contact .contact-form-divider {
    margin-bottom: 16px;
}

.page-faq-geo .footer {
    margin-top: 0;
}

.page-faq-geo .faq-page-directory {
    --faq-page-inset: 30px;
    padding-bottom: 120px;
}

.page-faq-geo .faq-page-toolbar {
    position: relative;
    z-index: 1;
}

.page-faq-geo .faq-page-toolbar-track {
    border-top: 1px solid var(--stroke);
    border-right: 1px solid var(--stroke);
    border-bottom: 1px solid var(--stroke);
    border-left: 1px solid var(--stroke);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px);
    padding-left: var(--faq-page-inset);
    padding-right: var(--faq-page-inset);
}

.page-faq-geo .faq-page-toolbar-inner {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 18px 0;
    scrollbar-width: none;
}

.page-faq-geo .faq-page-toolbar-inner::-webkit-scrollbar {
    display: none;
}

.page-faq-geo .faq-page-chip {
    background-color: var(--light);
    flex: 0 0 auto;
    color: var(--grey-01);
    border: 1px solid var(--stroke);
    border-radius: 0;
    padding: 11px 18px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.page-faq-geo .faq-page-chip.is-active {
    color: var(--light);
    background-color: var(--primary);
    border-color: var(--primary);
}

.page-faq-geo .faq-page-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 72px;
    align-items: start;
    padding-top: 56px;
}

.page-faq-geo .faq-page-side {
    min-width: 0;
}

.page-faq-geo .faq-page-side-sticky {
    position: sticky;
    top: 178px;
    padding-left: var(--faq-page-inset);
    padding-right: var(--faq-page-inset);
}

.page-faq-geo .faq-page-side-label {
    color: #7c7c7c;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 18px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
}

.page-faq-geo .faq-page-side-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-faq-geo .faq-page-side-link {
    color: #7c7c7c;
    border-radius: 0;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    text-decoration: none;
    transition: color 0.25s ease, background-color 0.25s ease;
    display: block;
}

.page-faq-geo .faq-page-side-link.is-active {
    color: var(--primary);
    background: rgba(255, 0, 0, 0.06);
}

.page-faq-geo .faq-page-side-cta {
    border-top: 1px solid var(--stroke);
    margin-top: 28px;
    padding-top: 24px;
}

.page-faq-geo .faq-page-side-cta .button-02 {
    width: 100%;
    justify-content: center;
}

.page-faq-geo .faq-page-side-cta-link {
    color: var(--primary);
    margin-top: 10px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    display: inline-block;
}

.page-faq-geo .faq-page-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 56px;
    padding-left: var(--faq-page-inset);
    padding-right: var(--faq-page-inset);
}

.page-faq-geo .faq-page-group {
    min-width: 0;
    scroll-margin-top: 186px;
}

.page-faq-geo .faq-page-group.is-hidden {
    display: none;
}

.page-faq-geo .faq-page-group-tag {
    margin-bottom: 18px;
}

.page-faq-geo .faq-page-group-body {
    border-top: 1px solid var(--stroke);
}

.page-faq-geo .faq-page-group .faq-list {
    padding-left: 0;
    padding-right: 0;
}

.page-faq-geo .faq-page-group .faq-question-wrap {
    align-items: flex-start;
}

.page-faq-geo .faq-page-group .faq-question-wrap .h5 {
    max-width: calc(100% - 44px);
}

.page-faq-geo .faq-page-group .faq-icon-box {
    flex: 0 0 auto;
    margin-top: 2px;
}

.page-faq-geo .faq-page-group .faq-answer-wrap {
    max-width: 100%;
}

@media screen and (max-width: 991px) {
    .page-faq-geo .faq-page-directory {
        --faq-page-inset: 24px;
    }

    .page-faq-geo .faq-page-shell {
        grid-template-columns: 1fr;
        gap: 0;
        padding-top: 44px;
    }

    .page-faq-geo .faq-page-side {
        display: none;
    }

    .page-faq-geo .faq-page-main {
        gap: 48px;
    }

    .page-faq-geo .faq-page-group {
        scroll-margin-top: 168px;
    }
}

@media screen and (max-width: 767px) {
    .page-faq-geo .faq-page-directory {
        --faq-page-inset: 18px;
        padding-bottom: 80px;
    }

    .page-faq-geo .faq-page-toolbar-inner {
        gap: 8px;
        padding: 14px 0;
    }

    .page-faq-geo .faq-page-chip {
        padding: 10px 14px;
        font-size: 11px;
    }

    .page-faq-geo .faq-page-shell {
        padding-top: 34px;
    }

    .page-faq-geo .faq-page-main {
        gap: 40px;
    }

    .page-faq-geo .faq-page-group {
        scroll-margin-top: 152px;
    }
}

.page-consultation-gratuite .consultation-cal-outer {
    border: 1px solid var(--stroke);
    background-color: #f8f8f8;
    padding: 12px;
}

.page-consultation-gratuite .contact-us-wrap {
    display: block;
}

.page-consultation-gratuite .contact-us-right {
    width: 100%;
    max-width: 100%;
}

.page-consultation-gratuite .consultation-cal-shell {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0;
}

.page-consultation-gratuite .consultation-cal-intro {
    border: 1px solid var(--stroke);
    background-color: var(--light);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.page-consultation-gratuite .consultation-cal-intro.is-hidden {
    display: none;
}

.page-consultation-gratuite .consultation-cal-trigger {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.page-consultation-gratuite .consultation-cal-trigger[disabled] {
    cursor: wait;
    opacity: .72;
}

.page-consultation-gratuite .consultation-cal-embed {
    width: 100%;
    border: 1px solid var(--stroke);
    background-color: var(--light);
    min-height: 700px;
    overflow: auto;
}

.page-consultation-gratuite .consultation-cal-embed[hidden] {
    display: none !important;
}

.page-consultation-gratuite .consultation-cal-embed iframe {
    width: 100%;
    min-height: 700px;
}

@media screen and (max-width: 991px) {
    .page-consultation-gratuite .consultation-cal-shell,
    .page-consultation-gratuite .consultation-cal-embed,
    .page-consultation-gratuite .consultation-cal-embed iframe {
        min-height: 660px;
    }
}

@media screen and (max-width: 767px) {
    .page-consultation-gratuite .consultation-cal-outer {
        padding: 10px;
    }

    .page-consultation-gratuite .consultation-cal-intro {
        padding: 18px;
    }

    .page-consultation-gratuite .consultation-cal-shell,
    .page-consultation-gratuite .consultation-cal-embed,
    .page-consultation-gratuite .consultation-cal-embed iframe {
        min-height: 600px;
    }
}

.navbar-brand .site-nav-logo {
    width: 100%;
    max-width: 132px;
    height: auto;
    display: block;
}

.footer-logo {
    height: auto;
}

.footer-brand-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.footer-logo .site-footer-logo {
    width: 100%;
    height: auto;
    display: block;
}

.footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.footer-social-link {
    width: 44px;
    height: 44px;
    border: 1px solid var(--stroke);
    border-radius: 999px;
    color: var(--dark);
    background-color: var(--light);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
    color: var(--light);
    background-color: var(--primary);
    border-color: var(--primary);
    transform: translateY(-1px);
}

.footer-social-icon {
    width: 20px;
    height: 20px;
    display: block;
}

.footer-main-link-wrap {
    align-items: start;
}

.footer-link-list-wrap {
    min-width: 0;
}

.footer-link-list-wrap .button-02-text {
    min-height: 40px;
    display: flex;
    align-items: flex-end;
    text-wrap: balance;
}

@media screen and (max-width: 767px) {
    .footer-link-wrap {
        align-items: center;
    }

    .footer-brand-wrap {
        align-items: center;
    }

    .footer-logo {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-main-link-wrap {
        width: 100%;
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: center;
    }

    .footer-link-list-wrap {
        align-items: center;
        text-align: center;
    }

    .footer-link-list-wrap .button-02-text {
        min-height: 44px;
        justify-content: center;
        text-align: center;
    }

    .footer-link {
        text-align: center;
    }

    .copyright-wrap {
        text-align: center;
    }
}

@media screen and (max-width: 479px) {
    .footer-main-link-wrap {
        grid-column-gap: 24px;
        grid-row-gap: 28px;
        grid-template-columns: repeat(2, minmax(132px, 1fr));
        max-width: 320px;
        display: grid;
    }
}

._404-wrap {
    justify-content: center;
}

._404-left {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    text-align: center;
}

._404-button-wrap {
    display: flex;
    justify-content: center;
}

.page-consultation-gratuite .consultation-cal-fallback {
    display: none;
    border: 1px solid var(--stroke);
    background-color: var(--light);
    padding: 20px;
}

.page-consultation-gratuite .consultation-cal-fallback.is-visible {
    display: block;
}

.page-consultation-gratuite .consultation-cal-fallback-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

@media screen and (max-width: 767px) {
    .page-consultation-gratuite .consultation-cal-fallback-actions {
        flex-direction: column;
    }
}
