.realisations{background:var(--ink);color:#fff}
.realisations .section-title{color:#fff}
.realisations .section-copy{color:rgba(255,255,255,.62)}
.realisations-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}
.realisations-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.realisation{grid-column:span 3;position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--ink-soft)}
.realisation:nth-child(1),.realisation:nth-child(8){grid-column:span 6}
.realisation[hidden]{display:none}
.realisation-photo{display:block;position:relative;width:100%;height:330px;overflow:hidden;cursor:zoom-in;color:#fff}
.realisation-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,10,8,.72));pointer-events:none}
.realisation-photo img{height:100%;object-fit:cover;transition:transform .65s ease}
.realisation-photo:hover img{transform:scale(1.04)}
.realisation-photo span{position:absolute;z-index:2;right:.8rem;bottom:.8rem;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(16,19,17,.66);backdrop-filter:blur(8px);font-size:.72rem;font-weight:700}
.realisation-photo:hover span{background:var(--gold);border-color:var(--gold);color:#111}
.realisation-photo:focus-visible,.gallery-more:focus-visible,.photo-viewer button:focus-visible{outline:3px solid var(--gold-light);outline-offset:-4px}
.realisation figcaption{position:absolute;z-index:2;left:1rem;bottom:1rem;max-width:65%;color:#fff;font:700 .9rem "Manrope",sans-serif;pointer-events:none}
.gallery-actions{text-align:center;margin-top:2.5rem}
.gallery-more{border-color:rgba(255,255,255,.4);background:transparent;color:#fff}
.gallery-more:hover{background:#fff;color:var(--ink)}
.photo-viewer{width:min(1100px,calc(100% - 1rem));max-height:calc(100dvh - 1rem);margin:auto;padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);background:var(--ink);color:#fff}
.photo-viewer::backdrop{background:rgba(0,0,0,.9)}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.photo-viewer button{min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:var(--ink-soft);color:#fff;font:inherit;cursor:pointer}
.viewer-close{padding:.4rem .9rem}.viewer-image{width:100%;height:min(70dvh,750px);object-fit:contain;background:#080b09;border-radius:.8rem}
.viewer-caption{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem}.viewer-caption p{text-align:center}.viewer-prev,.viewer-next{font-size:1.1rem}body.viewer-open{overflow:hidden}
@media(max-width:980px){.realisations-head{align-items:start;flex-direction:column}.realisation,.realisation:nth-child(1),.realisation:nth-child(8){grid-column:span 6}}
@media(max-width:700px){.realisations-grid{grid-template-columns:1fr}.realisation,.realisation:nth-child(1),.realisation:nth-child(8){grid-column:1}.realisation-photo{height:290px}.realisation figcaption{max-width:62%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.realisation-photo img{transition:none}}
