.section{padding-block:var(--space-section)}
.theme-lin{background:var(--color-lin);color:var(--color-brun)}.theme-white{background:var(--color-white);color:var(--color-brun)}.theme-brun{background:var(--color-brun);color:var(--color-lin)}.theme-ardoise{background:var(--color-ardoise);color:var(--color-lin)}.theme-nuit{background:var(--color-nuit);color:var(--color-lin)}
.theme-brun h2,.theme-brun h3,.theme-brun p,.theme-ardoise h2,.theme-ardoise h3,.theme-ardoise p,.theme-nuit h2,.theme-nuit h3,.theme-nuit p{color:inherit}
.eyebrow{font:500 .72rem/1.3 var(--font-body);letter-spacing:.22em;text-transform:uppercase;margin:0 0 1.25rem}
.section-heading{max-width:760px;margin:0 auto clamp(2.5rem,5vw,5rem);text-align:center}.section-heading h2{margin:0 0 1.25rem}
.editorial__grid,.founder__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(2.5rem,7vw,8rem)}
.editorial--right .editorial__media,.founder--right .founder__portrait{order:2}.editorial__image,.founder__image{width:100%;height:clamp(430px,58vw,760px);object-fit:cover}.editorial__content h2{font-size:clamp(2.25rem,4.5vw,4.5rem);margin-bottom:1.5rem}
.image-banner{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(480px,68vw,760px)}.image-banner--left .image-banner__media{order:2}.image-banner__image{width:100%;height:100%;object-fit:cover}.image-banner__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,9rem)}.image-banner__content h2{font-size:clamp(2.1rem,4.2vw,4.2rem)}
.cta-banner__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.cta-banner h2{font-size:clamp(2.6rem,6vw,6rem);max-width:11ch;margin:0}.cta-banner p{max-width:42ch}
.triptych__head{max-width:720px;margin-bottom:clamp(2.5rem,5vw,5rem)}.triptych__grid{display:grid;grid-template-columns:repeat(3,1fr)}.triptych--spaced .triptych__grid{gap:clamp(1rem,2vw,2rem)}.triptych__image{width:100%;height:clamp(340px,44vw,620px);object-fit:cover}.triptych__grid figure:nth-child(2) .triptych__image{height:clamp(410px,52vw,700px)}
.gallery-free h2{margin-bottom:1rem}.gallery-free__grid{display:grid;margin-top:2.5rem}.gallery-free__grid--2{grid-template-columns:repeat(2,1fr)}.gallery-free__grid--3{grid-template-columns:repeat(3,1fr)}.gallery-free__grid--4{grid-template-columns:repeat(4,1fr)}.gallery-free__grid--spaced,.gallery-free__grid--espacé{gap:clamp(.75rem,1.5vw,1.5rem)}.gallery-free__image{width:100%;height:clamp(280px,36vw,520px);object-fit:cover}
.quote-section blockquote{max-width:980px;margin:auto}.quote-section blockquote>p{font:italic 300 clamp(2rem,4.8vw,5rem)/1.15 var(--font-display);letter-spacing:.02em;max-width:none}.align--center{text-align:center}.quote-section footer{margin-top:2rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.quote-section footer span{display:block;opacity:.7;margin-top:.5rem}
.process-home__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}.process-card{border-top:1px solid currentColor;padding-top:1rem}.process-card__image{width:100%;height:180px;object-fit:cover;margin-bottom:1.3rem}.process-card h3{font-size:clamp(1.5rem,2.5vw,2.2rem);margin-bottom:.8rem}
.process-timeline__list{position:relative}.process-timeline__list:before{content:none;display:none}.timeline-step{display:grid;grid-template-columns:70px minmax(220px,.8fr) 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(2rem,4vw,4rem) 0}.timeline-step__number{position:relative;z-index:1;background:inherit;font:400 1rem var(--font-body)}.timeline-step__image{width:100%;height:280px;object-fit:cover}
.founder__portrait{position:relative}.founder__name{position:absolute;top:12%;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--color-or);font:500 clamp(.8rem,1.3vw,1.1rem)/1 var(--font-body);letter-spacing:.22em}.founder__content blockquote{font:italic 300 clamp(1.6rem,3vw,3rem)/1.2 var(--font-display);margin-top:3rem}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}.journal-card__media{overflow:hidden;margin-bottom:1.5rem}.journal-card__media img{width:100%;height:360px;object-fit:cover;transition:transform 1s ease}.journal-card:hover img{transform:scale(1.035)}.journal-card h3{font-size:clamp(1.5rem,2.4vw,2.2rem)}
@media(max-width:900px){.editorial__grid,.founder__grid,.image-banner{grid-template-columns:1fr}.editorial--right .editorial__media,.founder--right .founder__portrait,.image-banner--left .image-banner__media{order:0}.process-home__grid,.journal-grid{grid-template-columns:repeat(2,1fr)}.cta-banner__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.process-home__grid,.journal-grid,.triptych__grid,.gallery-free__grid{grid-template-columns:1fr}.timeline-step{grid-template-columns:48px 1fr}.timeline-step__media{grid-column:2}.process-timeline__list:before{content:none;display:none}.editorial__image,.founder__image{height:480px}}

/* React fidelity overrides */
.section-heading{max-width:760px;margin:0 auto clamp(2.5rem,5vw,5rem);text-align:center}
.section-heading h2{font-size:clamp(2.35rem,4.6vw,4.45rem);line-height:.98;letter-spacing:.03em}
.editorial__grid,.founder__grid{max-width:var(--aa-container-max);margin-inline:auto;padding-inline:var(--aa-container-x)}
.editorial__content p,.image-banner__content p,.triptych__head p,.project-showcase__content p{font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.85}
.process-home{padding-block:clamp(4.5rem,7vw,7rem)}
.process-home__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem)}
.process-card{border-top:1px solid rgba(243,230,212,.38);padding-top:1.15rem}
.process-card__image{height:clamp(138px,15vw,190px)}
.process-card h3{font-size:clamp(1.45rem,2vw,1.95rem);line-height:1.05;letter-spacing:.045em}
.process-card p{font-size:.95rem;line-height:1.75}
.triptych__image{height:clamp(330px,42vw,600px)}
.cta-banner{padding-block:clamp(4rem,7vw,7rem)}
.cta-banner__inner{align-items:center;justify-content:center;flex-direction:column;text-align:center}
.cta-banner h2{max-width:18ch;font-size:clamp(2rem,4.4vw,4rem);line-height:1.05}



/* Projet Signature — composition partagée reprise du projet Mer React. */
.project-showcase{
  padding:3rem 0 3.5rem;
}
.project-showcase>.project-showcase__inner{
  width:100%;
}
.project-showcase__grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:.75rem;
  width:100%;
  padding-inline:1rem;
  margin-bottom:1.5rem;
}
.project-showcase__media{
  height:clamp(230px,27vw,380px);
  margin:0;
  overflow:hidden;
  background:var(--aa-or-pale);
}
.project-showcase__media--main{
  grid-column:span 12;
}
.project-showcase__media--small,
.project-showcase__media--medium{
  grid-column:span 6;
}
.project-showcase__image{
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-showcase__content-row{
  width:100%;
  padding-inline:1rem;
}
.project-showcase__content-column{
  width:100%;
}
.project-showcase__content{
  margin:0;
  text-align:left;
}
.project-showcase__title{
  margin:0;
  font-size:clamp(1.6rem,2.5vw,2.35rem);
  line-height:1.05;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.project-showcase__subtitle{
  margin:.75rem 0 0;
  font-size:clamp(.95rem,1.1vw,1.05rem);
  line-height:1.8;
  opacity:.78;
}
@media(min-width:768px){
  .project-showcase__grid{
    gap:1rem;
    padding-inline:2rem;
  }
  .project-showcase__media--main{
    grid-column:span 7;
  }
  .project-showcase__media--small{
    grid-column:span 2;
  }
  .project-showcase__media--medium{
    grid-column:span 3;
  }
  .project-showcase__content-row{
    padding-inline:2rem;
  }
  .project-showcase__content-column{
    width:calc((100vw - 5rem) * 7 / 12);
  }
}

@media(max-width:900px){.process-home__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.process-home__grid{grid-template-columns:1fr}}

/* Ils nous font confiance — logos partenaires réutilisables. */
.trusted-logos{
  padding-block:clamp(4rem,6vw,6.5rem);
}
.trusted-logos__inner{
  min-width:0;
}
.trusted-logos__title{
  margin:0 auto clamp(2.75rem,5vw,4.5rem);
  max-width:18ch;
  text-align:center;
  font-family:var(--aa-font-display);
  font-size:clamp(2.25rem,4.2vw,4rem);
  font-weight:400;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.trusted-logos__grid{
  --trusted-gap:clamp(1.5rem,2.5vw,2.5rem);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:var(--trusted-gap);
  width:100%;
}
.trusted-logos__item{
  flex:0 1 calc(20% - 2rem);
  min-width:0;
  max-width:calc(20% - 2rem);
  text-align:center;
}
.trusted-logos__media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:clamp(5.5rem,8vw,7.5rem);
}
.trusted-logos__logo{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:clamp(4.25rem,6vw,5.75rem);
  object-fit:contain;
}
.trusted-logos__text{
  margin:1rem auto 0;
  max-width:18ch;
  font-family:var(--aa-font-body);
  font-size:clamp(.8rem,.9vw,.95rem);
  font-weight:300;
  line-height:1.55;
  overflow-wrap:anywhere;
}
