/* L’Approche — validated Pricing A+ composition. */
/* Dedicated aliases load the real 600 faces without changing global typography. */
@font-face {
  font-family:"NAWA Pricing Jost";
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("https://fonts.gstatic.com/s/jost/v20/92zPtBhPNqw79Ij1E865zBUv7mx9IjVBNIgun_HKOEo.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0152-0153,U+2000-206F;
}

@font-face {
  font-family:"NAWA Pricing Arabic";
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YPi-OCRXMRrKATtYV0.woff2") format("woff2");
  unicode-range:U+0600-06FF,U+200C-200E;
}

.approach-pricing {
  --pricing-green:#476348;
  padding:102px 48px 110px;
  background:var(--ivoire);
  color:var(--noir);
}

.approach-pricing__composition {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 28.57142857%;
  column-gap:48px;
  align-items:start;
}

.approach-pricing__intro {
  grid-column:1;
  grid-row:1;
  min-width:0;
}

.approach-pricing .eyebrow {
  color:var(--dore-functional, #684726);
  line-height:1.5;
  margin-bottom:25px;
}

.approach-pricing h2.section-title {
  margin:0;
  font-size:57px;
  font-weight:300;
  letter-spacing:-.015em;
  line-height:1.06;
  text-wrap:initial;
}

.approach-pricing__introduction {
  margin-top:27px;
  color:var(--gris-fort);
  font-size:15px;
  line-height:1.8;
}

.approach-pricing__factors {
  grid-column:1;
  grid-row:2;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  column-gap:26px;
  margin-top:45px;
}

.approach-pricing__factor {
  position:relative;
  min-width:0;
  padding-top:21px;
  border-top:1px solid var(--pierre);
}

.approach-pricing__factor h3 {
  margin-bottom:15px;
  color:var(--pricing-green);
  font-family:"NAWA Pricing Jost", var(--font-sans);
  font-size:14.375px;
  font-weight:600;
  font-synthesis:none;
  line-height:1.4;
  letter-spacing:.025em;
}

.approach-pricing__factor p {
  color:var(--gris-fort);
  font-size:14px;
  line-height:1.75;
}

.approach-pricing__plus {
  position:absolute;
  inset-inline-end:-19px;
  top:13px;
  color:var(--dore);
  font-family:var(--font-serif);
  font-size:30px;
  font-weight:400;
  line-height:1;
}

.approach-pricing__image {
  grid-column:2;
  grid-row:1 / span 2;
  display:block;
  margin-top:5px;
  width:100%;
  aspect-ratio:20 / 29;
  overflow:hidden;
  border-radius:2px;
  background:var(--sable);
}

.approach-pricing__image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:59% 50%;
}

.approach-pricing__estimate {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  column-gap:48px;
  align-items:end;
  margin-top:55px;
  padding-top:34px;
  border-top:1px solid var(--pierre);
}

.approach-pricing__estimate h3 {
  color:var(--pricing-green);
  font-family:var(--font-serif);
  font-size:38px;
  font-weight:400;
  line-height:1.16;
  letter-spacing:-.01em;
}

.approach-pricing__estimate p {
  max-width:705px;
  margin-top:14px;
  color:var(--gris-fort);
  font-size:15px;
  line-height:1.8;
}

.approach-pricing__guarantees {
  display:flex;
  flex-wrap:wrap;
  gap:12px 25px;
  list-style:none;
  margin-top:24px;
  padding:0;
  color:var(--pricing-green);
  font-family:"NAWA Pricing Jost", var(--font-sans);
  font-size:16.25px;
  font-weight:600;
  font-synthesis:none;
  line-height:1.6;
}

.approach-pricing__guarantees li {
  display:flex;
  align-items:baseline;
  gap:7px;
}

.approach-pricing__guarantees [aria-hidden] {
  color:var(--dore);
  font-size:19px;
}

.approach-pricing .approach-pricing__cta {
  gap:6px;
  min-height:48px;
  margin-bottom:2px;
  padding:15px 24px;
  color:var(--noir);
  font-size:11px;
  line-height:1.4;
  letter-spacing:.1em;
  white-space:nowrap;
  transition:background 160ms ease, border-color 160ms ease;
}

.approach-pricing .approach-pricing__cta::after {
  content:none;
}

.approach-pricing .approach-pricing__cta:hover {
  transform:none;
  box-shadow:none;
  background:var(--dore-pale);
  border-color:var(--dore);
  color:var(--noir);
}

.approach-pricing .approach-pricing__cta:focus-visible {
  outline:2px solid var(--bleu-nuit);
  outline-offset:4px;
}

[dir="rtl"] .approach-pricing h2.section-title,
[dir="rtl"] .approach-pricing__estimate h3 {
  font-family:var(--font-arabic-serif);
  letter-spacing:0;
  line-height:1.4;
}

[dir="rtl"] .approach-pricing__factor h3,
[dir="rtl"] .approach-pricing .approach-pricing__cta {
  font-family:var(--font-arabic-sans);
  letter-spacing:0;
}

[dir="rtl"] .approach-pricing__arrow {
  transform:scaleX(-1);
}

[dir="rtl"] .approach-pricing__factor h3,
[dir="rtl"] .approach-pricing__guarantees {
  font-family:"NAWA Pricing Arabic", var(--font-arabic-sans);
  letter-spacing:0;
}

@media (min-width:901px) and (max-width:1100px) {
  .approach-pricing__composition { column-gap:32px; }
  .approach-pricing h2.section-title { font-size:46px; }
  .approach-pricing__factors { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; margin-top:30px; }
  .approach-pricing__factor:nth-child(2) .approach-pricing__plus { top:auto; bottom:-25px; inset-inline-end:auto; inset-inline-start:-21px; }
  .approach-pricing__estimate { grid-template-columns:1fr; gap:28px; }
  .approach-pricing .approach-pricing__cta { justify-self:start; }
}

@media (min-width:701px) and (max-width:900px) {
  .approach-pricing { padding:65px 40px 70px; }
  .approach-pricing__composition { grid-template-columns:minmax(0, 1fr) 40%; column-gap:32px; }
  .approach-pricing__intro { grid-column:1 / -1; }
  .approach-pricing h2.section-title { font-size:46px; }
  .approach-pricing__factors { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; margin-top:34px; }
  .approach-pricing__factor:nth-child(2) .approach-pricing__plus { top:auto; bottom:-25px; inset-inline-end:auto; inset-inline-start:-21px; }
  .approach-pricing__image { grid-row:2; margin-top:34px; aspect-ratio:4 / 3; align-self:center; }
  .approach-pricing__image img { object-position:55% 50%; }
  .approach-pricing__estimate { grid-template-columns:1fr; gap:28px; margin-top:40px; }
  .approach-pricing .approach-pricing__cta { justify-self:start; }
}

@media (max-width:700px) {
  .approach-pricing { padding:38px 24px 42px; }
  .approach-pricing__composition { display:flex; flex-direction:column; gap:0; }
  .approach-pricing .eyebrow { font-size:9px; line-height:1.7; letter-spacing:.12em; margin-bottom:19px; }
  .approach-pricing h2.section-title { font-size:36px; line-height:1.09; letter-spacing:-.025em; }
  .approach-pricing__introduction { font-size:14px; line-height:1.75; margin-top:20px; }
  .approach-pricing__introduction br { display:none; }
  .approach-pricing__factors { width:100%; margin-top:30px; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:25px 28px; }
  .approach-pricing__factor { padding-top:16px; }
  .approach-pricing__factor h3 { font-size:clamp(11.5px, 3.4vw, 13.25px); letter-spacing:.025em; margin-bottom:10px; }
  .approach-pricing__factor p { font-size:13px; line-height:1.65; }
  .approach-pricing__plus { inset-inline-end:-21px; top:8px; }
  .approach-pricing__factor:nth-child(2) .approach-pricing__plus { top:auto; inset-inline-end:auto; inset-inline-start:-21px; bottom:-27px; }
  .approach-pricing__image { order:3; width:100%; aspect-ratio:3 / 2; margin-top:30px; }
  .approach-pricing__image img { object-position:55% 50%; }
  .approach-pricing__estimate { display:block; margin-top:30px; padding-top:25px; }
  .approach-pricing__estimate h3 { font-size:32px; line-height:1.12; max-width:300px; }
  .approach-pricing__estimate p { font-size:14px; line-height:1.75; margin-top:13px; }
  .approach-pricing__guarantees { display:grid; gap:8px; margin-top:20px; font-size:16.25px; }
  .approach-pricing .approach-pricing__cta { width:100%; margin-top:24px; min-height:48px; }
}

/* Arabic labels retain a readable size without Latin tracking. */
[dir="rtl"] .approach-pricing .eyebrow { font-family:var(--font-arabic-sans); letter-spacing:0; font-size:12px; }
[dir="rtl"] .approach-pricing__factor h3 { font-size:16.675px; }
[dir="rtl"] .approach-pricing__factor p { font-size:14px; }
