/* Responsive presentation: softer backgrounds and desktop alignment. */
.footer-community-links,
.footer-legal-links { display: contents; }
.footer-contact, .footer-group-title { display: none; }

:root { --ivory: #fcfaf6; --ivory-soft: #f7f3ed; }
@layer presentation {
    body { background: #fcfaf6 !important; }
    body.tools-page main#regularisation-final {
      --bg: #fcfaf6; --bg-2: #f7f3ed; --fg: #3b3a37; --fg-soft: #55504a;
      background-color: #fcfaf6 !important;
    }
    body.tools-page main#regularisation-final :is(.searchbox,thead th,.pill.yes) { background-color: #f7f3ed !important; }
    body.tools-page main#regularisation-final :is(input,select,textarea,.chk,.recap) { background-color: #fcfaf6 !important; }
    body.tools-page main#regularisation-final :is(.lead,.company .v,.picks .who b,.picks .who .ln,.recap .rt,.caltab td.d) { color: #3b3a37 !important; }
    body.tools-page main#regularisation-final :is(.note,.legal,.muted,.consent,small,.proto,.stepsum,.dateph,.fname,.picks .who .siren,.kpi:not(.urgent) .l) { color: #55504a !important; }
    body.tools-page main#regularisation-final .steph .steplabel {
      font-size: 16px !important; line-height: 1.4 !important;
      padding: 5px 11px !important; letter-spacing: .04em !important;
      border-radius: 0 !important;
    }
    body .site-header-main,
    body .site-header-main #navigation .nav-service-submenu,
    body .redesign-footer { background: #fcfaf6 !important; }
    body:not(.tools-page) main > section:nth-of-type(odd),
    body:not(.tools-page).guides-page main > #guides,
    body:not(.tools-page).news-list-page main > #actualites,
    body:not(.tools-page) main.redesign-home :is(.home-intro,.home-doors,.home-why,.home-reading),
    body:is(.guides-page,.news-list-page) main > article.news-card:nth-of-type(odd) {
      background: #fcfaf6 !important;
    }
    body:not(.tools-page) main > section:nth-of-type(even),
    body:not(.tools-page) main.redesign-home :is(.home-services,.home-tool,.home-contact),
    body:is(.guides-page,.news-list-page) main > article.news-card:nth-of-type(even) {
      background: #f7f3ed !important;
    }
    body:not(.tools-page) main :is(.home-services-grid > article,input,select,textarea) {
      background: #fcfaf6 !important;
    }
    body:not(.tools-page) main :is(.contact-card,.newsletter-card) { background: #f7f3ed !important; }
}

@media (max-width: 700px) {
  @layer presentation {
    body:not(.tools-page) main .home-doors > div { background: #f7f3ed !important; }
    body .site-header-main #navigation, body.menu-open .site-header-main #navigation.open { background: #fcfaf6 !important; }
    body .redesign-footer { display: flex !important; flex-direction: column !important; gap: 24px !important; }
    body .redesign-footer .footer-brand { width: 100% !important; align-items: flex-start !important; }
    body .redesign-footer .footer-right {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      grid-template-rows: min-content 1fr !important;
      gap: 16px 20px !important;
      width: 100% !important;
      align-items: start !important;
    }
    body .redesign-footer :is(.footer-legal-links,.footer-community-links) {
      display: flex !important; flex-direction: column !important;
      gap: 12px !important; min-width: 0 !important; align-items: flex-start !important;
    }
    body .redesign-footer .footer-legal-links { grid-area: 1 / 1 / 3 / 2 !important; }
    body .redesign-footer .footer-community-links { grid-area: 1 / 2 / 2 / 3 !important; }
    body .redesign-footer .footer-group-title { display: block !important; margin: 0 !important; font-weight: 700 !important; }
    body .redesign-footer .footer-contact { display: inline-block !important; }
    body .redesign-footer .footer-social { gap: 12px !important; grid-area: 2 / 2 / 3 / 3 !important; justify-self: center !important; align-self: start !important; margin: 0 !important; }
    body .redesign-footer .footer-legal { width: 100% !important; min-width: 0 !important; }
    body .redesign-footer :is(a,summary,p) { max-width: 100% !important; overflow-wrap: anywhere; hyphens: none; }

  }
}

@media (min-width: 701px) {
  :root {
    --page-gutter: max(5vw, calc((100vw - 1600px) / 2));
    --content-width: calc(100% - var(--page-gutter) * 2);
  }
  @layer presentation {
    body:not(.tools-page) main.redesign-home .home-reading-grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      column-gap: clamp(72px, 7vw, 144px) !important;
    }
    body:not(.tools-page) main.redesign-home .home-reading-grid > article { min-width: 0 !important; width: 100% !important; }
    body:not(.tools-page) main .about-layout { max-width: none !important; width: 100% !important; margin-inline: 0 !important; }
    body:not(.tools-page) main .article-body { max-width: 1100px !important; margin-inline: auto !important; }

    body .redesign-footer {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      grid-template-areas: none !important;
      align-items: start !important;
      gap: 24px 64px !important;
      padding-inline: var(--page-gutter) !important;
    }
    body .redesign-footer .footer-brand { grid-area: 1 / 1 / 2 / 2 !important; align-items: flex-start !important; text-align: left !important; }
    body .redesign-footer .footer-brand :is(a,span,p) { text-align: left !important; }
    body .redesign-footer .footer-right { display: contents !important; }
    body .redesign-footer .footer-legal-links {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: flex-start !important;
      gap: 12px 28px !important;
      grid-column: 1 !important;
      grid-row: 2 !important;
    }
    body .redesign-footer .footer-community-links {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: flex-start !important;
      gap: 12px 28px !important;
      justify-content: center !important;
      grid-column: 2 !important;
      grid-row: 2 !important;
      padding-top: 0 !important;
    }
    body .redesign-footer .footer-contact { display: inline-block !important; }
    body .redesign-footer .footer-group-title { display: block !important; flex-basis: 100% !important; margin: 0 !important; font-weight: 700 !important; }
    body .redesign-footer .footer-community-links .footer-group-title { text-align: center !important; text-align-last: center !important; }
    body .redesign-footer .footer-social { grid-area: 3 / 2 / 4 / 3 !important; justify-self: center !important; margin: 0 !important; }
    body .redesign-footer .footer-legal[open] { flex-basis: 100% !important; }
    body:not(.tools-page) .site-header-main { padding-inline: var(--page-gutter) !important; }
    body .redesign-footer, body .redesign-footer :is(a,summary,span,p) { font-size: clamp(20px, 1.2vw, 22px) !important; line-height: 1.5 !important; }
    body .redesign-footer .footer-logo { width: 150px !important; transform: translateX(-6.65%) !important; }
    body .redesign-footer .footer-brand { gap: 2px !important; }
    body .redesign-footer .footer-social a { width: 42px !important; height: 42px !important; }
    body:not(.tools-page) main :is(.label-tag,.news-card time,.article-date time,.guide-article > p > time),
    body.tools-page main#regularisation-final .steph .steplabel {
      font-size: clamp(20px, 1.25vw, 22px) !important;
      font-weight: 700 !important; padding: 7px 14px !important;
    }
    body:not(.tools-page) main.redesign-home .home-reading-grid time { font-size: 18px !important; }
    body:not(.tools-page) main.redesign-home .home-tool { justify-items: start !important; gap: 24px !important; }
    body:not(.tools-page) main.redesign-home .home-tool > .label-tag { justify-self: start !important; }
    body:not(.tools-page) main.redesign-home p.home-tool-copy {
      max-width: 850px !important; margin-inline: 0 !important;
      text-align: left !important; text-align-last: left !important;
    }
    body:not(.tools-page) main.redesign-home .home-tool-logo { width: 280px !important; justify-self: start !important; margin-left: 38px !important; }
    body:not(.tools-page) main.redesign-home .home-contact { display: flex !important; flex-direction: column !important; align-items: center !important; }
    body:not(.tools-page) main.redesign-home .home-contact > :is(h2,p) { width: 100% !important; text-align: center !important; text-align-last: center !important; }
    body:not(.tools-page) main.redesign-home .home-contact > p { max-width: 850px !important; margin-inline: auto !important; }
    body:not(.tools-page) main.redesign-home .home-contact > .button { margin-inline: auto !important; align-self: center !important; }

  }
}

@media (min-width: 1100px) {
  @layer presentation {
    body:not(.tools-page) main.redesign-home .home-intro {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      column-gap: clamp(48px, 5vw, 110px) !important;
      row-gap: 24px !important;
      align-items: start !important;
    }
    body:not(.tools-page) main.redesign-home .home-intro > h1 { grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important; }
    body:not(.tools-page) main.redesign-home .home-intro > .home-experience { grid-column: 1 !important; grid-row: 2 !important; margin: 0 !important; }
    body:not(.tools-page) main.redesign-home .home-intro > .home-lead { grid-column: 2 !important; grid-row: 1 / 3 !important; align-self: center !important; margin: 0 !important; text-align: left !important; text-align-last: left !important; }
    body:not(.tools-page) main.redesign-home .home-intro > .home-actions { grid-area: 2 / 2 / 3 / 3 !important; justify-self: start !important; margin: 0 !important; align-self: center !important; }
    body:not(.tools-page) main :is(.contact-layout,.newsletter-intro) {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      gap: clamp(48px, 5vw, 110px) !important;
      align-items: start !important;
    }
    body:not(.tools-page) main :is(.contact-card,.newsletter-card) { width: 100% !important; max-width: none !important; margin: 0 !important; }
  }
}

@media (max-width: 360px) {
  @layer presentation {
    body .redesign-footer .footer-group-title { min-height: 3.4em !important; }
  }
}
