/* Catalogue-only layout; the shared theme remains the source of color and motion. */
.catalog-page{font-family:Inter,sans-serif}
.catalog-page h1,.catalog-page h2,.catalog-page h3{font-family:Manrope,sans-serif}
.catalog-page .material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
.catalog-page .catalog-hero{padding:2.75rem 0 3rem}
.catalog-hero .catalog-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.2em;color:var(--s-gold);margin:0 0 .9rem}
.catalog-hero h1{font-size:clamp(2rem,3.6vw,3.2rem);font-weight:700;line-height:1.15;letter-spacing:-.035em;margin:0 0 1rem}
.catalog-hero .leading-relaxed{max-width:54rem;font-size:1rem;color:var(--s-on-dark);line-height:1.7}
.catalog-results{padding:2rem 0 4rem}
.catalog-explore{color:var(--s-green)}
.catalog-explore label{display:block;font-size:.8rem;font-weight:600;margin:0 0 .45rem}
.catalog-filters{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:1rem}
.catalog-control{display:block;width:100%;min-width:0;min-height:46px;border:1px solid var(--s-field-line);border-radius:var(--s-radius);padding:.7rem .75rem;background:var(--s-white);color:var(--s-green);font:400 .9rem/1.4 Inter,sans-serif}
.catalog-control::placeholder{color:var(--s-muted);opacity:1}
.catalog-filter-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:.65rem 0 0}
.catalog-more{flex:1;min-width:0}
.catalog-more summary{cursor:pointer;min-height:44px;padding:.7rem 0;font-size:.85rem;font-weight:600;width:max-content}
.catalog-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:40rem;padding:.4rem 0 1rem}
.catalog-text-button{min-height:44px;color:var(--s-green);font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:.25em;cursor:pointer;padding:.7rem .25rem;background:none;border:0}
.catalog-applied{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:.1rem 0 .9rem}
.catalog-filter-tag{font-size:.8rem;min-height:40px;padding:.4rem 0;color:var(--s-green);cursor:pointer;text-align:left;overflow-wrap:anywhere;border:0;border-bottom:1px solid var(--s-line);background:none}
.catalog-page .capacity-search{padding:1rem 1.25rem;margin:.5rem 0 1.5rem;border:1px solid var(--s-line);border-radius:var(--s-radius);box-shadow:none}
.catalog-page .capacity-intro h2{font-size:1rem;line-height:1.35;font-weight:700;margin:0 0 .25rem}
.catalog-page .capacity-intro p{font-size:.8rem;max-width:45rem;line-height:1.6}
.catalog-page .capacity-intro .capacity-button{font-size:.8rem;white-space:nowrap;min-height:44px}
.catalog-page .capacity-summary:empty{display:none}
.catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:0 0 1.25rem}
#project-count{font-size:.95rem;font-weight:600;margin:0 auto 0 0}
.catalog-view{display:flex;border:1px solid var(--s-field-line);border-radius:var(--s-radius);padding:3px;background:var(--s-white)}
.catalog-view button{min-height:40px;padding:.5rem 1rem;border:0;border-radius:var(--s-radius-small);background:transparent;font-size:.85rem;color:var(--s-green);cursor:pointer}
.catalog-view button[aria-pressed=true]{background:var(--s-green);color:var(--s-white);font-weight:600}
.catalog-sort{display:flex;align-items:center;gap:.7rem}
.catalog-sort label{margin:0}.catalog-sort select{width:14rem}
.catalog-feedback{padding:1.5rem 0 2rem;color:var(--s-muted);line-height:1.7}
.catalog-feedback p{max-width:52rem}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.catalog-item{min-width:0;display:flex;flex-direction:column;background:var(--s-white);border:1px solid var(--s-line);border-radius:var(--s-radius);overflow:hidden;overflow-wrap:anywhere}
.catalog-page .catalog-card{display:flex;flex-direction:column;min-width:0;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible}
.catalog-page .catalog-card:hover{border:0;box-shadow:none}
.catalog-cover{aspect-ratio:16/10;width:100%;max-height:230px;background:var(--s-soft);overflow:hidden}
.catalog-cover-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.catalog-cover-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;width:100%;height:100%;padding:1rem;text-align:center;background:var(--s-green);color:var(--s-on-dark);font-size:.78rem}
.catalog-cover-placeholder img{max-width:114px;height:auto}
.catalog-summary{padding:1.25rem 1.25rem .5rem}
.catalog-card-title{font-size:1.13rem;line-height:1.35;letter-spacing:-.02em;font-weight:700;color:var(--s-green);margin:0 0 .45rem}
.catalog-location{font-size:.86rem;line-height:1.5;color:var(--s-muted);margin:0}
.catalog-builder{font-size:.75rem;line-height:1.5;color:var(--s-muted);margin:.4rem 0 0}
.catalog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:1rem 0 0;font-size:.82rem;line-height:1.5}
.catalog-facts>div:first-child{grid-column:1/-1}
.catalog-facts dt{font-size:.71rem;color:var(--s-muted);margin:0 0 .2rem}
.catalog-facts dd{margin:0;color:var(--s-green)}
.catalog-card-body{margin-top:auto;padding:1rem 1.25rem 1.25rem;min-width:0}
.catalog-actions{display:flex;flex-direction:column;gap:.9rem}
.catalog-price-value{font-size:1.13rem;font-weight:600;letter-spacing:-.025em;color:var(--s-green);margin:0}
.catalog-price-type{font-size:.75rem;color:var(--s-muted);margin:.2rem 0 0}
.catalog-price-unavailable{font-size:.9rem;color:var(--s-muted);margin:0}
.catalog-details-link{display:flex;justify-content:center;align-items:center;min-height:44px;padding:.6rem 1rem;background:var(--s-green);color:var(--s-white);font-size:.85rem;font-weight:600;border-radius:var(--s-radius);text-decoration:none}
.catalog-finance{grid-column:1/-1;padding:0 1.25rem 1.25rem}
.catalog-finance summary{cursor:pointer;min-height:44px;padding:.7rem 0;font-size:.82rem;font-weight:600;color:var(--s-green)}
.catalog-finance .capacity-result{margin:0}
.catalog-grid[data-view=list]{grid-template-columns:minmax(0,1fr);gap:0;background:var(--s-white);border-top:1px solid var(--s-line)}
.catalog-grid[data-view=list] .catalog-item{display:grid;grid-template-columns:minmax(0,1fr) 178px;gap:0 1.5rem;padding:1.25rem 0;border:0;border-bottom:1px solid var(--s-line);border-radius:0;background:none}
.catalog-grid[data-view=list] .catalog-card{display:grid;grid-template-columns:136px minmax(0,1fr);gap:1.25rem;align-items:center}
.catalog-grid[data-view=list] .catalog-cover{aspect-ratio:4/3;max-height:120px;border-radius:var(--s-radius-small)}
.catalog-grid[data-view=list] .catalog-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.5rem;padding:0;align-items:center}
.catalog-grid[data-view=list] .catalog-facts{margin:0}
.catalog-grid[data-view=list] .catalog-card-body{margin:0;padding:0;align-self:center}
.catalog-grid[data-view=list] .catalog-finance{padding:0}
.catalog-directory{margin-top:1rem;color:var(--s-green);line-height:1.6}
.catalog-directory summary{cursor:pointer;font-weight:600;padding:.75rem 0}
.catalog-directory ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.5rem 1rem;margin-top:1rem}
.catalog-directory a{display:block;padding:.5rem 0;text-decoration:underline;text-underline-offset:.2em}
.catalog-page [hidden]{display:none!important}
@media(max-width:1023px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid[data-view=list] .catalog-summary{display:block}.catalog-grid[data-view=list] .catalog-facts{margin:.8rem 0 0}.catalog-grid[data-view=list] .catalog-item{gap:1rem}.catalog-grid[data-view=list] .catalog-card{grid-template-columns:112px minmax(0,1fr);gap:1rem}}
@media(max-width:767px){.catalog-hero>.max-w-7xl,.catalog-results>.max-w-7xl{padding-left:1.25rem;padding-right:1.25rem}.catalog-page .catalog-hero{padding:2rem 0}.catalog-hero h1{font-size:2.1rem}.catalog-hero .leading-relaxed{font-size:.9rem}.catalog-results{padding:1.5rem 0 3rem}.catalog-filters{gap:.85rem}.catalog-search-field{grid-column:1/-1}.catalog-secondary{grid-template-columns:1fr;gap:.8rem}.catalog-page .capacity-search{padding:1rem;margin:.5rem 0 1.25rem}.catalog-page .capacity-intro{gap:.7rem}.catalog-page .capacity-intro .capacity-button{width:auto}.catalog-toolbar{gap:.8rem}.catalog-sort{width:100%;justify-content:space-between}.catalog-sort select{width:min(100%,15rem)}.catalog-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.catalog-cover{max-height:220px}.catalog-grid[data-view=list] .catalog-item{display:flex;padding:1.1rem 0;gap:.7rem}.catalog-grid[data-view=list] .catalog-card{grid-template-columns:84px minmax(0,1fr);gap:.85rem;align-items:start}.catalog-grid[data-view=list] .catalog-card-title{font-size:1rem}.catalog-grid[data-view=list] .catalog-location{font-size:.8rem}.catalog-grid[data-view=list] .catalog-facts{font-size:.8rem;gap:.5rem}.catalog-grid[data-view=list] .catalog-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:.6rem}.catalog-grid[data-view=list] .catalog-price-value{font-size:1rem}.catalog-grid[data-view=list] .catalog-details-link{flex-shrink:0;padding:.6rem .9rem}.catalog-view button{padding:.5rem .8rem}}
