/* Pages Réalisations - 360 Lieux */
.realisation-page{background:var(--bone)}
.realisation-main{overflow:hidden}
.realisation-breadcrumb{padding:24px 0 0;font-family:var(--mono);font-size:12px;color:var(--taupe)}
.realisation-breadcrumb a{text-decoration:none;color:inherit}
.realisation-breadcrumb a:hover{color:var(--ink)}
.realisation-breadcrumb span{margin:0 8px;color:var(--gold)}
.realisation-hero{padding-top:42px;}
.realisation-hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:56px;align-items:center}
.realisation-hero h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.02em;margin:14px 0 20px}
.realisation-hero .lead{font-size:18px;color:var(--taupe);max-width:52ch;margin:0 0 26px}
.realisation-facts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.realisation-fact{font-family:var(--mono);font-size:12px;letter-spacing:.04em;border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:rgba(246,244,239,.76)}
.realisation-cover{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 28px 60px -42px rgba(23,24,28,.55);background:var(--sable)}
.realisation-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/780;object-fit:cover}
.realisation-section{padding:78px 0;border-top:1px solid var(--line)}
.realisation-section.alt{background:var(--sable)}
.realisation-head{max-width:720px;margin-bottom:32px}
.realisation-head h2{font-size:clamp(28px,3.7vw,44px);margin:12px 0 0}
.realisation-head p{color:var(--taupe);margin:14px 0 0}
.matterport-frame{position:relative;border-radius:24px;overflow:hidden;background:#111;border:1px solid rgba(23,24,28,.18);box-shadow:0 28px 70px -46px rgba(23,24,28,.65)}
.matterport-frame::before{content:"";display:block;padding-top:56.25%}
.matterport-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.realisation-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.realisation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.realisation-gallery figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--sable)}
.realisation-gallery img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .25s ease}
.realisation-gallery figure:hover img{transform:scale(1.02)}
.realisation-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.realisation-service{background:var(--bone);border:1px solid var(--line);border-radius:18px;padding:22px}
.realisation-service .n{font-family:var(--mono);font-size:12px;color:var(--gold);letter-spacing:.1em}
.realisation-service h3{font-size:19px;margin:12px 0 8px}
.realisation-service p{font-size:15px;color:var(--taupe);margin:0}
.realisation-cta{background:var(--ink);color:var(--bone);border-radius:26px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.realisation-cta h2{font-size:clamp(27px,3.5vw,40px);max-width:20ch}
.realisation-cta p{margin:10px 0 0;color:#c9c4b9;max-width:58ch}
.realisation-cta .btn-ghost{color:var(--bone);border-color:rgba(246,244,239,.28)}
.realisation-list{padding:50px 0 84px}
.realisation-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.realisation-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--bone);transition:transform .18s ease,box-shadow .18s ease}
.realisation-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px -30px rgba(23,24,28,.45)}
.realisation-card img{display:block;max-width:100%;width:100%;aspect-ratio:1200/780;object-fit:cover;height:auto;}
.realisation-card-body{padding:20px}
.realisation-card h2,.realisation-card h3{font-size:22px;margin:0 0 8px}
.realisation-card p{margin:0;color:var(--taupe);font-size:15px}
.realisation-card .card-link{display:inline-block;margin-top:16px;font-weight:600;font-size:14px}
@media (max-width:960px){
  .realisation-hero-grid{grid-template-columns:1fr;gap:30px}
  .realisation-cover{max-width:760px}
  .realisation-service-grid{grid-template-columns:1fr 1fr}
  .realisation-list-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .realisation-breadcrumb{padding-top:18px}
  .realisation-hero{padding:30px 0 50px}
  .realisation-section{padding:58px 0}
  .realisation-grid,.realisation-list-grid{grid-template-columns:1fr}
  .realisation-service-grid{grid-template-columns:1fr}
  .realisation-cta{padding:28px;align-items:flex-start;flex-direction:column}
  .realisation-actions .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .realisation-gallery img,.realisation-card{transition:none}
  .realisation-gallery figure:hover img,.realisation-card:hover{transform:none}
}
