.visual-catalog{margin:12px 0 38px}
.visual-catalog__heading,.sample-catalog__heading,.roof-reference-gallery__heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.visual-catalog__heading h2,.sample-catalog__heading h2,.roof-reference-gallery__heading h2{margin:6px 0 0;font:500 clamp(30px,3vw,40px)/1.14 var(--serif,Georgia,serif);color:#332b27}
.visual-catalog__heading>p,.sample-catalog__heading>p,.roof-reference-gallery__heading>p{max-width:445px;margin:0;color:#62564e;line-height:1.65}
.visual-catalog .eyebrow,.sample-catalog .eyebrow,.roof-reference-gallery .eyebrow{margin:0;color:#92412e}
.visual-catalog__grid,.sample-catalog__grid,.roof-reference-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.visual-catalog__card,.sample-catalog__card,.roof-reference-gallery__card{min-width:0;overflow:hidden;margin:0;border:1px solid #e2d3c4;border-radius:14px;background:#fffdfa;box-shadow:0 10px 28px #34251a0d}
.visual-catalog__card{display:flex;flex-direction:column;color:#302924;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.visual-catalog__card:hover,.visual-catalog__card:focus-visible{transform:translateY(-3px);border-color:#b87359;box-shadow:0 14px 32px #573a2a1c;outline:none}
.visual-catalog__image,.sample-catalog__card .gallery-trigger{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;overflow:hidden;background:#f3eae0}
.visual-catalog__image img,.sample-catalog__card img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.visual-catalog__body{display:grid;gap:8px;flex:1;padding:18px 19px 20px}
.visual-catalog__body strong{font:500 24px/1.18 var(--serif,Georgia,serif)}
.visual-catalog__body small{color:#625850;font-size:14px;line-height:1.5}
.visual-catalog__body>span{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px;color:#8b3b2a;font-size:13px;font-weight:800}
.visual-catalog__body b{font-size:20px;font-weight:500}
.sample-catalog{grid-column:1/-1;margin:6px 0 14px;padding:26px 0 14px;border-top:1px solid #dfd1c2;border-bottom:1px solid #dfd1c2}
.sample-catalog__heading{display:block}
.sample-catalog__heading p:last-child{max-width:780px;margin:10px 0 0;color:#62564e;line-height:1.6}
.sample-catalog__card{display:flex;flex-direction:column}
.sample-catalog__grid,.editorial-page--materials .editorial-gallery{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px}
.sample-catalog__grid .sample-catalog__card,.editorial-page--materials .editorial-gallery figure{flex:0 0 calc((100% - 32px)/3);min-width:0}
.sample-catalog__card .gallery-trigger{height:210px;aspect-ratio:auto;background:#fff}
.sample-catalog__card .gallery-trigger,.roof-reference-gallery__card .gallery-trigger{padding:0;border:0;cursor:zoom-in}
.sample-catalog__card figcaption{display:grid;gap:6px;flex:1;padding:16px 18px 20px;border-top:1px solid #e8dbce}
.sample-catalog__card figcaption strong{font:500 21px/1.2 var(--serif,Georgia,serif)}
.sample-catalog__card figcaption span{color:#655a52;font-size:14px;line-height:1.5}
.roof-reference-gallery{width:min(1160px,calc(100% - 40px));margin:22px auto 0}
.roof-reference-gallery__card .gallery-trigger{display:block;width:100%;aspect-ratio:3/2;background:#eee7df}
.roof-reference-gallery__card img{display:block;width:100%;height:100%;object-fit:cover}
.roof-reference-gallery__card figcaption{padding:15px 18px 18px;font:500 20px/1.25 var(--serif,Georgia,serif)}
.visual-catalog__card:focus-visible,.sample-catalog__card .gallery-trigger:focus-visible,.roof-reference-gallery__card .gallery-trigger:focus-visible{outline:3px solid #a7472e;outline-offset:-3px}
.work-archive__empty{margin-top:28px}
.editorial-page--materials .editorial-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.editorial-page--materials .editorial-gallery figure>a{height:190px;flex-basis:190px}
.editorial-page--materials .editorial-gallery img{max-height:190px}
.editorial-page--materials .editorial-gallery figcaption{padding:12px 14px;min-height:0;font-size:13px;line-height:1.5}
@media(max-width:760px){.editorial-page--materials .editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.editorial-page--materials .editorial-gallery figure>a{height:160px;flex-basis:160px}.editorial-page--materials .editorial-gallery img{max-height:160px}.editorial-page--materials .editorial-gallery figcaption{padding:11px 12px;font-size:13px}}
@media(max-width:900px){.visual-catalog__grid,.sample-catalog__grid,.roof-reference-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.visual-catalog{margin:6px 0 28px}.visual-catalog__heading,.roof-reference-gallery__heading{display:block;margin-bottom:17px}.visual-catalog__heading h2,.sample-catalog__heading h2,.roof-reference-gallery__heading h2{font-size:29px}.visual-catalog__heading>p,.roof-reference-gallery__heading>p{margin-top:10px;font-size:14px}.visual-catalog__grid,.sample-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.visual-catalog__card,.sample-catalog__card{border-radius:10px}.visual-catalog__image,.sample-catalog__card .gallery-trigger{aspect-ratio:1/1}.visual-catalog__body{padding:12px 11px 13px;gap:6px}.visual-catalog__body strong{font-size:19px}.visual-catalog__body small{font-size:12px;line-height:1.4}.visual-catalog__body>span{font-size:12px}.sample-catalog{padding-top:20px}.sample-catalog__card figcaption{padding:11px 12px 14px}.sample-catalog__card figcaption strong{font-size:17px}.sample-catalog__card figcaption span{font-size:12px}.roof-reference-gallery__grid{grid-template-columns:1fr;gap:13px}.roof-reference-gallery{width:calc(100% - 32px);margin-top:12px}.roof-reference-gallery__card .gallery-trigger{aspect-ratio:3/2}.roof-reference-gallery__card figcaption{font-size:19px}.work-archive__empty{margin-top:20px}}
@media(max-width:355px){.visual-catalog__grid{grid-template-columns:1fr}.visual-catalog__image{aspect-ratio:4/3}.visual-catalog__body strong{font-size:22px}}
@media(max-width:900px){.sample-catalog__grid .sample-catalog__card,.editorial-page--materials .editorial-gallery figure{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:680px){.sample-catalog__grid,.editorial-page--materials .editorial-gallery{gap:9px}.sample-catalog__grid .sample-catalog__card,.editorial-page--materials .editorial-gallery figure{flex-basis:calc((100% - 9px)/2)}.sample-catalog__card .gallery-trigger{height:155px;aspect-ratio:auto}}
/* Consistent frames: full product visible, equal card widths and centered last rows. */
.editorial-page--materials .editorial-gallery,.sample-catalog__grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:20px}
.editorial-page--materials .editorial-gallery figure,.sample-catalog__grid .sample-catalog__card{flex:0 0 calc((100% - 40px)/3);max-width:none;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2d3c4;border-radius:14px;background:#fffdfa;margin:0}
.editorial-page--materials .editorial-gallery figure>a,.sample-catalog__card .gallery-trigger{display:flex;align-items:center;justify-content:center;width:100%;height:280px;min-height:280px;flex:0 0 280px;aspect-ratio:auto;background:#fff;padding:10px;box-sizing:border-box}
.editorial-page--materials .editorial-gallery img,.sample-catalog__card img{display:block;width:100%!important;height:100%!important;max-height:none;object-fit:contain;object-position:center}
.editorial-page--materials .editorial-gallery figcaption,.sample-catalog__card figcaption{flex:1;padding:16px 18px;min-height:0;border-top:1px solid #e8dbce;font-size:14px;line-height:1.55}
@media(min-width:901px){.editorial-page--materials .editorial-gallery:has(figure:nth-child(2)):not(:has(figure:nth-child(3))) figure{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:900px){.editorial-page--materials .editorial-gallery figure,.sample-catalog__grid .sample-catalog__card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:680px){.editorial-page--materials .editorial-gallery,.sample-catalog__grid{gap:16px}.editorial-page--materials .editorial-gallery figure,.sample-catalog__grid .sample-catalog__card{flex-basis:100%;max-width:480px}.editorial-page--materials .editorial-gallery figure>a,.sample-catalog__card .gallery-trigger{height:280px;min-height:280px;flex-basis:280px}.sample-catalog__card figcaption strong{font-size:21px}.sample-catalog__card figcaption span{font-size:14px}}