/* Documentary photographs use their own dimensions: no fixed image frame. */
.gallery-section{background:#111c25;padding:76px 0 80px}
.gallery-section .gallery-grid{display:block;columns:3;column-gap:24px}
.gallery-section .gallery-card{display:inline-block;vertical-align:top;width:100%;margin:0 0 24px;break-inside:avoid;grid-column:auto;border:0;border-radius:2px;background:#fff;color:#17212a;box-shadow:0 8px 24px #0002}
.gallery-section .gallery-card .gallery-open{height:auto;min-height:0;display:block;line-height:0;background:transparent}
.gallery-section .gallery-card .gallery-open img{position:static;display:block;width:100%;height:auto;max-width:100%;padding:0;object-fit:initial;transform:none;transition:filter .2s}
.gallery-section .gallery-open:hover img{filter:brightness(1.04)}
.gallery-section .gallery-open:focus-visible{outline:3px solid #f49237;outline-offset:-3px}
.gallery-section .zoom-icon{width:38px;height:38px;line-height:38px;background:#111c25e8;box-shadow:0 2px 8px #0003}
.gallery-section .gallery-card figcaption{border-top:3px solid #f49237;padding:20px;gap:13px}
.gallery-section .photo-number{color:#a95213;font-size:1.2rem}
.gallery-section .gallery-card h3{font-size:1.4rem;color:#17212a;margin:0 0 9px}
.gallery-section .gallery-card p{font-size:1rem;color:#52616b;line-height:1.55;margin-bottom:12px}
.gallery-section .photo-source,.gallery-section .gallery-note{font-size:.875rem;line-height:1.5}
.gallery-section .photo-source{color:#64717b}
.gallery-section .gallery-filters button{font-size:.875rem;min-height:44px}
.gallery-section .gallery-heading p{font-size:1rem;line-height:1.6}
.gallery-section .gallery-card[hidden]{display:none}
.gallery-section .gallery-filters[hidden]{display:none}
.gallery-section .gallery-grid--single{columns:auto;max-width:930px;margin:30px auto 0}
.gallery-section .gallery-grid--single .gallery-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;background:#fff}
.gallery-section .gallery-grid--single figcaption{border-top:0;padding:clamp(24px,4vw,48px);border-left:3px solid #f49237}
.gallery-section .gallery-grid--single h3{font-size:clamp(1.65rem,2.5vw,2.2rem)}
/* Landing carousel retains its controls and three visible photographs. */
.realizations .realization-viewport{align-items:start;gap:24px}
.realizations .realization-slide{border:0;box-shadow:0 8px 24px #15212b12;border-radius:2px;overflow:hidden}
.realizations .realization-photo{display:block;height:auto;min-height:0;background:transparent}
.realizations .realization-photo img{display:block;width:100%;height:auto;object-fit:initial;padding:0}
.realizations .realization-slide figcaption{min-height:0;padding:20px}
.realizations .realization-kicker{font-size:.875rem;letter-spacing:.08em}
.realizations .realization-photo-count{font-size:.875rem}
/* Each mesh sample is a complete source image; split paired samples once in assets. */
.weaves .fabric-photo,.mesh-card .mesh-image{position:relative;display:block;aspect-ratio:auto;height:auto;min-height:0;padding:0;margin:0;overflow:hidden;align-self:start;border:0;border-radius:0;background:transparent;box-shadow:none}
.weaves .fabric-photo img,.weaves .fabric-standard .fabric-photo img,.weaves .fabric-bellavista .fabric-photo img,.mesh-card .mesh-image img,.mesh-card .mesh-image img.mesh-0,.mesh-card .mesh-image img.mesh-1{position:static;display:block;width:100%;max-width:100%;height:auto;padding:0;transform:none;object-fit:initial;filter:none}
.weaves .weave,.mesh-card{display:flex;flex-direction:column;overflow:hidden}
.weaves .fabric-body,.mesh-card .mesh-body{flex:1}
.mesh-card .mesh-image>span{z-index:1;top:10px;left:10px}
@media(max-width:900px){.gallery-section .gallery-grid{columns:2;column-gap:20px}.gallery-section .gallery-grid--single{columns:auto}.gallery-section .gallery-card{margin-bottom:20px}.gallery-section{padding:60px 0}.realizations .realization-viewport{gap:18px}}
@media(max-width:650px){.gallery-section .gallery-grid{columns:1}.gallery-section .gallery-grid--single .gallery-card{display:block}.gallery-section .gallery-grid--single figcaption{border-left:0;border-top:3px solid #f49237;padding:24px}.gallery-section .gallery-card h3{font-size:1.5rem}.gallery-section .gallery-count{display:block;min-width:70px}.gallery-section .gallery-count strong{font-size:2rem}.gallery-section .gallery-count span{font-size:.875rem}.mesh-card,.mesh-card:last-child{display:flex;grid-template-columns:none}.mesh-card .mesh-image{width:100%}.weaves .fabric-photo,.mesh-card .mesh-image{height:auto;min-height:0}.realizations .realization-photo{height:auto}}
