.chantiers{--chantier-accent:#4e9bff;background:#0b1a24;color:#f5f7fa;padding-block:88px 72px;isolation:isolate}
.chantiers ::selection{background:#0066ff;color:#fff}
.chantiers :focus-visible{outline:3px solid var(--chantier-accent);outline-offset:5px}
.chantiers-intro{display:flex;justify-content:space-between;align-items:end;gap:48px;padding-bottom:48px}
.chantiers-intro h2{max-width:760px;font-size:clamp(38px,4.8vw,68px)}
.chantiers-intro p{max-width:32ch;font-size:15px;line-height:1.8;color:#c3d1db}
.chantier{position:relative;margin:0;scroll-margin-top:24px}
.chantier+.chantier{margin-top:60px}
.chantier-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:16px;padding-block:20px;background:#0b1a24;border-top:1px solid #334652}
.chantier-head{display:flex;align-items:center;justify-content:space-between;gap:24px}
.chantier-head h3{font-size:clamp(24px,2.4vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.2}
.chantier-head p{font-size:13px;color:#c3d1db;max-width:32ch;line-height:1.5;text-align:right}
.chantier-image{position:relative;aspect-ratio:16/9;background:#061117;overflow:hidden;isolation:isolate;margin:0;min-height:0}
.chantier-frame{position:absolute;inset:0;opacity:0;pointer-events:none}
.chantier-frame-real{opacity:1}
.chantier-frame img{width:100%;height:100%;object-fit:contain}
.villas-morph-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:3}
.chantier-wipe{display:none;position:absolute;top:0;bottom:0;left:0;width:1px;background:#fff;box-shadow:1px 0 8px #0006;pointer-events:none;z-index:5}
.chantier-controls{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.chantier-controls button{display:flex;align-items:center;gap:12px;padding:14px 12px;background:transparent;border:0;border-top:2px solid #3a4c57;border-radius:0;text-align:left;color:#c3d1db;min-height:56px;line-height:1.35;font-size:13px}
.chantier-controls button:hover{color:white;background:#152c3a}
.chantier-controls button[aria-pressed="true"]{border-top-color:var(--chantier-accent);color:#fff;background:#122a3d}
.chantier-controls button span:first-child{font-variant-numeric:tabular-nums;color:var(--chantier-accent);font-size:12px}
.chantier-controls button span:last-child{max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.chantier-notes{display:flex;justify-content:space-between;gap:20px;align-items:baseline;font-size:12px;line-height:1.6;color:#c3d1db}
.chantier-current{color:#fff;font-weight:500}
.chantier-caption{max-width:68ch}
.chantier-hint{font-size:12px;color:#c3d1db;margin-top:4px}
.chantier-status{font-size:13px;color:#dce5ec}
.chantier-retry{background:transparent;color:#fff;border:1px solid #7c9bb0;padding:10px 16px;min-height:44px}
.chantier-retry[hidden]{display:none}
.chantiers-outro{display:flex;align-items:center;justify-content:space-between;gap:36px;border-top:1px solid #334652;margin-top:60px;padding-top:36px}
.chantiers-outro p{font-size:clamp(22px,2.4vw,32px);line-height:1.35;max-width:26ch;letter-spacing:-.025em}
.chantiers-outro .text-link{color:#fff;min-height:48px;flex-shrink:0}
.chantier[data-enhanced] .chantier-controls{display:grid}
.chantier[data-mode="scroll"]{height:calc(100svh + 165svh)}
.chantier[data-mode="scroll"] .chantier-panel{position:sticky;top:24px;height:min(880px,calc(100svh - 112px))}
.chantier[data-mode="scroll"] .chantier-image{aspect-ratio:auto}
.chantier[data-mode="manual"] .chantier-panel{position:relative;height:auto}
.chantier[data-mode="manual"] .chantier-image{max-height:66svh}
.chantier[data-mode="manual"] .chantier-hint-scroll{display:none}
.chantier:not([data-mode="manual"]) .chantier-hint-manual{display:none}
@media(max-width:800px){
  .chantiers{padding-block:60px}
  .chantiers-intro{display:block;padding-bottom:32px}
  .chantiers-intro p{margin-top:24px;max-width:44ch;font-size:14px}
  .chantier-head{gap:12px;align-items:start}
  .chantier-head p{font-size:12px;max-width:19ch}
  .chantier-panel{gap:14px}
  .chantier-controls button{padding:12px 6px;gap:6px;flex-direction:column;align-items:start;font-size:12px;min-height:67px}
  .chantier-controls{gap:5px}
  .chantier-notes{display:block;font-size:12px}
  .chantier-caption{margin-top:5px}
  .chantier[data-mode="scroll"]{height:240svh}
  .chantier[data-mode="scroll"] .chantier-panel{top:12px;height:calc(100svh - 100px)}
  .chantiers-outro{display:block;margin-top:36px}
  .chantiers-outro .text-link{margin-top:20px}
}
@media(max-width:480px){
  .chantiers .wrap{padding-inline:18px}
  .chantiers-intro h2{font-size:40px}
  .chantier-head{display:block}
  .chantier-head p{text-align:left;max-width:none;margin-top:6px;font-size:12px}
  .chantier-image{margin-inline:-18px}
  .chantier[data-mode="scroll"] .chantier-image{aspect-ratio:16/9;max-height:none}
  .chantier[data-mode="scroll"] .chantier-panel{height:auto;top:clamp(12px,calc((100svh - 600px)/2),90px);grid-template-rows:auto auto auto auto}
  .chantier-controls button{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.chantier-wipe{display:none!important}}

/* Villas is a full-viewport scene, independent of the surrounding content grid. */
#chantier-villas{width:100%;margin:80px 0 0;scroll-margin-top:0}
#chantier-villas[data-mode="scroll"]{height:320svh}
#chantier-villas .chantier-panel{position:sticky;top:0;height:100svh;height:100dvh;max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:20px;padding:clamp(24px,4.5vw,72px);border:0;background:#061117;isolation:isolate}
#chantier-villas[data-mode="manual"] .chantier-panel{position:relative}
#chantier-villas .chantier-image{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;margin:0;z-index:0}
#chantier-villas .chantier-frame img{object-fit:cover;object-position:50% 50%}
#chantier-villas .chantier-image::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(3,12,19,.78) 0%,rgba(3,12,19,.22) 22%,transparent 38%,transparent 55%,rgba(3,12,19,.55) 76%,rgba(3,12,19,.92) 100%)}
#chantier-villas .chantier-head{grid-row:1;position:relative;z-index:5;align-items:start;gap:32px}
#chantier-villas .chantier-head h3{font-size:clamp(32px,4.2vw,62px);font-weight:500;letter-spacing:-.035em;line-height:1.08}
#chantier-villas .chantier-head p{color:#f5f7fa;font-size:14px;line-height:1.6}
#chantier-villas .chantier-controls{grid-row:3;position:relative;z-index:5;gap:16px}
#chantier-villas .chantier-controls button{color:#f5f7fa;border-top-color:#c7d6e3a3;background:transparent;padding:16px 12px;min-height:56px}
#chantier-villas .chantier-controls button span:first-child{color:#d5e7ff}
#chantier-villas .chantier-controls button[aria-pressed="true"]{background:#10293bbd;border-top-color:#6daeff}
#chantier-villas .chantier-controls button:hover{background:#173348dc}
#chantier-villas .chantier-notes{grid-row:4;position:relative;z-index:5;color:#f5f7fa;gap:24px}
#chantier-villas .chantier-current{color:#fff}
#chantier-villas :focus-visible{outline-color:#fff;outline-offset:4px}
.villas-immersive-active .mobile-cta,.villas-immersive-active .mobile-cta.visible{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(110%)}
@media(max-width:800px){
  #chantier-villas{margin-top:56px}
  #chantier-villas[data-mode="scroll"]{height:300svh}
  #chantier-villas .chantier-panel{padding:28px 24px max(24px,env(safe-area-inset-bottom));gap:16px}
  #chantier-villas .chantier-head{display:block}
  #chantier-villas .chantier-head h3{font-size:clamp(32px,6vw,46px);max-width:15ch}
  #chantier-villas .chantier-head p{font-size:13px;text-align:left;max-width:36ch;margin-top:8px}
  #chantier-villas .chantier-controls{gap:8px}
  #chantier-villas .chantier-controls button{padding:12px 5px;min-height:67px;font-size:12px;gap:7px}
  #chantier-villas .chantier-notes{font-size:12px;line-height:1.55}
}
@media(max-width:480px){
  #chantier-villas .chantier-panel{padding:28px 18px max(24px,env(safe-area-inset-bottom));gap:14px}
  #chantier-villas .chantier-head h3{font-size:36px;max-width:12ch}
  #chantier-villas .chantier-frame img{object-position:43% 50%}
  #chantier-villas .chantier-controls{gap:5px}
  #chantier-villas .chantier-controls button{padding-inline:4px}
  #chantier-villas .chantier-notes{display:block}
  #chantier-villas .chantier-caption{margin-top:7px}
}
@media(max-height:540px){
  #chantier-villas .chantier-panel{padding:16px 24px;gap:10px}
  #chantier-villas .chantier-head{display:flex;gap:24px}
  #chantier-villas .chantier-head h3{font-size:28px;max-width:none}
  #chantier-villas .chantier-head p{font-size:12px;margin:0;max-width:30ch;text-align:right}
  #chantier-villas .chantier-controls button{min-height:44px;padding:8px;flex-direction:row;align-items:center}
  #chantier-villas .chantier-notes{display:flex;font-size:12px;gap:20px}
  #chantier-villas .chantier-caption{margin:0}
}

/* The first immersive sequence follows the section introduction directly. */
.chantiers>.wrap:first-child+#chantier-villas{margin-top:0}
