/* Page Construire — scoped so shared styles stay untouched. */
body.construire-page{
  background:var(--ivory);
  color:var(--ink);
}
body.construire-page .site-header{
  background:rgba(26,26,24,.92);
  backdrop-filter:blur(16px);
}
body.construire-page .close{color:var(--ice)}
body.construire-page .build-intro .kicker,
body.construire-page .build-pulse .kicker,
body.construire-page .build-after .kicker{color:var(--gold-ink)}

.build-intro{padding:4.4rem 0 4.2rem}
.build-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:2.5rem 3.5rem;
  align-items:center;
}
.build-intro-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.15rem;
}
.build-intro h1{
  font-size:clamp(2.55rem,4.5vw,3.6rem);
  max-width:14ch;
  margin:0;
}
.build-intro p:not(.kicker),
.build-pulse p:not(.kicker),
.build-after p:not(.kicker){
  margin:0;
  max-width:36rem;
  color:var(--muted-ink);
  font-size:.98rem;
  line-height:1.65;
}
.build-photo{
  width:100%;
  height:auto;
  aspect-ratio:1024/574;
  object-fit:cover;
  border-radius:var(--radius);
}

.build-pulse{
  padding:4.2rem 0 4.6rem;
  border-top:1px solid rgba(26,26,24,.12);
}
.build-pulse .wrap{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:3.2rem;
}
.build-pulse-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:3rem;
  row-gap:1.15rem;
  align-items:end;
}
.build-pulse-head .kicker{grid-column:1;grid-row:1}
.build-pulse-head h2{grid-column:1;grid-row:2}
.build-pulse-head .btn{grid-column:2;grid-row:3;justify-self:end;align-self:end}
.build-pulse-head .pulse-lead{grid-column:1;grid-row:3}
.build-pulse h2,
.build-ways h2,
.build-after h2{
  font-size:clamp(2.05rem,3.3vw,2.85rem);
  max-width:16ch;
  margin:0;
}
.build-pulse h2{max-width:calc(18 * clamp(2.05rem, 3.3vw, 2.85rem))}
.build-pulse p.pulse-lead{max-width:calc(18 * clamp(2.05rem, 3.3vw, 2.85rem))}
.pulse-stats{
  list-style:none;
  margin:0;
  padding:2.4rem 0 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(26,26,24,.12);
  text-align:center;
}
.pulse-stats li{
  padding:0 1.2rem;
}
.pulse-stats li + li{
  border-left:1px solid rgba(26,26,24,.12);
}
.pulse-stats strong{
  display:block;
  margin:0 0 .7rem;
  font-size:clamp(2.8rem,4.6vw,3.8rem);
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.pulse-num{
  display:inline-block;
  min-width:3.4ch;
  font-variant-numeric:tabular-nums;
}
.pulse-stats li > span{
  display:block;
  color:var(--muted-ink);
  font-size:.92rem;
  line-height:1.3;
  white-space:nowrap;
}

.build-ways{
  background:var(--ink);
  color:var(--ice);
  padding:4.6rem 0 4.8rem;
}
.build-ways h2{margin:1.15rem 0 3.2rem;max-width:18ch}
.build-ways .kicker{color:var(--gold)}
.ways{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.ways li{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.15rem;
  padding:0 1.35rem;
  border-left:1px solid rgba(247,244,239,.16);
}
.ways li:first-child{padding-left:0;border-left:0}
.ways svg{
  width:52px;
  height:52px;
  color:var(--gold);
}
.ways h3{
  margin:0;
  font-size:1.22rem;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.2;
}
.ways h3 span{
  display:block;
  margin-top:.15rem;
  font-weight:500;
}
.ways p{
  margin:0;
  max-width:16rem;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.5;
}

.build-after{
  background:var(--ivory);
  padding:4.6rem 0 5rem;
}
.build-after-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:2.5rem 3.5rem;
  align-items:start;
}
.build-after-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1.15rem;
}
.build-after h2{max-width:none;font-size:clamp(1.55rem,2.3vw,1.85rem)}
.build-after-aside{
  display:flex;
  flex-direction:column;
  gap:1.35rem;
  margin-top:calc(.68rem * 1.5 + 1.15rem);
  padding-left:2rem;
  border-left:1px solid rgba(26,26,24,.12);
}
.build-after-aside p{max-width:none}

@media (max-width:980px){
  .build-intro-grid{grid-template-columns:1fr;gap:2rem}
  .build-pulse-head{
    grid-template-columns:1fr;
    align-items:start;
  }
  .build-pulse-head .kicker,
  .build-pulse-head h2,
  .build-pulse-head .btn,
  .build-pulse-head .pulse-lead{grid-column:1;justify-self:start}
  .build-pulse-head .kicker{grid-row:1}
  .build-pulse-head h2{grid-row:2}
  .build-pulse-head .pulse-lead{grid-row:3}
  .build-pulse-head .btn{grid-row:4}
  .build-intro h1{max-width:16ch}
  .pulse-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.8rem}
  .pulse-stats li:nth-child(odd){border-left:0}
  .pulse-stats li:nth-child(3),
  .pulse-stats li:nth-child(4){padding-top:1.8rem;border-top:1px solid rgba(26,26,24,.12)}
  .ways{grid-template-columns:1fr 1fr;row-gap:2.4rem}
  .ways li:nth-child(odd){padding-left:0;border-left:0}
  .build-photo{max-width:36rem}
  .build-after-grid{grid-template-columns:1fr;gap:2rem}
  .build-after-aside{margin-top:0;padding-left:0;border-left:0}
}
@media (max-width:640px){
  .build-intro{padding:3.2rem 0 2.8rem}
  .build-pulse{padding:2.8rem 0 3.2rem}
  .build-ways{padding:3.2rem 0}
  .build-after{padding:3.2rem 0}
  .build-intro h1{font-size:2.35rem}
  .ways{grid-template-columns:1fr}
  .ways li{padding:0;border-left:0}
  .ways p{max-width:none}
  .pulse-stats li > span{font-size:.8rem}
}
