/* photos.css — grandes cartes photo (images Unsplash, licence libre d'usage commercial) */
.ph-sec{padding:24px 0 8px}
.ph-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}
.ph-grid.single{grid-template-columns:1fr}
.ph{position:relative;margin:0;border-radius:28px;overflow:hidden;background:#111214;aspect-ratio:16/10;isolation:isolate;box-shadow:0 30px 70px -40px rgba(0,0,0,.8)}
.ph-grid:not(.single) .ph{aspect-ratio:auto;min-height:clamp(320px,34vw,460px)}
.ph-grid.single .ph{aspect-ratio:21/9}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ph:hover img{transform:scale(1.035)}
.ph::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.25) 38%,transparent 62%);z-index:1;pointer-events:none}
.ph figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 26px;color:#fff}
.ph figcaption b{display:block;font-size:clamp(18px,2vw,24px);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.ph figcaption span{display:block;font-size:14px;color:rgba(255,255,255,.78);margin-top:6px;max-width:460px;line-height:1.45}
.ph-tag{position:absolute;top:18px;left:18px;z-index:2;font-size:12px;font-weight:600;color:#fff;background:rgba(20,20,22,.45);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);border:1px solid rgba(255,255,255,.18);border-radius:980px;padding:5px 12px}
@media(max-width:760px){.ph-grid{grid-template-columns:1fr}.ph,.ph-grid.single .ph,.ph-grid:not(.single) .ph{aspect-ratio:4/3;min-height:0;border-radius:22px}.ph figcaption{padding:18px 20px}}
@media(prefers-reduced-motion:reduce){.ph img{transition:none}}

/* ── Haut de page en deux colonnes : texte + photo (Infrastructure, Partenariat) ── */
.hero-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center;text-align:left!important}
.hero-split .hero-inner{max-width:none!important;margin:0!important;padding:0!important;text-align:left!important}
.hero-split :is(.hero-cta,.hero-trust,.hero-plats){justify-content:flex-start!important}
.hero-split .hero-sub{margin-left:0!important;margin-right:0!important}
.hero-split .hero-facts{margin-left:0!important;max-width:560px}
.hero-split h1{font-size:clamp(36px,3.9vw,56px)!important;line-height:1.04!important}
.hero-photo{position:relative;margin:0;border-radius:32px;overflow:hidden;aspect-ratio:4/5;max-height:620px;width:100%;background:#111214;
  box-shadow:0 50px 100px -45px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45),transparent 45%);pointer-events:none}
.hero-chip{position:absolute;z-index:2;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:18px;color:#fff;
  background:rgba(20,20,22,.5);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 40px -18px rgba(0,0,0,.6);animation:chipFloat 6s ease-in-out infinite alternate}
.hero-chip b{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.1}
.hero-chip span{font-size:12px;color:rgba(255,255,255,.78)}
.hero-chip.c1{left:20px;bottom:22px}
.hero-chip.c2{right:20px;top:22px;animation-delay:-3s}
@keyframes chipFloat{to{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.hero-chip{animation:none}}
html:root[data-theme=light] .hero-photo{box-shadow:0 40px 80px -40px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.06)}
@media(max-width:900px){
  .hero-split{grid-template-columns:1fr;gap:36px}
  .hero-photo{aspect-ratio:4/3;max-height:none;border-radius:24px}
}
