/* Offer component. Loaded only on /offre/, after the inherited design layers. */
.ge2-offer-page .page-intro-copy h1 {
  max-width: 14ch;
  font-size: clamp(2.7rem, 5.2vw, 4.75rem);
  line-height: 1.05;
}
.ge2-offer-page .offer-pricing-head { align-items: center; }
.ge2-offer-page .offer-pricing-head > aside {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid #f4f0e826;
  color: #f4f0e8;
  gap: 1rem;
}
.ge2-offer-page .offer-pricing-head > aside > strong {
  margin: 0;
  color: #f4f0e8;
  font-size: 1.5rem;
  line-height: 1.3;
}
.ge2-offer-page .offer-pricing-head > aside > p {
  margin: 0;
  color: #d4cec4;
  font-size: 1rem;
  line-height: 1.6;
}
.ge2-offer-page .offer-pricing-head > aside > span {
  color: #f19862;
  font-size: .8125rem;
  line-height: 1.5;
}
.ge2-offer-page .offer-pricing-head > aside > a { align-self: flex-start; }
/* Keep the illustration's label and explanation together at narrow card widths. */
.ge2-offer-page .intro-scene-offer > div {
  grid-template-columns: 1.25rem 2.5rem minmax(0, 1fr);
  column-gap: .65rem;
  row-gap: .3rem;
}
.ge2-offer-page .intro-scene-offer > div > small { grid-column: 1; grid-row: 1 / 3; }
.ge2-offer-page .intro-scene-offer > div > svg { grid-column: 2; grid-row: 1 / 3; }
.ge2-offer-page .intro-scene-offer > div > b { grid-column: 3; grid-row: 1; }
.ge2-offer-page .intro-scene-offer > div > em { grid-column: 3; grid-row: 2; }
.ge2-offer-page :is(#tarifs, #statuts, #modules, #verite-produit, #modele, #trajectoire) {
  scroll-margin-top: 7rem;
}
@media (min-width: 980px) {
  .ge2-offer-page .page-intro-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 4rem);
  }
  .ge2-offer-page .page-intro-signature { width: 100%; max-width: none; min-width: 0; }
}
