.ef-gallery{padding-block:clamp(4rem,8vw,8rem)}
.ef-gallery__title{max-width:13ch;margin:.2em 0 1rem;font-size:clamp(2.2rem,5vw,4.5rem);font-weight:400;line-height:.98}
.ef-gallery__intro{max-width:46rem;margin:0 0 clamp(2.5rem,4.5vw,4.75rem);font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.65}
.ef-gallery__grid{display:grid;gap:clamp(.75rem,1.4vw,1.5rem);align-items:start}
.ef-gallery__item{min-width:0;margin:0}
.ef-gallery__item img,.ef-gallery__placeholder{display:block;width:100%;height:100%;object-fit:cover}
.ef-gallery__item figcaption{margin-top:.75rem;font-size:clamp(.9rem,1vw,1rem);line-height:1.45;letter-spacing:.025em;opacity:.78}
.ef-gallery__placeholder{min-height:18rem;background:linear-gradient(145deg,#e6ded2,var(--ef-colour-green))}

/* Even grid: dependable, compact and consistent. */
.ef-gallery--grid .ef-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ef-gallery--grid .ef-gallery__item img,.ef-gallery--grid .ef-gallery__placeholder{aspect-ratio:4/3}

/* Full width: the deliberately cinematic option. */
.ef-gallery--full-width .ef-gallery__grid{grid-template-columns:1fr;gap:clamp(1.5rem,3vw,3rem)}
.ef-gallery--full-width .ef-gallery__item img,.ef-gallery--full-width .ef-gallery__placeholder{aspect-ratio:16/9;max-height:min(72vh,52rem)}

/* Editorial: varied magazine-style rhythm rather than a repeated stack. */
.ef-gallery--editorial .ef-gallery__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.75rem)}
.ef-gallery--editorial .ef-gallery__item{grid-column:span 6}
.ef-gallery--editorial .ef-gallery__item img,.ef-gallery--editorial .ef-gallery__placeholder{aspect-ratio:4/3}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+1){grid-column:1/span 8}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+1) img,.ef-gallery--editorial .ef-gallery__item:nth-child(6n+1) .ef-gallery__placeholder{aspect-ratio:16/10}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+2){grid-column:9/span 4;align-self:end}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+2) img,.ef-gallery--editorial .ef-gallery__item:nth-child(6n+2) .ef-gallery__placeholder{aspect-ratio:3/4}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+3){grid-column:1/span 4;margin-top:clamp(0rem,4vw,4rem)}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+3) img,.ef-gallery--editorial .ef-gallery__item:nth-child(6n+3) .ef-gallery__placeholder{aspect-ratio:3/4}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+4){grid-column:5/span 8}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+4) img,.ef-gallery--editorial .ef-gallery__item:nth-child(6n+4) .ef-gallery__placeholder{aspect-ratio:16/10}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+5){grid-column:1/span 6}
.ef-gallery--editorial .ef-gallery__item:nth-child(6n+6){grid-column:7/span 6}

/* Keep very small editorial galleries balanced. */
.ef-gallery--editorial .ef-gallery__grid--count-1 .ef-gallery__item{grid-column:2/span 10}
.ef-gallery--editorial .ef-gallery__grid--count-2 .ef-gallery__item:first-child{grid-column:1/span 7}
.ef-gallery--editorial .ef-gallery__grid--count-2 .ef-gallery__item:nth-child(2){grid-column:8/span 5}
.ef-gallery--editorial .ef-gallery__grid--count-3 .ef-gallery__item:first-child{grid-column:1/span 8}
.ef-gallery--editorial .ef-gallery__grid--count-3 .ef-gallery__item:nth-child(2){grid-column:9/span 4}
.ef-gallery--editorial .ef-gallery__grid--count-3 .ef-gallery__item:nth-child(3){grid-column:3/span 8;margin-top:clamp(1rem,3vw,3rem)}

@media(max-width:900px){
	.ef-gallery--grid .ef-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ef-gallery--editorial .ef-gallery__item,
	.ef-gallery--editorial .ef-gallery__item:nth-child(n){grid-column:span 6;margin-top:0}
	.ef-gallery--editorial .ef-gallery__item:nth-child(4n+1){grid-column:1/span 7}
	.ef-gallery--editorial .ef-gallery__item:nth-child(4n+2){grid-column:8/span 5}
	.ef-gallery--editorial .ef-gallery__item:nth-child(4n+3){grid-column:1/span 5}
	.ef-gallery--editorial .ef-gallery__item:nth-child(4n+4){grid-column:6/span 7}
}
@media(max-width:620px){
	.ef-gallery{padding-block:clamp(3rem,12vw,5rem)}
	.ef-gallery__grid,.ef-gallery--grid .ef-gallery__grid,.ef-gallery--editorial .ef-gallery__grid{grid-template-columns:1fr;gap:1.25rem}
	.ef-gallery--editorial .ef-gallery__item,.ef-gallery--editorial .ef-gallery__item:nth-child(n),.ef-gallery--editorial .ef-gallery__grid--count-1 .ef-gallery__item,.ef-gallery--editorial .ef-gallery__grid--count-2 .ef-gallery__item,.ef-gallery--editorial .ef-gallery__grid--count-3 .ef-gallery__item{grid-column:1;margin-top:0}
	.ef-gallery--editorial .ef-gallery__item img,.ef-gallery--editorial .ef-gallery__placeholder,.ef-gallery--grid .ef-gallery__item img,.ef-gallery--grid .ef-gallery__placeholder{aspect-ratio:4/3}
	.ef-gallery--full-width .ef-gallery__item img,.ef-gallery--full-width .ef-gallery__placeholder{aspect-ratio:4/3}
}

/* v0.43.2: give the image composition a little more separation from surrounding sections. */
.ef-gallery__grid{margin-bottom:clamp(.5rem,1vw,1rem)}
@media(max-width:620px){.ef-gallery__item figcaption{margin-top:.6rem;font-size:.92rem}.ef-gallery__intro{margin-bottom:2.5rem}}
