.catalog-nav .active{color:#c96f45}.new-catalog-hero{display:grid;grid-template-columns:1.5fr .7fr;align-items:end}.new-catalog-hero p{max-width:520px;line-height:1.7;color:#625e57;margin-bottom:12px}.catalog-shell{padding:0 clamp(20px,5vw,72px) 80px}.filter-bar{position:sticky;top:77px;z-index:20;display:grid;grid-template-columns:1.6fr repeat(4,1fr) auto;gap:1px;background:#d5d0c7;border:1px solid #d5d0c7;box-shadow:0 8px 30px #28241e12}.filter-bar label{display:grid;gap:7px;background:#fff;padding:13px 15px}.filter-bar label span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#777}.filter-bar input,.filter-bar select{border:0;background:transparent;outline:0;font:inherit;min-width:0}.filter-bar button{border:0;background:#1e2522;color:#fff;padding:0 18px;cursor:pointer}.catalog-summary{display:flex;justify-content:space-between;padding:24px 0 18px;font-size:12px;color:#706b63}.catalog-summary span:first-child{font-weight:700;color:#25231f}.project-catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.catalog-project{background:#fff;border:1px solid #ded9cf}.catalog-project-image{display:block;aspect-ratio:1.5;position:relative;overflow:hidden;color:#fff}.catalog-project-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.catalog-project:hover img{transform:scale(1.035)}.catalog-project-image>span,.catalog-project-image>em{position:absolute;top:14px;background:#1e2522dd;padding:7px 9px;font-size:11px;font-style:normal}.catalog-project-image>span{left:14px}.catalog-project-image>em{right:14px}.catalog-project-body{padding:22px}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.project-tags span{font-size:10px;background:#eeeae2;padding:6px 8px}.catalog-project h2{font:24px/1.2 Prata,Georgia,serif;margin:17px 0 8px}.catalog-project h2 a{color:inherit;text-decoration:none}.catalog-project-body>p{font-size:12px;color:#746f67;min-height:36px}.catalog-project-foot{display:flex;justify-content:space-between;align-items:end;margin-top:22px;padding-top:17px;border-top:1px solid #e3dfd6}.catalog-project-foot div{display:grid;gap:5px}.catalog-project-foot small{font-size:9px;color:#777}.catalog-project-foot strong{font:20px Georgia}.catalog-project-foot>a{color:#bd6746;font-size:12px;text-decoration:none;font-weight:700}.empty-catalog{grid-column:1/-1;padding:60px;background:#fff;text-align:center}.catalog-seo{max-width:920px;margin:0 auto;padding:20px 24px 90px}.catalog-seo h2{font:34px Georgia}.catalog-seo p{line-height:1.8;color:#625e57}@media(max-width:1050px){.filter-bar{grid-template-columns:repeat(3,1fr);position:static}.filter-bar button{min-height:52px}.project-catalog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.new-catalog-hero{grid-template-columns:1fr}.filter-bar,.project-catalog-grid{grid-template-columns:1fr}.catalog-summary{display:grid;gap:8px}.catalog-nav{display:none}}
/* API catalog states and pagination */
.catalog-more{margin:32px auto 0}.catalog-more[hidden]{display:none}.catalog-image-empty{position:static!important;display:grid!important;place-items:center;height:100%;background:#d9ddd4;color:#56605a!important}.catalog-project-foot strong{font-size:16px}
.catalog-project-image{background:#e8e5de}.catalog-project-image img{object-fit:cover;object-position:center}

/* Illustrated project parameters and real floor-plan preview. */
.catalog-project{display:flex;flex-direction:column;min-width:0}
.catalog-project-body{display:flex;flex:1;flex-direction:column}
.project-tags{display:none}
.project-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.project-specs>div{min-width:0;display:flex;align-items:center;gap:9px;padding:9px 10px;background:#f1eee7;border:1px solid #e8e3da}
.project-specs svg{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:#29443e;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.project-specs span{display:grid;min-width:0;line-height:1.15}
.project-specs small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#817b72}
.project-specs strong{margin-top:4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-project-body>p{flex:1}
.catalog-project-foot{gap:14px}
.catalog-adapt{display:grid;gap:5px;min-width:0}
.catalog-project-actions{display:flex;align-items:flex-end;gap:12px;margin-left:auto}
.catalog-plan-preview{position:relative;display:block;width:88px;height:66px;overflow:hidden;border:1px solid #d8d2c7;background:#fff}
.catalog-plan-preview img{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.catalog-plan-preview:hover img{transform:scale(1.06)}
.catalog-plan-preview span{position:absolute;right:4px;bottom:4px;padding:2px 5px;background:#29443ee6;color:#fff;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.catalog-details{color:#bd6746;font-size:12px;text-decoration:none;font-weight:700;white-space:nowrap}

@media(max-width:1250px){.project-specs{grid-template-columns:1fr}.project-specs>div{padding:7px 9px}.project-specs svg{width:22px;height:22px;flex-basis:22px}}
@media(max-width:700px){.project-specs{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-project-foot{align-items:end}.catalog-plan-preview{width:78px;height:60px}}
@media(max-width:430px){.project-specs{grid-template-columns:1fr}.catalog-project-actions{gap:8px}.catalog-plan-preview{width:70px;height:54px}}
.catalog-project-foot .catalog-project-actions{display:flex}
.catalog-project:hover .catalog-plan-preview img{transform:none}
.catalog-project .catalog-plan-preview:hover img{transform:scale(1.06)}

/* Catalog filters: roof selector and optional project features. */
.filter-bar{grid-template-columns:1.5fr repeat(4,minmax(125px,1fr)) auto auto}
.filter-features{position:relative;min-width:max-content;margin:0;padding:24px 14px 8px;border:0;background:#fff;display:flex;align-items:center;gap:12px}
.filter-features legend{position:absolute;top:9px;left:14px;margin:0;font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:1px;color:#777}
.filter-features label{display:flex;align-items:center;gap:5px;padding:0;background:transparent;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}
.filter-features label span{font-size:10px;letter-spacing:0;text-transform:none;color:#35322d}
.filter-features input{width:15px;height:15px;margin:0;accent-color:#29443e}

@media(max-width:1400px){.filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-features{min-height:58px}.filter-bar>button{min-height:58px}}
@media(max-width:700px){.filter-bar{grid-template-columns:1fr}.filter-features{display:grid;grid-template-columns:repeat(3,1fr);min-width:0}.filter-features legend{grid-column:1/-1}.filter-features label{justify-content:flex-start}}
