/* ==========================================================================
   RESPONSIVE — Breakpoints: 1280, 1024, 768, 640, 480
   ========================================================================== */

@media (max-width: 1280px) {
    .contact-page__grid {
        grid-template-columns: 1fr 1fr;
    }

    .contact-page__right {
        width: 100%;
    }

    .contact-page__stats {
        gap: 36px;
    }

    .stats__numbers-row {
        gap: clamp(2rem, 5vw, 3.75rem);
    }

    .testi__card {
        width: 560px;
    }

    .testi__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
    }

    .testi__logos img {
        width: 100%;
        max-width: 600px;
    }
}

@media (max-width: 1024px) {
    .site-header__nav {
        display: none;
    }

    .site-header__actions {
        display: none;
    }

    .site-header__hamburger {
        display: flex;
    }

    .mobile-nav {
        display: block;
    }

    .hero {
        min-height: auto;
    }

    .hero__inner {
        grid-template-columns: 1fr;
        text-align: center;
        padding-top: calc(var(--header-height) + 2.5rem);
    }

    .hero__content {
        padding-top: 0;
        max-width: 100%;
        text-align: center;
        order: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero__title {
        margin-bottom: clamp(1rem, 3vw, 1.5rem);
        text-align: center;
        width: 100%;
    }

    .hero__description {
        max-width: 100%;
        text-align: center;
    }

    .hero__cta-row {
        flex-direction: column;
        align-items: center;
        margin-top: 2rem;
        width: 100%;
    }

    .hero__social-proof {
        position: static;
        justify-content: center;
        margin-top: 1.5rem;
    }

    .hero__badges {
        justify-content: center;
        gap: 2rem;
        margin-top: 2rem;
    }

    .hero__media {
        position: relative;
        grid-column: 1;
        grid-row: auto;
        justify-self: center;
        top: auto;
        right: auto;
        width: 100%;
        max-width: min(656px, 100%);
        height: auto;
        order: 2;
        margin-top: 2rem;
    }

    .hero__facturation-banner {
        flex-direction: column;
        text-align: center;
        height: auto;
        padding: 2rem;
        margin-top: 2rem;
        width: 100%;
    }

    .hero__facturation-icon {
        position: static;
    }

    .hero__facturation-text {
        margin-left: 0;
        margin-top: 1rem;
        align-items: center;
    }

    .hero__facturation-logos {
        position: static;
        margin-top: 1rem;
    }

    .stats__numbers {
        justify-content: center;
    }

    .stats__numbers-row {
        gap: clamp(1.5rem, 4vw, 2.5rem);
    }

    .stats__testimonial-card {
        max-width: calc(100% - 32px);
        flex-direction: column;
        height: auto;
    }

    .stats__card-media {
        width: calc(100% - 32px);
        height: auto;
        aspect-ratio: 580 / 349;
        margin: 16px 16px 0;
    }

    .stats__play-btn-wrap {
        inset: 0;
    }

    .stats__content-slides {
        min-height: 320px;
    }

    .stats__slide {
        padding: 24px 24px 28px;
    }

    .stats__dots {
        padding: 14px 24px 20px;
    }

    .stats__testimonial-section {
        padding: var(--section-y) 0;
        margin-top: clamp(1.5rem, 4vw, 2.5rem);
    }

    .features-cards__card {
        height: auto;
        min-height: 240px;
    }

    .cta-email__card {
        flex-direction: column;
        min-height: auto;
        padding: 24px;
    }

    .cta-email__left {
        padding: 0;
    }

    .cta-email__right {
        width: 100%;
        padding: 0;
        margin-top: 24px;
    }

    .cta-email__logos-box {
        height: fit-content;
        padding: 0 24px;
    }

    .cta-email__form-row {
        flex-direction: column;
        gap: 12px;
    }

    .cta-email__send-btn {
        width: 100%;
    }

    .testi__card {
        width: min(480px, calc(100vw - 48px));
        height: 320px;
        padding: 32px;
    }

    .testi__track {
        height: 320px;
    }

    .testi__logos img {
        max-width: 480px;
    }

    .blog-section__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .blog-section__card-title {
        font-size: 18px;
    }

    .blog-section__card-excerpt {
        font-size: 14px;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        margin-top: 8px;
    }

    .site-footer__top {
        flex-wrap: wrap;
        gap: 32px;
    }

    .site-footer__brand {
        max-width: 100%;
        width: 100%;
    }

    .site-footer__columns {
        width: 100%;
        justify-content: flex-start;
        gap: 40px;
    }

    .site-footer__newsletter {
        margin-top: 32px;
    }

    .video-modal__inner {
        max-width: 95vw;
    }

    .contact-page__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .contact-page__right {
        width: 100%;
    }

    .contact-page__title {
        text-align: center;
    }

    .contact-page__highlight,
    .contact-page__desc {
        text-align: center;
    }

    .contact-page__stats {
        justify-content: center;
        gap: 32px;
    }

    .contact-page__left {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .contact-page__frame30 {
        width: 100%;
        height: auto;
        min-height: 240px;
    }

    .contact-page__avatars {
        padding: 32px 0 0 32px;
    }

    .contact-page__google-badge {
        margin-left: 32px;
        margin-top: 20px;
    }

    .contact-page__facturation {
        margin-top: 40px;
    }

    .contact-page__facturation .hero__facturation-banner {
        flex-direction: column;
        text-align: center;
        height: auto;
        padding: 2rem;
        width: 100%;
    }

    .contact-page__facturation .hero__facturation-text {
        margin-left: 0;
        margin-top: 1rem;
        align-items: center;
    }

    .contact-page__facturation .hero__facturation-logos {
        margin-top: 1rem;
    }
}

@media (max-width: 768px) {
    .hero__badges {
        flex-direction: column;
        gap: 0.75rem;
    }

    .hero__cta-row .btn--accent {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }

    .stats__numbers-row {
        flex-direction: column;
        gap: 24px;
        align-items: center;
        text-align: center;
    }

    .stats__testimonial-section {
        padding: var(--section-y) 0;
        margin-top: 32px;
    }

    .stats__play-btn {
        width: 56px;
        height: 56px;
    }

    .stats__play-btn-circle {
        width: 48px;
        height: 48px;
    }

    .stats__play-btn-circle svg {
        width: 18px;
        height: 20px;
    }

    .stats__slide {
        padding: 20px 20px 24px;
    }

    .stats__dots {
        padding: 12px 20px 16px;
    }

    .stats__content-slides {
        min-height: 280px;
    }

    .features-cards__label {
        font-size: 17px;
    }

    .features-cards__heading {
        font-size: 20px;
    }

    .features-cards__desc {
        font-size: 15px;
    }

    .cta-email__desc {
        font-size: 16px;
    }

    .cta-email__heading {
        font-size: 20px;
    }

    .cta-email__avatars img {
        width: 40px;
        height: 40px;
    }

    .cta-email__input {
        font-size: 16px;
    }

    .cta-email__logos-box {
        height: fit-content;
        gap: 10px;
        padding: 16px;
    }

    .cta-email__input-wrap {
        width: 100%;
        padding: 10px 10px;
    }

    .fpb__block-text,
    .ias__block-text {
        padding: 9px !important;
    }

    .fpb__block-title,
    .fpb__block-subtitle,
    .ias__block-title,
    .ias__block-subtitle {
        margin-bottom: 10px;
    }

    .fpb__block-visual,
    .ias__block-visual {
        padding: 4px !important;
    }

    .cta-email__logo {
        height: 36px;
    }

    .cta-email__logo--facturx {
        height: 34px;
    }

    .cta-email__logo--finances {
        height: 30px;
    }

    .testi__card {
        width: calc(100vw - 48px);
        height: auto;
        min-height: 280px;
        padding: 24px;
    }

    .testi__track {
        height: auto;
        min-height: 280px;
    }

    .testi__slider {
        margin-bottom: 48px;
    }

    .testi__author {
        font-size: 20px;
    }

    .testi__text {
        font-size: 13px;
    }

    .testi__cta-heading {
        font-size: 20px;
    }

    .testi__cta-desc {
        font-size: 16px;
    }

    .testi__cta-btn {

        height: 48px;
        font-size: 16px;
        padding: 0 24px;
    }

    .testi__google-badge {
        width: 100%;
    }

    .testi__logos img {
        max-width: 100%;
    }

    .blog-section__featured {
        margin-bottom: 24px;
    }

    .blog-section__featured-image {
        height: 280px;
    }

    .blog-section__featured-title {
        font-size: 17px;
    }

    .blog-section__featured-overlay {
        padding: 16px;
    }

    .blog-section__featured-bottom {
        margin: 0 -16px -16px;
        padding: 14px 16px;
        gap: 12px;
    }

    .blog-section__featured-author {
        display: none;
    }

    .blog-section__card-title {
        font-size: 16px;
    }

    .blog-section__card-excerpt {
        font-size: 13px;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        margin-top: 6px;
    }

    .faq__question {
        padding: 20px 24px;
        min-height: 64px;
    }

    .faq__answer p {
        font-size: 14px;
        padding: 0 24px 20px;
    }

    .cta-bottom {
        padding: var(--section-y) 0;
        background-size: cover;
    }

    .site-footer {
        padding: 48px 0 24px;
    }

    .site-footer__columns {
        flex-wrap: wrap;
        gap: 32px 40px;
    }

    .site-footer__newsletter-form {
        max-width: 100%;
    }

    .site-footer__bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .video-modal {
        padding: 1rem;
    }

    .video-modal__close {
        top: -32px;
        right: 0;
        font-size: 1.5rem;
    }

    .contact-page__stats {
        flex-direction: column;
        gap: 24px;
        align-items: center;
        text-align: center;
    }

    .contact-card__row {
        grid-template-columns: 1fr;
    }

    .contact-card {
        padding: 20px 16px;
    }

    .contact-page__frame30 {
        min-height: 200px;
    }

    .contact-page__avatars {
        padding: 24px 0 0 24px;
    }

    .contact-page__google-badge {
        margin-left: 24px;
        width: auto;
        max-width: calc(100% - 48px);
    }
}

@media (max-width: 640px) {
    .hero__avatars img {
        width: 32px;
        height: 32px;
    }

    .hero__social-proof {
        flex-direction: column;
        gap: 0.75rem;
    }

    .testi__bottom {
        gap: 24px;
    }

    .testi__cta-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .features-cards__icon img {
        width: 56px;
        height: 56px;
    }

    .features-cards__label {
        font-size: 15px;
    }

    .features-cards__heading {
        font-size: 18px;
    }

    .cta-email__social-proof {
        flex-direction: column;
        gap: 12px;
    }

    .blog-section__featured-image {
        height: 220px;
    }

    .blog-section__card-title {
        font-size: 14px;
    }

    .blog-section__card-date {
        display: none;
    }

    .faq {
        padding: var(--section-y) 0;
    }

    .faq__question {
        font-size: 15px;
        padding: 16px 20px;
        min-height: 56px;
    }

    .faq__answer p {
        font-size: 13px;
        padding: 0 20px 16px;
    }

    .cta-bottom {
        padding: var(--section-y) 0;
    }

    .testi__cta-heading {
        font-size: 18px;
    }

    .testi__cta-desc {
        font-size: 14px;
    }

    .testi__google-badge {
        width: 100%;
    }

    .stats__content-slides {
        min-height: 240px;
    }

    .contact-page {
        padding-top: calc(var(--header-height) + 40px);
    }

    .contact-card__heading {
        font-size: 20px;
    }

    .contact-submit {
        font-size: 16px;
        height: 48px;
    }

    .site-footer__contact {
        flex-direction: column;
        gap: 8px;
    }

    .site-footer__copyright {
        font-size: 12px;
    }
}

/* ==========================================================================
   SINGLE ARTICLE — Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .article-grid {
        grid-template-columns: 1fr 260px;
        gap: 24px;
    }
}

@media (max-width: 1024px) {
    .article-hero {
        height: 380px;
    }

    .article-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .article-sidebar {
        position: static;
        flex-direction: row;
        gap: 30px;
        flex-wrap: wrap;
    }

    .article-author-card {
        max-width: 400px;
    }

    .article-toc {
        flex: 1;
        min-width: 280px;
    }

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

    .article-share {
        flex-wrap: wrap;
        height: auto;
        gap: 12px;
    }

    .article-share__email-wrap {
        max-width: 100%;
        flex-basis: 100%;
    }
}

@media (max-width: 768px) {
    .article-hero {
        height: 320px;
        border-radius: 8px;
    }

    .article-hero__category {
        font-size: 16px;
        padding: 6px 10px;
    }

    .article-hero__title {
        font-size: 20px;
        max-width: 100%;
    }

    .article-hero__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .article-content__body h2 {
        font-size: 22px;
    }

    .article-content__body p,
    .article-content__body ul,
    .article-content__body ol {
        font-size: 16px;
    }

    .related-articles__title {
        font-size: 32px;
        margin-bottom: 30px;
    }

    .related-articles__grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .related-card__image {
        height: 220px;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        padding: 16px;
    }

    .article-share__text {
        white-space: normal;
        font-size: 14px;
    }

    .article-share__email-wrap {
        width: 100%;
    }

    .article-sidebar {
        flex-direction: column;
    }

    .article-author-card {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .article-hero {
        height: 260px;
    }

    .article-hero__title {
        font-size: 18px;
    }

    .article-hero__category {
        font-size: 14px;
    }

    .article-hero__bottom {
        padding: 14px;
    }

    .article-content__body h2 {
        font-size: 20px;
    }

    .article-content__body p,
    .article-content__body ul,
    .article-content__body ol {
        font-size: 15px;
    }

    .related-articles__title {
        font-size: 26px;
    }

    .related-card__title {
        font-size: 17px;
    }
}

/* Blog CTA Bottom responsive */
@media (max-width: 768px) {
    .blog-cta-bottom {
        padding: var(--section-y) 0;
    }
}

/* ==========================================================================
   BLOG LISTING PAGE — Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .blog-interests__tabs {
        gap: 12px;
    }

    .blog-interests__tab {
        height: 200px;
        font-size: 19px;
        padding: 14px 24px 0;
    }

}

@media (max-width: 1024px) {
    .blog-hero__title {
        font-size: 46px;
    }

    .blog-hero__subtitle {
        font-size: 18px;
    }

    .blog-interests__tabs {
        gap: 10px;
    }

    .blog-interests__tab {
        height: 170px;
        font-size: 17px;
        padding: 12px 20px 0;
    }

    .blog-interests__title {
        font-size: 36px;
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .blog-newsroom__grid {
        grid-template-columns: 1fr;
    }

    .blog-newsroom__title {
        font-size: 36px;
    }
}

@media (max-width: 768px) {
    .blog-hero {
        padding: calc(var(--header-height) + 40px) 0 var(--section-y);
    }

    .blog-hero__title {
        font-size: 36px;
    }

    .blog-hero__subtitle {
        font-size: 16px;
    }

    .blog-interests {
        padding: var(--section-y) 0;
    }

    .blog-interests__title {
        font-size: 30px;
    }

    .blog-interests__subtitle {
        font-size: 16px;
    }

    .blog-interests__tabs {
        gap: 8px;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
    }

    .blog-interests__tab {
        height: 150px;
        font-size: 15px;
        padding: 10px 18px 0;
        flex-shrink: 0;
    }

    .blog-featured__image {
        height: 300px;
    }

    .blog-featured__title {
        font-size: 18px;
    }

    .blog-card__title {
        font-size: 18px;
    }

    .blog-newsroom {
        padding: var(--section-y) 0;
    }

    .blog-newsroom__card {
        padding: 24px;
    }
}

@media (max-width: 480px) {
    .blog-hero__title {
        font-size: 28px;
    }

    .blog-interests__title {
        font-size: 24px;
    }

    .blog-featured__image {
        height: 240px;
    }

    .blog-featured__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .blog-newsroom__title {
        font-size: 28px;
    }
}

/* ==========================================================================
   FONCTIONS PAGE — Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .fonctions-cards__title {
        font-size: 38px;
    }

    .fonctions-blocks__title {
        font-size: 38px;
    }

    .fonctions-block {
        min-height: 480px;
    }

    .fonctions-block__block-title {
        font-size: 32px;
        margin-bottom: 50px;
    }

    .fonctions-block__desc {
        font-size: 19px;
    }

    .fonctions-block__sub-desc {
        font-size: 18px;
    }

    .fonctions-block__text {
        padding: 60px 30px 30px 40px;
    }

    .fonctions-block--reverse .fonctions-block__text {
        padding-left: 30px;
        padding-right: 40px;
    }
}

@media (max-width: 1024px) {
    .fonctions-cards {
        padding: var(--section-y) 0;
    }

    .fonctions-cards__title {
        font-size: 32px;
        margin-bottom: 36px;
    }

    .fonctions-blocks {
        padding: var(--section-y) 0;
    }

    .fonctions-blocks__title {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .fonctions-block {
        flex-direction: column;
        min-height: auto;
        margin-bottom: 40px;
    }

    .fonctions-block__text {
        flex: none;
        padding: 40px 32px 24px;
    }

    .fonctions-block--reverse .fonctions-block__text {
        order: 1;
        padding: 40px 32px 24px;
    }

    .fonctions-block--reverse .fonctions-block__visual {
        order: 2;
        padding: 0 32px 32px;
    }

    .fonctions-block__visual {
        flex: none;
        padding: 0 32px 32px;
    }

    .fonctions-block__block-title {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .fonctions-block__heading {
        font-size: 20px;
    }

    .fonctions-block__desc {
        font-size: 18px;
    }

    .fonctions-block__sub-desc {
        font-size: 17px;
    }

    .fonctions-block__sidebar {
        display: none;
    }

    .fonctions-articles__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .fonctions-cards {
        padding: var(--section-y) 0;
    }

    .fonctions-cards__title {
        font-size: 28px;
    }

    .fonctions-blocks {
        padding: var(--section-y) 0;
    }

    .fonctions-blocks__title {
        font-size: 28px;
        margin-bottom: 30px;
    }

    .fonctions-block {
        margin-bottom: 30px;
    }

    .fonctions-block__text {
        padding: 30px 24px 20px;
    }

    .fonctions-block--reverse .fonctions-block__text {
        padding: 30px 24px 20px;
    }

    .fonctions-block__visual {
        padding: 0 24px 24px;
    }

    .fonctions-block--reverse .fonctions-block__visual {
        padding: 0 24px 24px;
    }

    .fonctions-block__block-title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .fonctions-block__label {
        font-size: 16px;
    }

    .fonctions-block__heading {
        font-size: 18px;
    }

    .fonctions-block__desc {
        font-size: 16px;
    }

    .fonctions-block__sub-desc {
        font-size: 15px;
    }

    .fonctions-articles {
        padding: var(--section-y) 0;
    }

    .fonctions-articles__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .fonctions-article-card__image {
        height: 220px;
    }
}

@media (max-width: 480px) {
    .fonctions-cards__title {
        font-size: 24px;
    }

    .fonctions-blocks__title {
        font-size: 24px;
    }

    .fonctions-block__text {
        padding: 24px 20px 16px;
    }

    .fonctions-block--reverse .fonctions-block__text {
        padding: 24px 20px 16px;
    }

    .fonctions-block__visual {
        padding: 0 20px 20px;
    }

    .fonctions-block--reverse .fonctions-block__visual {
        padding: 0 20px 20px;
    }

    .fonctions-block__block-title {
        font-size: 22px;
    }

    .fonctions-block__desc {
        font-size: 15px;
    }
}

/* ==========================================================================
   ASSISTANT IA — Transparency Cards Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .ia-transparency__grid {
        gap: 40px 60px;
    }

    .ia-transparency__title {
        font-size: 38px;
    }
}

@media (max-width: 1024px) {
    .ia-transparency {
        padding: var(--section-y) 0;
    }

    .ia-transparency__title {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .ia-transparency__grid {
        gap: 30px 40px;
    }

    .ia-transparency__card {
        padding: 28px 30px 32px 36px;
    }
}

@media (max-width: 768px) {
    .ia-transparency {
        padding: var(--section-y) 0;
    }

    .ia-transparency__title {
        font-size: 28px;
        margin-bottom: 30px;
    }

    .ia-transparency__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ia-transparency__card-title {
        font-size: 20px;
    }

    .ia-transparency__label {
        font-size: 17px;
    }
}

@media (max-width: 480px) {
    .ia-transparency__title {
        font-size: 24px;
    }

    .ia-transparency__card {
        padding: 24px 20px 28px;
    }

    .ia-transparency__icon {
        width: 60px;
        height: 58px;
    }

    .ia-transparency__icon img {
        width: 60px;
        height: 58px;
    }
}

/* ==========================================================================
   À PROPOS PAGE — Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .about-hero-section__title {
        font-size: 46px;
    }

    .about-story__text p {
        font-size: 20px;
    }

    .about-promises__grid {
        gap: 40px 40px;
    }
}

/* Tablet-landscape safety: switch about-story to column EARLIER so the
   image never overflows / overlaps the text in the awkward 1025–1100px
   range where the row layout becomes too cramped. */
@media (max-width: 1100px) {
    .about-story__card {
        flex-direction: column;
    }

    .about-story__image {
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: 16 / 9;
    }

    .about-story__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
}

@media (max-width: 1024px) {
    .about-hero-section {
        padding-top: 130px;
    }

    .about-hero-section__title {
        font-size: 38px;
    }

    .about-hero-section__subtitle {
        font-size: 16px;
    }

    .about-hero-section__images {
        grid-template-columns: 1fr;
    }

    .about-hero-section__img-bottom {
        flex: 0 0 auto;
        aspect-ratio: 784 / 365;
    }

    .about-story {
        padding: var(--section-y) 0;
    }

    .about-story__section-title {
        font-size: 36px;
        margin-bottom: 40px;
    }

    .about-story__card {
        flex-direction: column;
    }

    /* Tablet: image gets its own predictable area above the text.
       Use explicit width + aspect-ratio so it never bleeds into the
       text region or stretches to its intrinsic pixel size. */
    .about-story__image {
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: 16 / 9;
    }

    .about-story__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .about-story__content {
        padding: 40px 32px;
    }

    .about-story__text p {
        font-size: 18px;
    }

    .about-promises {
        padding: var(--section-y) 0;
    }

    .about-promises__title {
        font-size: 36px;
        margin-bottom: 40px;
    }

    .about-promises__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .about-press__title {
        font-size: 36px;
    }
}

@media (max-width: 768px) {
    .about-hero-section {
        padding-top: 110px;
    }

    .about-hero-section__title {
        font-size: 32px;
    }

    .about-story__section-title {
        font-size: 28px;
    }

    .about-story__subtitle {
        font-size: 26px;
    }

    .about-story__text p {
        font-size: 16px;
    }

    .about-promises__title {
        font-size: 28px;
    }

    .about-promises__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .about-press {
        padding: var(--section-y) 0;
    }

    .about-press__title {
        font-size: 28px;
        margin-bottom: 40px;
    }

    .about-press__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 480px) {
    .about-hero-section__title {
        font-size: 28px;
    }

    .about-story__content {
        padding: 28px 20px;
    }

    .about-story__subtitle {
        font-size: 22px;
    }

    .about-story__quote {
        font-size: 17px;
    }

    .about-promises__card {
        padding: 20px;
    }

    .about-press__article-title {
        font-size: 18px;
    }

    .about-press__article-text {
        font-size: 15px;
    }
}

/* ==========================================================================
   LEGAL PAGES — Responsive
   ========================================================================== */

@media (max-width: 1024px) {
    .legal-hero {
        padding: 150px 0 var(--section-y);
    }

    .legal-hero__title {
        font-size: 40px;
    }

    .legal-content__body h2 {
        font-size: 24px;
    }

    .legal-content__body h3 {
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .legal-hero {
        padding: 130px 0 var(--section-y);
    }

    .legal-hero__title {
        font-size: 32px;
    }

    .legal-content {
        padding: var(--section-y) 0;
    }

    .legal-content__body h2 {
        font-size: 22px;
        margin: 36px 0 12px;
    }

    .legal-content__body h3 {
        font-size: 19px;
    }

    .legal-content__body p,
    .legal-content__body ul,
    .legal-content__body ol {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .legal-hero {
        padding: 120px 0 var(--section-y);
    }

    .legal-hero__title {
        font-size: 26px;
    }

    .legal-hero__date {
        font-size: 13px;
    }

    .legal-content {
        padding: var(--section-y) 0;
    }

    .legal-content__body h2 {
        font-size: 20px;
        margin: 28px 0 10px;
    }
}

/* ==========================================================================
   E-FACTURATION — Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .efact-hero__inner {
        flex-direction: column;
        gap: 40px;
    }

    .efact-hero__panel {
        flex: 0 0 auto;
        width: 100%;
        max-width: 520px;
    }

    .efact-timeline__grid {
        gap: 20px;
    }

    .efact-sanctions__grid {
        gap: 24px;
    }

    .efact-quote__card {
        padding: 36px 32px;
        gap: 30px;
    }

    .efact-compliance__step {
        padding: 50px 60px;
    }
}

@media (max-width: 1024px) {
    .efact-hero__title {
        font-size: 44px;
    }

    .efact-timeline__title,
    .efact-concerned__title,
    .efact-sanctions__title,
    .efact-engagements__title,
    .efact-compliance__title {
        font-size: 36px;
    }

    .efact-timeline__grid {
        grid-template-columns: 1fr;
        max-width: 540px;
    }

    .efact-concerned__row span:first-child,
    .efact-concerned__status {
        font-size: 18px;
    }

    .efact-sanctions__grid {
        grid-template-columns: 1fr;
    }

    .efact-sanctions__number {
        font-size: 56px;
    }

    .efact-engage-cards .container {
        grid-template-columns: 1fr;
        max-width: 540px;
    }

    .efact-compliance__step-title {
        font-size: 30px;
    }

    .efact-compliance__step-desc {
        font-size: 18px;
    }

    .efact-quote__card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .efact-quote__left {
        width: auto;
        align-items: center;
    }

    .efact-quote__author-info {
        align-items: center;
    }

    .efact-quote__open-mark {
        text-align: center;
    }

    .efact-quote__text {
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .efact-banner__img {
        max-height: 300px;
    }

    .efact-hero {
        padding: var(--section-y) 0;
    }

    .efact-hero__title {
        font-size: 36px;
        margin-bottom: 40px;
    }

    .efact-hero__card-desc {
        font-size: 16px;
    }

    .efact-intro__text,
    .efact-intro__concerned,
    .efact-timeline__subtitle,
    .efact-concerned__subtitle,
    .efact-sanctions__subtitle,
    .efact-engagements__subtitle,
    .efact-compliance__subtitle {
        font-size: 18px;
    }

    .efact-timeline__title,
    .efact-concerned__title,
    .efact-sanctions__title,
    .efact-engagements__title,
    .efact-compliance__title {
        font-size: 30px;
    }

    .efact-timeline__date {
        font-size: 26px;
    }

    .efact-timeline__dot {
        width: 55px;
        height: 55px;
    }

    .efact-concerned__thead span {
        font-size: 14px;
    }

    .efact-concerned__row {
        padding: 20px 24px;
    }

    .efact-concerned__thead {
        padding: 16px 24px;
    }

    .efact-concerned__row span:first-child,
    .efact-concerned__status {
        font-size: 16px;
    }

    .efact-concerned__callout,
    .efact-sanctions__callout {
        padding: 24px;
    }

    .efact-concerned__callout-title {
        font-size: 20px;
    }

    .efact-concerned__callout-text,
    .efact-sanctions__callout-text {
        font-size: 18px;
    }

    .efact-sanctions__number {
        font-size: 48px;
    }

    .efact-sanctions__currency {
        font-size: 26px;
    }

    .efact-compliance__step {
        padding: 40px 32px;
    }

    .efact-compliance__step-title {
        font-size: 24px;
    }

    .efact-quote__card {
        padding: 28px 24px;
        box-shadow: 0px 4px 4px 30px rgba(109, 153, 241, 0.3);
    }

    .efact-quote__text {
        font-size: 18px;
    }

    .efact-quote__open-mark {
        font-size: 60px;
    }
}

@media (max-width: 480px) {
    .efact-banner__img {
        max-height: 220px;
    }

    .efact-hero {
        padding: var(--section-y) 0;
    }

    .efact-hero__title {
        font-size: 28px;
        margin-bottom: 30px;
    }

    .efact-hero__card-title {
        font-size: 20px;
    }

    .efact-hero__card-desc {
        font-size: 15px;
    }

    .efact-hero__card-icon {
        width: 56px;
        height: 56px;
    }

    .efact-hero__card-icon img {
        width: 32px;
        height: 32px;
    }

    .efact-timeline__title,
    .efact-concerned__title,
    .efact-sanctions__title,
    .efact-engagements__title,
    .efact-compliance__title {
        font-size: 26px;
    }

    .efact-intro__text,
    .efact-intro__concerned {
        font-size: 16px;
    }

    .efact-timeline__date {
        font-size: 22px;
    }

    .efact-timeline__dot {
        width: 45px;
        height: 45px;
    }

    .efact-timeline__card-title,
    .efact-timeline__card-scope {
        font-size: 20px;
    }

    .efact-timeline__card-desc {
        font-size: 15px;
    }

    .efact-concerned__table {
        overflow-x: auto;
    }

    .efact-concerned__thead,
    .efact-concerned__row {
        min-width: 500px;
    }

    .efact-sanctions__card {
        padding: 24px;
    }

    .efact-sanctions__number {
        font-size: 40px;
    }

    .efact-sanctions__card-desc {
        font-size: 15px;
    }

    .efact-compliance__step {
        padding: 32px 20px;
    }

    .efact-compliance__step-title {
        font-size: 22px;
    }

    .efact-compliance__step-desc {
        font-size: 16px;
    }

    .efact-quote__card {
        padding: 24px 16px;
        box-shadow: 0px 4px 4px 16px rgba(109, 153, 241, 0.2);
    }

    .efact-quote__photo {
        width: 100px;
        height: 100px;
    }

    .efact-quote__text {
        font-size: 16px;
    }
}