/* Responsive fixes on top of the Webflow export (agienic.webflow.shared.*.css is kept untouched). */

/* Home: the desktop Lottie hero (text included) was a fixed 900px wide, which widened
   the whole .div-block grid between 480px and 1125px and pushed the 3 cards off-screen. */
.div-block {
  grid-template-columns: minmax(0, 1fr);
}
.lottie-animation-2 {
  max-width: 100%;
}
/* Its composition starts right at the left edge of its frame: keep breathing room on
   tablets and small laptops (unchanged from ~1150px up, where it is 900px). */
@media screen and (min-width: 768px) {
  .div-block-39 {
    width: 100%;
  }
  /* Grows past the original 900px on large screens, as long as the viewport height leaves room above the cards (aspect ratio ~1.98). */
  .lottie-animation-2 {
    width: min(78vw, max(900px, min((100vh - 330px) * 1.98, 1300px)));
  }
}
/* Desktop: the visual weight (circle + "We kill") sits on the left of the composition, so nudge it right instead of strict centering. */
@media screen and (min-width: 992px) {
  .lottie-animation-2 { transform: translateX(5vw); }
}

/* Applications: the 300px image column left too little room for the text around 480px. */
.bloc-application.droit.sans-texte {
  grid-template-columns: minmax(0, min(300px, 45%)) minmax(0, 1fr);
}
.bloc-application.gauche.sans-texte {
  grid-template-columns: minmax(0, 1fr) minmax(0, min(300px, 45%));
}

/* Team: the CMS list could get wider than small phones (320px). */
.collection-list-wrapper {
  min-width: 0;
  max-width: 100%;
}

/* Home: the decorative coronavirus image is scaled 1.8x between 480px and 767px
   and bled past the right edge, causing horizontal scroll. */
.section-corona {
  overflow-x: clip;
}

/* Applications: 30px side padding left no room for the text column around 480px. */
@media screen and (max-width: 767px) {
  .bloc-texte-application {
    min-width: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
  .titre-application {
    hyphens: auto;
  }
}

/* === Mobile layout extended to 480-767px === */
/* Webflow's 480-767px ("mobile landscape") layout was never tuned: cramped desktop hero animation,
   header overlapping the content on interior pages, decorative images beside the text.
   The portrait layout (<=479px) is clean, so its rules are reused up to 767px. Generated from the
   (max-width: 479px) blocks of agienic.webflow.shared.*.css; regenerate if that file changes. */
@media screen and (min-width: 480px) and (max-width: 767px) {
.w-container {
    max-width: none;
  }

  .w-hidden-main, .w-hidden-medium, .w-hidden-small {
    display: inherit !important;
  }

  .w-hidden-tiny {
    display: none !important;
  }

  .w-col {
    width: 100%;
  }

  .w-col-tiny-1 {
    width: 8.33333%;
  }

  .w-col-tiny-2 {
    width: 16.6667%;
  }

  .w-col-tiny-3 {
    width: 25%;
  }

  .w-col-tiny-4 {
    width: 33.3333%;
  }

  .w-col-tiny-5 {
    width: 41.6667%;
  }

  .w-col-tiny-6 {
    width: 50%;
  }

  .w-col-tiny-7 {
    width: 58.3333%;
  }

  .w-col-tiny-8 {
    width: 66.6667%;
  }

  .w-col-tiny-9 {
    width: 75%;
  }

  .w-col-tiny-10 {
    width: 83.3333%;
  }

  .w-col-tiny-11 {
    width: 91.6667%;
  }

  .w-col-tiny-12 {
    width: 100%;
  }
.w-nav[data-collapse="tiny"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="tiny"] .w-nav-button {
    display: block;
  }
.w-tab-link {
    display: block;
  }
.sticky-nav {
    padding: 0;
  }

  .nav-grid {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    grid-template-rows: 100px;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
  }

  .nav-logo-link {
    border-top: 1px solid #c4c4c4;
  }

  .nav-link {
    border-top: 1px solid #c4c4c4;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .div-block {
    margin-bottom: 0;
  }

  .div-block-visuel-droit {
    clear: none;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    object-fit: fill;
    grid-template-rows: auto auto;
    grid-template-columns: 100%;
    grid-auto-columns: 1fr;
    place-content: start center;
    justify-items: center;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    display: grid;
    position: static;
    inset: 0% auto auto 0%;
  }

  .bloc-8-home {
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    height: 350px;
  }

  .section-corona {
    background-image: linear-gradient(#011e34a1, #011e34a1), url("../images/5ec7e4560a860f92b56d5e5b_corona.png");
    background-position: 0 0, 50%;
    background-repeat: repeat, no-repeat;
    background-size: auto, 450px;
    padding: 255px 30px 37px;
  }

  .section-5 {
    margin-bottom: 0;
  }

  .paragraphe {
    width: auto;
    padding-bottom: 25px;
    font-size: 18px;
    line-height: 25px;
  }

  .paragraphe.gris, .paragraphe.bleu, .paragraphe.gris-fonce {
    font-size: 5vw;
    line-height: 6vw;
  }

  .bouton {
    transform: translate(-24px);
  }

  .bouton.vert.patent {
    align-items: flex-end;
  }

  .bouton._1 {
    margin-left: 27px;
  }

  .texte-bouton {
    text-align: right;
    align-self: flex-end;
    font-size: 9px;
    line-height: 10px;
  }

  .texte-bouton.blanc {
    font-size: 9px;
    line-height: 10px;
  }

  .div-block-header-texte-corona {
    flex-wrap: nowrap;
    align-content: flex-start;
    align-items: stretch;
    width: 100%;
    padding-right: 0;
  }

  .filet {
    width: 50px;
    transform: translate(0);
  }

  .div-block-6 {
    display: none;
  }

  .titre {
    font-size: 60px;
    line-height: 60px;
    transform: translate(-4px);
  }

  .titre.blanc {
    margin-top: -2px;
    margin-left: -2px;
    font-size: 13vw;
    line-height: 14vw;
  }

  .titre.bleu-fonce {
    font-size: 13vw;
    line-height: 13vw;
  }

  .titre.bleu {
    font-size: 13vw;
    line-height: 14vw;
  }

  .image {
    transform: translate(0);
  }

  .div-block-7 {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    object-fit: fill;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    display: block;
  }

  .div-block-8 {
    width: 100%;
  }

  .div-block-9 {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
  }

  .titre-bouton-bas {
    font-size: 29px;
    line-height: 27px;
  }

  .div-block-10 {
    display: none;
  }

  .div-block-11 {
    border-right: 1px solid var(--bleu);
    border-bottom: 1px solid var(--bleu);
    padding-top: 0;
    padding-left: 23px;
    padding-right: 32px;
  }

  .call-to-action-bas {
    margin-bottom: 0;
  }

  .div-block-12 {
    background-color: var(--bleu);
    padding-top: 25px;
    padding-left: 27px;
    padding-right: 45px;
  }

  .partner-2 {
    font-size: 12px;
    line-height: 14px;
  }

  .section-visuel-gauche {
    padding-bottom: 34px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .section-visuel-gauche._1 {
    padding-right: 30px;
  }

  .div-block-visuel-gauche {
    clear: none;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    object-fit: fill;
    grid-template-rows: auto auto;
    grid-template-columns: 100%;
    grid-auto-columns: 1fr;
    place-content: start space-between;
    justify-items: stretch;
    width: auto;
    margin-top: 21px;
    margin-left: 0;
    margin-right: 0;
    padding: 0 0% 0 0;
    display: grid;
    position: static;
    inset: 0% auto auto 0%;
  }

  .div-block-8-copy {
    width: 100%;
  }

  .section-visuel-application {
    padding-bottom: 34px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .div-block-application {
    clear: none;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    object-fit: fill;
    grid-template-rows: auto auto;
    grid-template-columns: 100%;
    grid-auto-columns: 1fr;
    place-content: start center;
    justify-items: center;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    display: grid;
    position: static;
    inset: 0% auto auto 0%;
  }

  .div-block-bleu-ciel {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    object-fit: fill;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    display: block;
  }

  .div-block-texte-application {
    flex-wrap: nowrap;
    align-content: flex-start;
    align-items: stretch;
    width: 100%;
    padding-right: 0;
  }

  .titre-bleu-fonce {
    font-size: 60px;
    line-height: 60px;
    transform: translate(-4px);
  }

  .paragraphe-application {
    width: auto;
    padding-bottom: 25px;
    font-size: 18px;
    line-height: 25px;
  }

  .filet-vert-fonce {
    width: 50px;
    transform: translate(0);
  }

  .bouton-vert-fonce {
    transform: translate(-24px);
  }

  .titre-bt-vert-fonce {
    font-size: 12px;
    line-height: 14px;
  }

  .section-visuel-droit-2 {
    padding-bottom: 34px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .filet-bloc-bleu-fonce {
    width: 50px;
    transform: translate(0);
  }

  .div-block-visuel-gauche-rouge {
    clear: none;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    object-fit: fill;
    grid-template-rows: auto auto;
    grid-template-columns: 100%;
    grid-auto-columns: 1fr;
    place-content: start center;
    justify-items: stretch;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    display: grid;
    position: static;
    inset: 0% auto auto 0%;
  }

  .filet-bloc-rouge {
    width: 50px;
    transform: translate(0);
  }

  .div-block-corona {
    grid-template-rows: auto auto;
    grid-template-columns: 3.5fr;
    width: auto;
    height: auto;
    margin-bottom: -6px;
  }

  .image-3 {
    bottom: auto;
    left: auto;
    transform: scale(1);
  }

  .section-visuel-droit {
    padding-bottom: 34px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .section-visuel-droit.team {
    padding-left: 0;
  }

  .section-visuel-droit.team.about {
    margin-left: 0%;
  }

  .div-blockvisuel-droit {
    grid-template-rows: auto auto;
    grid-template-columns: 3.5fr;
    height: auto;
  }

  .div-blockvisuel-droit.team {
    grid-column-gap: 20px;
    grid-template-columns: 2.25fr 1.25fr;
  }

  .div-block-texte-gauche {
    flex-wrap: nowrap;
    align-content: flex-start;
    align-items: stretch;
    width: 100%;
    padding-right: 0;
  }

  .div-block-texte-gauche.team {
    width: auto;
    margin-left: 30px;
    margin-right: auto;
    padding-bottom: 39px;
  }

  .div-block-texte-gauche.application {
    margin-right: auto;
    padding-bottom: 24px;
  }

  .titre-application-1 {
    font-size: 60px;
    line-height: 60px;
    transform: translate(-4px);
  }

  .filet-section-application-1 {
    width: 50px;
    transform: translate(0);
  }

  .paragraphe-application-1 {
    width: auto;
    padding-bottom: 25px;
    font-size: 18px;
    line-height: 25px;
  }

  .bouton-application-1 {
    transform: translate(-24px);
  }

  .text-block-bt-bleu {
    font-size: 9px;
    line-height: 10px;
  }

  .sous-titre.gris, .sous-titre.vert-fonce, .sous-titre.gris-fonce, .sous-titre.gris {
    font-size: 10px;
    line-height: 12px;
  }

  .section-visuel-gauche-1 {
    padding-bottom: 34px;
    padding-left: 0;
    padding-right: 0;
  }

  .div-blockvisuel-gauche {
    grid-template-rows: auto auto;
    grid-template-columns: 3.5fr;
    height: auto;
  }

  .div-block-texte-droit {
    flex-wrap: nowrap;
    align-content: flex-start;
    align-items: stretch;
    width: 100%;
    padding-right: 0;
  }

  .div-block-texte-droit.background {
    padding-left: 30px;
    padding-right: 30px;
  }

  .image-blockvisuel-droit {
    height: auto;
  }

  .image-5 {
    width: 150px;
  }

  .block-header-image-corona {
    display: none;
  }

  .footer {
    text-align: left;
    padding-left: 20px;
    padding-right: 20px;
  }

  .footer-flex-container {
    flex-direction: column;
  }

  .footer-logo-link {
    height: 60px;
  }

  .footer-heading {
    margin-top: 20px;
  }

  .titre-bouton-bas-2 {
    font-size: 29px;
    line-height: 27px;
  }

  .call-to-action-bas-2 {
    margin-bottom: 0;
  }

  .paragraphe-2 {
    width: auto;
    padding-bottom: 25px;
    font-size: 18px;
    line-height: 25px;
  }

  .paragraphe-2.gris {
    font-size: 5vw;
    line-height: 6vw;
  }

  .texte-bouton-2 {
    text-align: right;
    align-self: flex-end;
    font-size: 9px;
    line-height: 10px;
  }

  .section-header {
    background-image: linear-gradient(#011e34a1, #011e34a1), url("../images/5ec7e4560a860f92b56d5e5b_corona.png");
    background-position: 0 0, 50%;
    background-repeat: repeat, no-repeat;
    background-size: auto, 450px;
    margin-bottom: -33px;
    padding-bottom: 34px;
    padding-left: 3%;
    padding-right: 3%;
  }

  .section-header.background {
    background-image: none;
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-header.corona {
    background-image: linear-gradient(#011e34a1, #011e34a1);
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-header.team {
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-header.patents {
    background-image: linear-gradient(#011e34a1, #011e34a1);
  }

  .section-header.technology {
    background-image: linear-gradient(#011e34a1, #011e34a1);
    height: 240px;
    margin-bottom: 184px;
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-header.applications {
    background-image: linear-gradient(#011e34a1, #011e34a1);
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-header.contact {
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-header.oilandgas {
    background-image: linear-gradient(#011e34a1, #011e34a1);
    margin-bottom: 232px;
    padding-left: 0%;
    padding-right: 0%;
  }

  .filet-2 {
    width: 50px;
    transform: translate(0);
  }

  .div-block-header-corona {
    grid-template-rows: auto auto;
    grid-template-columns: 3.5fr;
    width: auto;
    height: auto;
  }

  .titre-header {
    font-size: 35px;
    line-height: 40px;
  }

  .filet-header {
    width: 120px;
  }

  .paragraphe-page-interieur {
    padding-left: 0%;
    padding-right: 0%;
  }

  .block-paragraphe-texte-interieur._1 {
    width: 100%;
    padding: 0 5% 22px;
  }

  .block-paragraphe-texte-interieur._2 {
    padding-top: 34px;
    padding-left: 5%;
    padding-right: 5%;
  }

  .block-paragraphe-texte-interieur._3 {
    padding-bottom: 0;
  }

  .titre-texte-1 {
    margin-bottom: 30px;
    font-size: 25px;
    line-height: 25px;
  }

  .paragraph-3 {
    font-size: 17px;
    line-height: 25px;
  }

  .paragraph-3.bleu._1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .div-block-16 {
    border-left: 0px solid var(--vert);
    background-image: linear-gradient(53deg, var(--bleu-fonce), #011e3482), url("../images/5eda1469e93ebb7536367ba0_about.jpg");
    padding-left: 0;
  }

  .div-block-16.corona {
    border-left-width: 0;
  }

  .div-block-16.team {
    border-left-style: none;
  }

  .div-block-16.patents {
    background-image: linear-gradient(53deg, var(--bleu-fonce), #011e3482), url("../images/5ed6522cea17a57551d762e5_patent.jpg");
    width: 100%;
  }

  .div-block-16.technology {
    border-left-width: 0;
    height: 150%;
    max-height: 450px;
    padding-bottom: 0;
  }

  .div-block-16.applications {
    border-left-width: 0;
  }

  .div-block-16.oilandgas {
    width: 100%;
  }

  .titre-texte-2 {
    margin-bottom: 28px;
    font-size: 20px;
    line-height: 25px;
  }

  .titre-texte-2.blanc {
    font-size: 23px;
    line-height: 23px;
  }

  .heading-9 {
    padding-right: 0%;
    font-size: 190%;
  }

  .div-block-18.corona {
    padding-right: 5%;
  }

  .div-block-18.patents {
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    padding-left: 10%;
    display: flex;
  }

  .bloc-chiffre {
    margin-top: -48px;
  }

  .image-contenu {
    margin-top: 40px;
  }

  .section-team {
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-team.management {
    padding-left: 3%;
    padding-right: 3%;
  }

  .block-team._1 {
    width: 100%;
    padding-top: 0;
    padding-left: 5%;
    padding-right: 5%;
  }

  .block-team._2 {
    padding-top: 34px;
    padding-left: 5%;
    padding-right: 5%;
  }

  .block-profil.management {
    background-image: linear-gradient(355deg, var(--bleu-fonce), #54bcb10f);
    grid-template-rows: 224px auto;
    place-content: start;
    place-items: start;
  }

  .image-profil {
    justify-content: flex-start;
    align-items: flex-start;
    max-width: none;
    padding-top: 30px;
    padding-bottom: 0;
    padding-left: 30px;
    display: flex;
  }

  .nom.management {
    font-size: 30px;
    line-height: 25px;
  }

  .prenom.management {
    font-size: 25px;
    line-height: 25px;
  }

  .cv.management {
    padding-left: 30px;
    padding-right: 30px;
  }

  .image-7 {
    width: 130px;
    max-width: none;
  }

  .nom-prenom.management {
    flex-direction: column;
  }

  .texte-titre {
    font-size: 18px;
    line-height: 18px;
  }

  .texte-titre.bleu {
    letter-spacing: 5px;
    font-size: 15px;
  }

  .bloc-titre.management {
    margin-bottom: 7px;
  }

  .text-block-3 {
    margin-right: 21px;
  }

  .contenu-patents {
    padding-top: 242px;
  }

  .bloc-patent {
    padding-left: 20px;
    padding-right: 20px;
  }

  .heading-11 {
    font-size: 30px;
    line-height: 30px;
  }

  .rich-text-block-2 {
    font-size: 17px;
    line-height: 25px;
  }

  .text-pays, .text-patent {
    letter-spacing: 4px;
    font-size: 9px;
  }

  .section-technology {
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-technology.management {
    padding-left: 3%;
    padding-right: 3%;
  }

  .section-visuel-droit-innovation {
    margin-top: -49px;
    padding: 60px 30px 34px;
  }

  .section-visuel-droit-innovation.team {
    padding-left: 0;
  }

  .image-innovation {
    bottom: auto;
    left: auto;
    transform: scale(1);
  }

  .bloc-application._1 {
    width: 100%;
    padding-top: 0;
    padding-left: 5%;
    padding-right: 5%;
  }

  .bloc-application._2 {
    padding-top: 34px;
    padding-left: 5%;
    padding-right: 5%;
  }

  .bloc-application.droit.sans-texte {
    flex-direction: column;
    display: flex;
  }

  .bloc-application.droit.avec-texte {
    margin-bottom: 19px;
  }

  .bloc-application.gauche.sans-texte {
    flex-direction: column;
    display: flex;
  }

  .titre-application {
    font-size: 35px;
    line-height: 35px;
  }

  .titre-texte-2-copy, .sous-titre-application-bloc {
    font-size: 25px;
    line-height: 30px;
  }

  .sous-titre-application-bloc.bloc-avec-texte {
    font-size: 22px;
    line-height: 25px;
  }

  .paragraph-3-copy {
    font-size: 17px;
    line-height: 25px;
  }

  .paragraph-3-copy.application {
    font-size: 14px;
    line-height: 20px;
  }

  .bloc-texte-application {
    background-color: var(--blanc);
    padding-top: 30px;
  }

  .div-block-22 {
    width: 100%;
    height: 100px;
  }

  .div-block-22._2 {
    background-position: 50% 0;
  }

  .div-block-23 {
    object-fit: fill;
    background-position: 50%;
    align-items: center;
    width: 100%;
    height: 100px;
    padding-left: 0;
    display: block;
  }

  .div-block-24 {
    width: 100%;
    height: 100px;
    padding-left: 0;
    display: block;
  }

  .div-block-25 {
    height: 100px;
  }

  .section-menu {
    display: block;
  }

  .link {
    letter-spacing: 7px;
    margin-bottom: 19px;
    font-size: 17px;
  }

  .div-block-29 {
    padding-top: 15px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .footer-site {
    padding-left: 7%;
    padding-right: 7%;
  }

  .menu-footer {
    grid-template-columns: auto;
  }

  .onglets-footer {
    border-top: 1px solid var(--vert);
    margin-top: 16px;
  }

  .onglets-footer-2 {
    margin-top: 24px;
    top: 0;
  }

  .div-block-32 {
    border-left-width: 0;
    margin-left: 0;
    padding-left: 0;
  }

  .text-block-5 {
    letter-spacing: 2px;
    margin-top: 23px;
    font-size: 10px;
  }

  .text-block-5.contact {
    font-size: 10px;
    line-height: 15px;
  }

  .section-contact {
    background-image: linear-gradient(#011e34a1, #011e34a1), url("../images/5ec7e4560a860f92b56d5e5b_corona.png");
    background-position: 0 0, 50%;
    background-repeat: repeat, no-repeat;
    background-size: auto, 450px;
    margin-bottom: -33px;
    padding-bottom: 34px;
    padding-left: 3%;
    padding-right: 3%;
  }

  .section-contact.background {
    background-image: none;
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-contact.corona {
    background-image: linear-gradient(#011e34a1, #011e34a1);
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-contact.team {
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-contact.patents {
    background-image: linear-gradient(#011e34a1, #011e34a1);
  }

  .section-contact.technology {
    background-image: linear-gradient(#011e34a1, #011e34a1);
    margin-bottom: 184px;
    padding-left: 0%;
    padding-right: 0%;
  }

  .section-contact.applications {
    background-image: linear-gradient(#011e34a1, #011e34a1);
    padding-left: 0%;
    padding-right: 0%;
  }

  .block-carte {
    border-left: 0px solid var(--vert);
    padding-left: 0;
  }

  .block-carte.corona {
    border-left-width: 0;
  }

  .block-carte.team {
    border-left-style: none;
  }

  .block-carte.patents {
    background-image: linear-gradient(53deg, var(--bleu-fonce), #011e3482), url("../images/5ed6522cea17a57551d762e5_patent.jpg");
    width: 100%;
  }

  .block-carte.technology, .block-carte.applications {
    border-left-width: 0;
  }

  .heading-12 {
    font-size: 35px;
    line-height: 35px;
  }

  .heading-12.blanc {
    font-size: 30px;
    line-height: 35px;
  }

  .sous-titre-h3 {
    margin-bottom: -5px;
    font-size: 18px;
    line-height: 20px;
  }

  .section-contenu-oil.vert {
    padding-top: 43px;
    padding-left: 10%;
    padding-right: 10%;
  }

  .section-contenu-oil.bleu {
    padding-top: 47px;
  }

  .liste-background {
    grid-template-columns: 1fr;
  }

  .block-background {
    background-color: var(--vert);
    height: auto;
    padding: 15px;
  }

  .text-block-background {
    color: var(--blanc);
    font-size: 15px;
    font-weight: 400;
  }

  .sous-titre-2 {
    margin-top: 27px;
    font-size: 30px;
    line-height: 30px;
  }

  .liste-benefit {
    grid-template-columns: 1fr;
  }

  .block-benefit {
    height: auto;
  }

  .titre-oil-2 {
    margin-bottom: 30px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 20px;
    line-height: 25px;
  }

  .sous-titre-corrosion {
    margin-bottom: 45px;
    margin-left: 5%;
    margin-right: 5%;
    padding: 20px;
    font-size: 12px;
    line-height: 16px;
  }

  .titre-patent {
    font-size: 18px;
    line-height: 20px;
  }

  .div-block-36 {
    flex-direction: column;
    padding: 20px;
    display: flex;
  }

  .contenu-applications {
    padding-top: 242px;
  }

  .bold-text-2 {
    font-size: 22px;
    line-height: 22px;
  }

  .div-block-39 {
    display: none;
  }

  .div-block-40 {
    margin-top: 95px;
    margin-bottom: 80px;
    display: block;
  }

  .texte-gros {
    margin-bottom: 28px;
    font-size: 20px;
    line-height: 25px;
  }

  .texte-gros.blanc {
    font-size: 23px;
    line-height: 23px;
  }
#w-node-_6281acb0-2fea-2070-301f-4439306598a2-1e2b2997 {
    justify-self: start;
  }

  #w-node-_18f19fc4-5608-494c-1aef-a8a6269bc551-269bc52f, #w-node-_611dc773-d40f-6040-7055-495e9b43c12b-7934633f {
    place-self: start;
  }

  #w-node-_94dc243f-1279-ca4d-d4e4-3e34e59abb9b-e0fbf59b, #w-node-abb90815-8113-9ddb-1863-96c6520a4059-e0fbf59b {
    align-self: auto;
  }

  #w-node-_3ec2eeaa-e6c4-0cd9-507d-c67ae1df74ce-8461ebe1, #w-node-_3ec2eeaa-e6c4-0cd9-507d-c67ae1df74d2-8461ebe1, #w-node-_3ec2eeaa-e6c4-0cd9-507d-c67ae1df74d6-8461ebe1, #w-node-_3ec2eeaa-e6c4-0cd9-507d-c67ae1df74da-8461ebe1 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }

  #w-node-_6281acb0-2fea-2070-301f-4439306598a2-c27438cd {
    justify-self: start;
  }
}

/* Home, Coronavirus highlight: on mobile the virus visual sits above the text
   (Webflow hid it and used it as a faded background behind the title). */
@media screen and (max-width: 767px) {
  /* The stacked cards (350px) overflowed their fixed 170px grid row onto this section;
     Webflow compensated with 255px of top padding here. Let the row fit the cards instead. */
  .div-block {
    grid-template-rows: auto auto;
  }
  .section-corona {
    background-image: none;
    padding: 40px 30px 37px;
  }
  .div-block-corona {
    display: flex;
    flex-direction: column;
    width: auto;
    height: auto;
    margin-bottom: 0;
  }
  .block-header-image-corona {
    display: block;
    order: -1;
    width: 70%;
    max-width: 320px;
    margin: 0 auto 24px;
    position: static;
    transform: none;
  }
  .block-header-image-corona .image-3 {
    display: block;
    width: 100%;
    margin: 0;
    position: static;
  }
}

/* Technology, tablets (768-991px): the "Innovation" block is pulled up 252px under the header
   card, which only clears the card on desktop where the header has a large bottom margin. */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .paragraphe-page-interieur.innovation {
    margin-top: 0;
  }
}

/* Coronavirus, numbered blocks: on desktop the number square straddles the bottom of the photo
   (32px overlap). On mobile the text block's 10% top padding cancelled the negative margin,
   so the square sat under the photo (or even below it from 480px). Same 32px overlap here. */
@media screen and (max-width: 767px) {
  .texte-bloc-solution {
    padding-top: 0;
  }
  .bloc-chiffre {
    margin-top: -32px;
    margin-bottom: 28px;
  }
}

/* Legal pages (terms, privacy) */
.legal .block-paragraphe-texte-interieur { padding-top: 40px; }
.legal-heading {
  color: var(--bleu-fonce);
  margin: 40px 0 12px;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.legal .paragraph-3 { font-size: 17px; line-height: 27px; }
.legal-link, .form-privacy-note a { color: inherit; text-decoration: underline; }
@media screen and (max-width: 991px) {
  .legal .block-paragraphe-texte-interieur { padding-left: 40px; padding-right: 40px; }
}
@media screen and (max-width: 767px) {
  .legal .block-paragraphe-texte-interieur { padding: 20px 20px 40px; }
  .legal .paragraph-3 { font-size: 16px; line-height: 25px; }
}

/* Footer legal bar, all pages */
.footer-legal {
  color: var(--bleu-fonce);
  border-top: 1px solid rgba(0, 0, 0, .12);
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 30px;
  padding: 18px 0 22px;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  letter-spacing: 1px;
  display: flex;
}
.footer-legal-links { flex-wrap: wrap; gap: 8px 24px; display: flex; }
.footer-legal-link { color: inherit; text-decoration: none; }
.footer-legal-link:hover { text-decoration: underline; }
@media screen and (max-width: 767px) {
  .footer-legal { flex-direction: column; }
  .footer-legal-links { flex-direction: column; }
}

/* Contact form privacy notice */
.form-privacy-note { margin: 0 0 16px; font-family: Montserrat, sans-serif; font-size: 12px; line-height: 18px; opacity: .8; }
