/* Pages "carrelage par aspect" */
.aspect-hero{ padding:56px 0 40px; border-bottom:1px solid var(--line); }
.aspect-hero h1{ font-size:clamp(1.9rem,3.2vw,2.8rem); margin:0 0 18px; }
.aspect-hero .lede{ font-size:1.02rem; color:var(--ink-soft); max-width:62ch; margin:0 0 26px; }
.fil{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.06em; color:var(--ink-soft); margin:0 0 22px; }
.fil a{ color:var(--accent); text-decoration:none; }
.fil span{ margin:0 8px; }
.galerie{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:8px; }
.galerie figure{ margin:0; height:100%; display:flex; flex-direction:column; background:var(--stone-100); border:1px solid var(--line); border-radius:8px; overflow:hidden; box-shadow:var(--card-shadow); }
.galerie img{ display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; flex:none; }
.galerie figcaption{ min-height:46px; display:flex; align-items:center; padding:0 14px; font-size:.86rem; color:var(--ink); line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.galerie figcaption b{ font-weight:500; overflow:hidden; text-overflow:ellipsis; }
.points{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 32px; }
.points li{ display:grid; grid-template-columns:22px 1fr; gap:12px; font-size:.94rem; color:var(--ink-soft); padding-bottom:12px; border-bottom:1px solid var(--line); }
.points li .n{ font-family:'IBM Plex Mono',monospace; color:var(--accent); font-size:.78rem; padding-top:2px; }
.autres{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.autres a{ font-size:.84rem; text-decoration:none; color:var(--ink); border:1px solid var(--line); border-radius:999px; padding:8px 14px; background:var(--stone-100); }
.autres a:hover{ border-color:var(--accent); color:var(--accent); }
.credits{ font-size:.78rem; color:var(--ink-soft); margin-top:28px; }
.cta-showroom{ background:var(--stone-100); border:1px solid var(--line); border-radius:10px; padding:28px 32px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 32px; }
.cta-showroom p{ margin:0; color:var(--ink-soft); font-size:.94rem; max-width:60ch; }
.cta-showroom p b{ color:var(--ink); font-weight:500; }
@media (max-width:900px){ .galerie{ grid-template-columns:1fr 1fr; } .points{ grid-template-columns:1fr; } }
@media (max-width:560px){ .galerie{ grid-template-columns:1fr; } }