/* =========================================================================
   Syngenta Biologicals (Figma 1139:6227)
   ========================================================================= */
/* Lead intro (1139:6236): heading beside a large lead and its text. */
.card-grid--lead { padding-block: 94px 40px; background: #fff; }
.lead-intro { display: grid; grid-template-columns: minmax(0, 384px) minmax(0, 792px); justify-content: space-between; gap: 24px; }
.lead-intro__title { margin: 0; font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 600; line-height: 1.2; color: #111827; }
.lead-intro__text { font-size: 1rem; line-height: 23.8px; text-align: justify; color: #6b7280; }
.lead-intro__text p:first-child {
  margin-bottom: 25px;
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  font-weight: 500;
  line-height: 1.5;
  color: #000;
}
.lead-intro__text p:first-child strong { font-weight: 500; color: #eb8200; }

/* Video panel (1139:6244). */
.video-panel { padding-block: 46px 100px; background: #fff; }
.video-panel__card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 594px;
  overflow: hidden;
  border: 1px solid rgba(10, 10, 10, 0.23);
  border-radius: 32px;
  background: rgba(234, 240, 235, 0.5);
}
.video-panel__text { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 96px; }
.video-panel__eyebrow { margin: 0 0 24px; font-size: 0.9375rem; font-weight: 500; line-height: 14.2px; letter-spacing: 0.1em; text-transform: uppercase; color: #eb8200; }
.video-panel__title { max-width: 416px; margin: 0 0 24px; font-size: clamp(2rem, 3.6vw, 3rem); font-weight: 600; line-height: 1.29; letter-spacing: -0.02em; color: #000; }
.video-panel__intro { max-width: 404px; margin-bottom: 40px; font-size: 1.125rem; line-height: 29.25px; color: #737373; }
.video-panel__button,
.duo__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 32px;
  border-radius: 16px;
  background: #eb8200;
  box-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  font-weight: 500;
  line-height: 24px;
  text-align: center;
  color: #fff;
  transition: background-color 0.2s ease;
}
.video-panel__button:hover,
.duo__button:hover { background: var(--syn-orange-600); text-decoration: none; }
.video-panel__media { position: relative; min-height: 400px; aspect-ratio: auto; border-radius: 0; }
.video-panel__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-panel__play {
  position: absolute;
  top: 50%; left: 50%;
  z-index: 1;
  width: 80px; height: 80px;
  border: 0.5px solid #fff;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2) url("../../images/icon-play.svg") 26px center / 32px no-repeat;
  -webkit-backdrop-filter: blur(3.9px);
  backdrop-filter: blur(3.9px);
  transform: translate(-50%, -50%);
  cursor: pointer;
}

/* Green photo band (1139:6261), overlapped by the category tiles. */
.promo--band { min-height: 478px; padding-block: 60px 148px; }
.promo--band::before { background: rgba(38, 70, 0, 0.76); mix-blend-mode: multiply; }
.promo--band .promo__inner { max-width: none; }
.promo--band .promo__title { margin-bottom: 15px; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.525; letter-spacing: 0; }
.promo--band .promo__text { margin-bottom: 31px; font-size: 1rem; line-height: 23.8px; text-align: justify; color: #f4f7f9; }
.promo--band .promo__button { justify-content: center; min-width: 300px; min-height: 56px; padding: 0 28px; font-family: var(--font-body); font-size: 1rem; font-weight: 500; }
.promo--band .promo__arrow { display: none; }
.promo--band + .card-grid--tiles {
  position: relative;
  margin-top: -88px;
  padding-block: 130px;
  border-radius: 50px 50px 0 0;
  background: #fff;
}
.promo--band + .card-grid--tiles .card__media::after { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, #000 100%); }

/* Numbered questions beside a photo (1139:6449). */
.accordion-band--numbered { padding-block: 96px; border-radius: 0; background: #fff; }
.numbered-faq { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 560px); justify-content: space-between; align-items: start; gap: 48px; }
.numbered-faq__title { width: calc(100% + 47px); margin: 15px 0 48px; font-size: clamp(1.7rem, 2.6vw, 2.19rem); font-weight: 600; line-height: 51px; letter-spacing: -0.034em; color: #1b2921; }
.numbered-faq__title .hl { color: #eb8200; }
.numbered-faq__visual { height: 100%; overflow: hidden; border-radius: 25px; }
.numbered-faq__visual :is(div, article, picture) { height: 100%; }
.numbered-faq__visual img { width: 100%; height: 100%; object-fit: cover; }
.accordion-band--numbered .accordion { counter-reset: faq; }
.accordion-band--numbered .accordion__item { border-bottom: 1px solid #dee3e0; }
.accordion-band--numbered .accordion__summary { justify-content: flex-start; gap: 0; padding: 32px 0; border-radius: 0; background: none; }
.accordion-band--numbered .accordion__summary::before { margin-inline-end: 36px; }
.accordion-band--numbered .accordion__icon,
.accordion-band--numbered .accordion__item--static .accordion__summary::after { flex: none; margin-inline-start: 16px; }
.accordion-band--numbered .accordion__title { flex: 1; }
.accordion-band--numbered .accordion__summary::before {
  counter-increment: faq;
  content: counter(faq, decimal-leading-zero);
  flex: none;
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 32px;
  color: #5c7063;
}
.accordion-band--numbered .accordion__item[open] .accordion__summary::before {
  color:var(--syn-orange);
}
.accordion-band--numbered .accordion__title { font-size: 1.4rem; font-weight: 600; line-height: 36px; letter-spacing: -0.03em; color: #5c7063; }
.accordion-band--numbered .accordion__item[open] .accordion__title { color: #264600; }
.accordion-band--numbered .accordion__icon,
.accordion-band--numbered .accordion__item--static .accordion__summary::after {
  width: 40px; height: 40px;
  margin-inline-start: auto;
  border: 0;
  background: #eaf0eb url("../../images/icon-acc2-plus.svg") center / 13px no-repeat;
}
.accordion-band--numbered .accordion__item[open] .accordion__icon { border: 0; background: #156B48 url("../../images/icon-acc3-minus.svg") center / 20px no-repeat; }
.accordion-band--numbered .accordion__text { max-width: none; padding: 0 0 32px; font-size: 1.125rem; line-height: 29.25px; color: #5c7063; }

/* Text beside two offset photo cards (1139:6450). */
.card-grid--duo { padding-block: 105px 70px; border-radius: 50px 50px 0 0; background: #f9f9f9; }
.duo { display: grid; grid-template-columns: minmax(0, 515px) minmax(0, 670px); justify-content: space-between; align-items: start; gap: 46px; }
.duo__eyebrow { margin: 0 0 24px; font-size: 0.875rem; font-weight: 600; line-height: 20px; letter-spacing: 0.025em; text-transform: uppercase; color: #e5642e; }
.duo__title { margin: 0 0 30px; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.2; letter-spacing: -0.03em; color: #1b2921; }
.duo__intro { margin-bottom: 30px; font-size: 1.125rem; line-height: 29.25px; color: #5c7063; }
.duo__intro p + p { margin-top: 16px; }
.duo__button { width: 100%; min-height: 73px; }
.card-grid--duo .duo__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 89px; }
.card-grid--duo .duo__cards > * > :nth-child(2) { margin-top: -24px; }
.card-grid--duo .card { border-radius: 12.8px; }
.card-grid--duo .card__media { border-radius: 12.8px; }
.card-grid--duo .card__body { padding: 22px 22px 40px; }
.card-grid--duo .card__title { font-size: 1rem; line-height: 24px; }
.card-grid--duo .card__link { font-size: 0.74rem; border-bottom-width: 1.6px; }

/* Rounded photo cards with centred text (1139:6465, 1139:6492). */
.card-banner { padding-block: 0; background: #f9f9f9; }
.card-banner__card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 417px;
  padding: 48px 32px;
  overflow: hidden;
  border-radius: 30px;
  background: #284a00 center / cover no-repeat;
  isolation: isolate;
}
.card-banner__card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(40, 74, 0, 0.9); mix-blend-mode: multiply; }
.card-banner__inner { display: flex; flex-direction: column; align-items: center; gap: 24px; max-width: 815px; text-align: center; color: #fff; }
.card-banner__title { margin: 0; font-size: clamp(1.6rem, 2.6vw, 2.19rem); font-weight: 600; line-height: 48px; letter-spacing: -0.034em; color: #fff; }
.card-banner__title .hl { color: #eb8200; }
.card-banner__text { margin-top: -13px; font-size: 1.125rem; font-weight: 300; line-height: 29.25px; color: rgba(255, 255, 255, 0.89); }
.card-banner__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 339px;
  min-height: 48px;
  padding: 8px 24px;
  border-radius: 999px;
  background: #eb8200;
  box-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  font-weight: 500;
  line-height: 24px;
  color: #fff;
  border: none;
}
.card-banner__button:hover { background: var(--syn-orange-600); text-decoration: none; }
.card-banner--newsletter { padding-block: 76px 154px; background: #fff; }
.card-banner--newsletter .card-banner__card {
  min-height: 279px;
  border-radius: 32px 29px 32px 32px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.card-banner--newsletter .card-banner__card::before { background: rgba(40, 73, 0, 0.85); }
.card-banner--newsletter .card-banner__inner { gap: 22px; max-width: 490px; }
.card-banner--newsletter .card-banner__title { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 36px; letter-spacing: -0.019em; }
.card-banner--newsletter .card-banner__text { margin-top: -10px; font-size: 1rem; font-weight: 400; line-height: 24px; color: rgba(255, 255, 255, 0.8); }
.card-banner--newsletter .card-banner__button { min-width: min(436px, 100%); font-weight: 600; }

/* Newsletter sign-up window (Figma "Abonnez vous à la Newsletter",
   1272:4120 at rest, 1275:4120 focused / filled). */
.nl-modal {
  width: min(768px, calc(100% - 32px));
  max-height: calc(100% - 32px);
  padding: 0;
  border: 0;
  border-top: 4px solid #008753;
  background: #fff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
  color: #101828;
}
.nl-modal::backdrop { background: rgba(16, 24, 40, 0.55); }
.nl-modal[open] { animation: nl-modal-in 0.25s ease; }
@keyframes nl-modal-in { from { opacity: 0; transform: translateY(12px); } }
.nl-modal__inner { position: relative; padding: 48px; }
.nl-modal__close {
  position: absolute;
  top: 16px; inset-inline-end: 16px;
  width: 36px; height: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.nl-modal__close::before,
.nl-modal__close::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 16px; height: 2px;
  border-radius: 1px;
  background: #6a7282;
  transform: translate(-50%, -50%) rotate(45deg);
}
.nl-modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.nl-modal__close:hover { background: #f3f4f6; }
.nl-modal__title { margin: 0; font-family: var(--font-heading); font-size: 1.875rem; font-weight: 800; line-height: 36px; letter-spacing: -0.025em; color: #101828; }
.nl-modal__intro { margin: 0 0 32px; padding-top: 8px; font-size: 0.875rem; line-height: 20px; color: #6a7282; }

/* Fields with a label inside the box that floats onto the border. */
.nl-form .js-form-item { position: relative; margin: 0; }
.nl-form .js-form-item + .js-form-item { margin-top: 24px; }
.nl-form .js-form-item-nom { margin-top: 8px; }
.nl-form input[type="text"],
.nl-form input[type="email"] {
  width: 100%;
  height: 56px;
  padding: 0 18px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  background: transparent;
  font: inherit;
  font-size: 1rem;
  color: #101828;
  transition: border-color 0.2s ease;
}
.nl-form input:focus { outline: none; border-color: #008753; }
.nl-form .js-form-type-textfield > label,
.nl-form .js-form-type-email > label {
  position: absolute;
  top: 14px; inset-inline-start: 12px;
  z-index: 1;
  margin: 0;
  padding: 0 6px;
  background: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 24px;
  color: #6a7282;
  pointer-events: none;
  transition: top 0.2s ease, font-size 0.2s ease, line-height 0.2s ease, color 0.2s ease;
}
.nl-form .js-form-item:focus-within > label,
.nl-form .js-form-item:has(input:not(:placeholder-shown)) > label { top: -10px; font-size: 0.875rem; line-height: 20px; }
.nl-form .js-form-item:focus-within > label { color: #008753; }
.nl-form .form-required::after { content: none; }
.nl-form .js-form-type-checkbox { display: flex; align-items: flex-start; gap: 12px; }
.nl-form .js-form-type-checkbox input {
  flex: none;
  width: 20px; height: 20px;
  margin: 2px 0 0;
  border: 1px solid #767676;
  border-radius: 2px;
  background: #fff center / 12px no-repeat;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.nl-form .js-form-type-checkbox input:checked {
  border-color: #008753;
  background-color: #008753;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");
}
.nl-form .js-form-type-checkbox input:focus-visible { outline: 2px solid #008753; outline-offset: 2px; }
.nl-form .js-form-type-checkbox label { margin: 0; font-size: 0.875rem; line-height: 22.75px; color: #4a5565; cursor: pointer; }
.nl-form .js-form-type-checkbox label strong { font-weight: 600; color: #008753; }
.nl-form .form-actions { margin: 40px 0 0; }
.nl-form .webform-button--submit {
  min-height: 52px;
  padding: 14px 40px;
  border: 0;
  border-radius: 31px;
  background: #eb8200;
  box-shadow: 0 4px 3px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.1);
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 24px;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s ease, border-radius 0.2s ease;
}
.nl-form .webform-button--submit:hover,
.nl-form .webform-button--submit:focus-visible { border-radius: 8px; background: #e36f1e; }
.nl-modal [data-drupal-messages] { margin-bottom: 16px; font-size: 0.875rem; color: #b42318; }
.nl-modal .webform-confirmation { padding: 24px; border-radius: 8px; background: #f2f8f5; font-size: 1rem; line-height: 1.6; color: #008753; }
.nl-form .form-item--error-message { margin-top: 6px; font-size: 0.8125rem; color: #b42318; }

@media (max-width: 720px) {
  .nl-modal__inner { padding: 40px 20px 28px; }
  .nl-modal__title { font-size: 1.5rem; line-height: 1.25; padding-inline-end: 32px; }
}

/* Heading beside grey text on the light band (GEAPOWER, 1139:6472). */
.term-page .card-grid--split-muted { padding-block: 103px 87px; background: #f9f9f9; }
/* Recette: closer to the mockup, the title in two balanced lines. */
.term-page .card-grid--split-muted .section__title { font-size: clamp(1.6rem, 2.5vw, 2.15rem); line-height: 1.3; letter-spacing: -0.01em; text-wrap: balance; }
.term-page .card-grid--split-muted .section__title .hl { color: #eb8200; }
.term-page .card-grid--split-muted .section__intro { line-height: 23.8px; text-align: justify; color: #6b7280; }
.term-page .card-grid--split-muted .section__intro p + p { margin-top: 13px; }

/* Documents in tabs (Figma "Informations complémentaires", 1139:6478). */
.doc-tabs { padding-block: 130px; background: #fff; }
.doc-tabs__inner { max-width: calc(896px + 2 * var(--gutter)); }
.doc-tabs__title { margin: 0 0 39px; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; line-height: 48px; letter-spacing: -0.03em; text-align: center; color: #1b2921; }
.doc-tabs__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.doc-tabs__tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  font: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 24px;
  color: #5c7063;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.doc-tabs__tab:hover { color: #264600; }
.doc-tabs__tab[aria-selected="true"] { background: #264600; color: #fff; }
.doc-tabs__tab:focus-visible { outline: 2px solid var(--syn-green-500); outline-offset: 2px; }
.doc-tabs__icon {
  width: 20px; height: 20px;
  background: currentColor;
  -webkit-mask: url("../../images/icon-tab-governance.svg") center / contain no-repeat;
  mask: url("../../images/icon-tab-governance.svg") center / contain no-repeat;
}
.doc-tabs__tab--associations .doc-tabs__icon { -webkit-mask-image: url("../../images/icon-tab-associations.svg"); mask-image: url("../../images/icon-tab-associations.svg"); }
.doc-tabs__tab--certifications .doc-tabs__icon { -webkit-mask-image: url("../../images/icon-tab-certifications.svg"); mask-image: url("../../images/icon-tab-certifications.svg"); }
.doc-tabs__panels { margin-top: 48px; }
.doc-tabs__panel {
  min-height: 320px;
  padding: 33px;
  border: 1px solid #d4d4d4;
  border-radius: 32px;
  background: rgba(115, 115, 115, 0.01);
}
.doc-tabs__panel + .doc-tabs__panel { margin-top: 24px; }
.doc-tabs__panel[hidden] { display: none; }
.doc-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.doc-list__empty { margin: 0; padding: 24px; text-align: center; color: #5c7063; }
.doc-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 25px;
  border: 1px solid rgba(222, 227, 224, 0.5);
  border-radius: 16px;
  background: #fff;
  transition: background-color 0.2s ease;
}
/* Hover (recette design): the row turns a pale cream and its icon, title,
   label and download button go green; the whole row is clickable. */
.doc-item:hover,
.doc-item:focus-within { background-color: #fdfdf8; }
.doc-item__action::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
/* Recette: a PDF icon says the row is a file to download. */
.doc-item__icon {
  flex: none;
  width: 48px; height: 48px;
  border-radius: 16px;
  background: #fff4e5 url("../../images/icon-doc-pdf.svg") center / 26px no-repeat;
  transition: background-color 0.2s ease;
}
.doc-item:is(:hover, :focus-within) .doc-item__icon { background-color: #e3f4e8; background-image: url("../../images/icon-doc-pdf-green.svg"); }
.doc-item:is(:hover, :focus-within) .doc-item__title { color: #1c4d2c; }
.doc-item:is(:hover, :focus-within) .doc-item__action { color: var(--syn-green-500); }
.doc-item__title,
.doc-item__action { transition: color 0.2s ease; }
@media (prefers-reduced-motion: reduce) {
  .doc-item,
  .doc-item__icon,
  .doc-item__title,
  .doc-item__action,
  .doc-item__download { transition: none; }
}
.doc-item__body { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.doc-item__title { font-family: var(--font-heading); font-size: 1.125rem; font-weight: 500; line-height: 28px; letter-spacing: -0.025em; color: #1b2921; }
.doc-item__meta { display: inline-flex; align-items: center; gap: 12px; padding-top: 4px; font-size: 0.875rem; font-weight: 500; line-height: 20px; color: #5c7063; }
.doc-item__dot { width: 4px; height: 4px; border-radius: 50%; background: #dee3e0; }
.doc-item__action { display: inline-flex; flex: none; align-items: center; gap: 12px; font-size: 0.875rem; font-weight: 600; line-height: 20px; color: #eb8200; }
.doc-item__action:hover { text-decoration: none; }
.doc-item__download {
  width: 40px; height: 40px;
  border: 1px solid #dee3e0;
  border-radius: 50%;
  background: url("../../images/icon-doc-download.svg") center / 16px no-repeat;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.doc-item:is(:hover, :focus-within) .doc-item__download {
  border-color: var(--syn-green-500);
  background-color: var(--syn-green-500);
  background-image: url("../../images/icon-doc-download-white.svg");
}
.doc-item__soon { flex: none; font-size: 0.875rem; font-weight: 500; color: #9aa69f; }

@media (max-width: 720px) {
  .doc-tabs { padding-block: 64px; }
  .doc-tabs__panel { padding: 16px; border-radius: 24px; }
  .doc-item { flex-wrap: wrap; padding: 16px; }
  /* The title takes the row beside its icon; the status drops below. */
  .doc-item__body { flex-basis: calc(100% - 64px); }
  .doc-item__title { font-size: 1rem; line-height: 1.4; }
  .doc-item__action,
  .doc-item__soon { margin-inline-start: 64px; }
}

/* Article tiles ("Vous aimerez peut-être aussi", 1139:6480). */
.card-grid--news { padding-block: 85px; background: #fff; }
.card-grid--tiles.card-grid--news .eyebrow { margin-bottom: 21px; font-family: var(--font-body); font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: #eb8200; }
.card-grid--tiles.card-grid--news .tiles__title { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.5; letter-spacing: 0; color: #000; }
.card-grid--tiles.card-grid--news .tiles__head { margin-bottom: 44px; }
.card-grid--tiles.card-grid--news .card__media::after { background: linear-gradient(180deg, rgba(255, 255, 255, 0) 30%, rgba(0, 0, 0, 0.41) 70%, rgba(0, 0, 0, 0.65) 100%); }
.card-grid--news .card__link { font-size: 0.875rem; }

/* Recette: on tablets the intro, the video panel and the categories keep
   their two columns; GEAPOWER's text runs the full width under its title. */
@media (max-width: 1024px) {
  .lead-intro { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 32px; }
  /* Recette: the questions wider than the photo. */
  .numbered-faq { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 32px; }
  .video-panel__card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .duo { grid-template-columns: minmax(0, 1fr); }
  .video-panel__text { padding: 40px 28px; }
  .numbered-faq__visual { height: 380px; }
  .card-grid--duo .duo__cards { padding-top: 24px; }
  .card-grid--split-muted .section__head--split { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .numbered-faq__title { width: auto; line-height: 1.35; }
  .term-page .card-grid--split-muted .section__title { line-height: 1.3; }
}
@media (max-width: 720px) {
  .card-grid--lead { padding-block: 56px 24px; }
  .video-panel { padding-block: 24px 56px; }
  .video-panel__text { padding: 32px 20px; }
  .promo--band { padding-block: 56px 120px; }
  .promo--band .promo__button,
  .card-banner__button { min-width: 0; width: 100%; }
  .lead-intro,
  .numbered-faq,
  .video-panel__card { grid-template-columns: minmax(0, 1fr); }
  .numbered-faq__title { margin-bottom: 32px; font-size: 1.5rem; }
  /* Technologies durables: the two cards stay side by side. */
  .card-grid--duo .duo__cards { gap: 12px; }
  .card-banner--newsletter { padding-block: 48px 72px; }
}

/* The accordion's answer is clipped while it opens or closes (JS). */
.accordion__item.is-animating .accordion__text { overflow: hidden; }
@media (max-width: 1024px) {
  /* Recette: GEAPOWER's text uses the full container width once it sits
     under its title (the shared 600px / 720px caps are lifted). */
  .card-grid--split-muted .section__head-text,
  .card-grid--split-muted .section__intro { max-width: none; }
}
@media (max-width: 1024px) {
  /* Recette: the video panel's title and text fill the text column (the
     desktop design's 404-416px measures are lifted). */
  .video-panel__title,
  .video-panel__intro { max-width: none; }
}
