.projects-banner{background:var(--black);color:var(--white);padding:56px 0 60px;border-bottom:1px solid #c9a44c66}
.projects-banner h1{font-size:clamp(2.8rem,5vw,4.4rem)}
.projects-banner p:last-child{max-width:640px;margin-top:22px;color:#c6c6ca;font-size:.96rem}
.catalogue-section{padding:52px 0 80px;background:var(--soft)}
.project-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:30px}
.project-tabs button{padding:18px 24px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:700;font-size:1rem}
.project-tabs button[aria-selected="true"]{border-bottom-color:var(--gold);color:var(--black);background:var(--white)}
.catalogue-filters{border:0;padding:0;margin:0 0 24px;display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:20px;align-items:end}
.catalogue-filters .field{margin:0}
.catalogue-filters .button{min-height:46px;padding:12px 22px}
#project-count{font-size:.85rem;color:var(--muted);margin-bottom:18px}
.catalogue-list{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}
.catalogue-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:26px 28px;background:white;border:1px solid var(--line);border-top:0}
.catalogue-list h3{font-size:1.06rem;line-height:1.5;letter-spacing:-.01em;overflow-wrap:anywhere;max-width:920px}
.catalogue-list .project-year-label{margin-top:8px;font-size:.75rem;color:var(--muted)}
.catalogue-list .button{font-size:.78rem;min-height:44px;padding:10px 22px}
.catalogue-note,#project-empty{font-size:.83rem;color:var(--muted);margin-top:24px}
#project-empty{padding:30px;border:1px solid var(--line);background:white}
#project-panel:focus-visible{outline:2px solid var(--focus);outline-offset:6px}
#project-enquiry{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:30px;border:1px solid var(--gold);color:var(--ink);background:var(--white);overflow-y:auto}
#project-enquiry::backdrop{background:#000b}
body.enquiry-open{overflow:hidden}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}
.dialog-heading h2{font-size:1.7rem}
.dialog-close{border:1px solid var(--line);background:white;color:var(--ink);padding:10px;min-height:44px;flex-shrink:0}
.dialog-close span{font-size:1.2rem;margin-left:5px}
#project-enquiry-note{font-size:.8rem;color:var(--muted);margin:18px 0}
.selected-project{background:var(--soft);border-left:3px solid var(--gold);padding:18px;margin-bottom:24px;overflow-wrap:anywhere}
.selected-project h3{font-size:1rem;line-height:1.5}
.selected-project p{font-size:.74rem;color:var(--muted);margin-top:10px}
#project-enquiry .field input,#project-enquiry .field textarea{font-size:1rem}
@media(max-width:640px){
.projects-banner{padding:40px 0}
.catalogue-section{padding:32px 0 55px}
.project-tabs button{flex:1;padding:16px 10px;font-size:.88rem}
.catalogue-filters{grid-template-columns:1fr 1fr;gap:16px}
.catalogue-filters .field:first-of-type{grid-column:1/-1}
.catalogue-filters .button{font-size:.8rem;padding-inline:12px}
.catalogue-list li{grid-template-columns:1fr;gap:18px;padding:22px}
.catalogue-list .button{justify-self:start}
#project-enquiry{padding:22px}
.dialog-heading h2{font-size:1.5rem}
}
