/* PR-01 bis PR-06: ausschließlich Projekte-Hub, gemeinsame Startseite unverändert. */
.projects-hub{--hub-section:clamp(2.5rem,1.6rem + 2.6vw,4.5rem);--hub-gap:clamp(.75rem,.55rem + .65vw,1.25rem);--hub-body:clamp(1rem,.98rem + .12vw,1.125rem);background:var(--color-paper);font-size:var(--hub-body);line-height:1.55}
.projects-hub p{font-size:var(--hub-body);line-height:1.55;margin:0 0 1.1em;max-inline-size:72ch}
.projects-hub .projects-hub__kicker{font-size:var(--hub-body);font-weight:400;letter-spacing:normal;margin-bottom:1.25rem}
.projects-hub__section{padding-block:var(--hub-section)}
.projects-hub__section+.projects-hub__section{border-top:1px solid var(--d-sage)}
.projects-hub :is(h1,h2,h3,h4,p){text-wrap:wrap;overflow-wrap:normal;hyphens:none}
.projects-hub h1{font:500 clamp(2.75rem,1.6rem + 3.2vw,4.75rem)/1.08 var(--font-serif);hyphens:none;margin-bottom:1.5rem}
.projects-hub h2{font:650 clamp(1.75rem,1.3rem + 1.4vw,2.5rem)/1.15 var(--font-sans);letter-spacing:-.045em;margin:0 0 1.5rem;hyphens:none}
.projects-hub__hero{display:grid;gap:var(--hub-section);align-items:center}
.projects-hub__intro p:last-child,.projects-hub__explanation p:last-child{margin-bottom:0}
.projects-hub__collage{min-width:0}
.projects-hub__explanation>div{max-width:none}
.projects-hub .projects-hub__explanation p{max-inline-size:none}
.projects-hub__filter-controls{position:relative;min-width:0;margin-bottom:1.5rem}
.projects-hub__filter-buttons{position:absolute;inset-inline:0;overflow:clip;pointer-events:none}
.projects-hub__filter-controls[data-mode=buttons] .projects-hub__filter-buttons{position:static;overflow:visible;pointer-events:auto}
.projects-hub .project-blog__filters{display:flex;flex-wrap:nowrap;gap:clamp(.375rem,.25rem + .3vw,.625rem);width:max-content;visibility:hidden;margin:0}
.projects-hub__filter-controls[data-mode=buttons] .project-blog__filters{visibility:visible}
.projects-hub__filter-select{position:relative;z-index:1;text-align:center}
.projects-hub__filter-select select{width:min(100%,26rem);font:inherit;font-size:var(--hub-body);line-height:1.4;color:var(--d-ink);background:var(--color-paper);border:1px solid var(--d-ink);border-radius:var(--radius-s);min-height:var(--d-touch);padding:.65rem .75rem}
.projects-hub__filter-controls[hidden],.projects-hub__filter-select[hidden]{display:none}
.projects-hub .project-blog__filters[hidden],.projects-hub__card[hidden]{display:none}
.projects-hub .project-blog__filters button{flex:0 0 auto;white-space:nowrap;font:inherit;font-size:var(--hub-body);line-height:1.4;color:var(--d-ink);background:transparent;border:1px solid var(--d-ink);border-radius:var(--radius-s);padding:.65rem clamp(.625rem,.5rem + .2vw,.875rem);min-height:var(--d-touch);cursor:pointer}
.projects-hub .project-blog__filters button[aria-pressed=true]{background:var(--d-ink);color:var(--d-paper)}
.projects-hub :is(.project-blog__filters button,.projects-hub__filter-select select):focus-visible{outline:3px solid var(--d-ink);outline-offset:4px}
.projects-hub__grid{display:grid;gap:2.5rem var(--hub-gap);align-items:stretch}
.projects-hub__card{display:flex;flex-direction:column;min-width:0}
.projects-hub__card-link>picture{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-s)}
.projects-hub__card-link>picture img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.projects-hub__card-link{display:flex;flex-direction:column;flex:1;min-width:0;color:inherit;text-decoration:none;border-radius:var(--radius-s)}
.projects-hub__card-link:is(:hover,:visited){color:inherit;text-decoration:none}
.projects-hub__card-link:focus-visible,.projects-hub__collage .project-gallery__project-link:focus-visible{outline:3px solid var(--d-ink);outline-offset:5px}
.projects-hub__card-copy{display:flex;flex-direction:column;flex:1;padding-top:1rem;min-width:0}
.projects-hub__card h3{font:500 clamp(1.75rem,1.4rem + .75vw,2.125rem)/1.1 var(--font-serif);letter-spacing:-.025em;margin:0}
.projects-hub .projects-hub__subtitle{font:500 clamp(1.25rem,1.1rem + .3vw,1.5rem)/1.25 var(--font-serif);margin:.25rem 0 .5rem}
.projects-hub .projects-hub__meta{margin:0 0 1.25rem}
.projects-hub .projects-hub__teaser{margin:0 0 1.5rem;max-inline-size:none}
.projects-hub__card .d-button{margin-top:auto;align-self:flex-start}
.e10 .projects-hub .projects-hub__voices{background:transparent;color:var(--d-ink);padding-block:0 var(--hub-section)}
.projects-hub__voices>.d-wrap{border-top:1px solid var(--d-sage);padding-top:var(--hub-section)}
.projects-hub .projects-hub__voices h2,.projects-hub__cta h2{font:650 clamp(2rem,1.1rem + 3vw,4rem)/1.12 var(--font-sans);letter-spacing:-.05em;margin:0 0 1.5rem}
.projects-hub .customer-voices__grid{gap:var(--hub-gap);grid-template-columns:minmax(0,1fr)}
.e10 .projects-hub .customer-voice{background:var(--d-sage);color:var(--d-ink);border:0;border-radius:var(--radius-m);padding:clamp(1.25rem,1rem + .8vw,2rem);gap:1rem}
.e10 .projects-hub .customer-voice blockquote{font:400 var(--hub-body)/1.55 var(--font-sans)}
.projects-hub .customer-voice__quote{display:block;font:700 5rem/.8 Georgia,serif;height:3rem;margin-bottom:1rem}
.projects-hub .customer-voice blockquote>p{margin:0}
.projects-hub .customer-voice details{margin-top:.75rem;font:400 var(--hub-body)/1.55 var(--font-sans)}
.projects-hub .customer-voice details p{margin-top:1.1em;margin-bottom:0}
.projects-hub .customer-voice summary{font-size:var(--hub-body);list-style:none}
.projects-hub .customer-voice summary::-webkit-details-marker{display:none}
.projects-hub .customer-voice figcaption{border-color:color-mix(in srgb,var(--d-ink) 30%,transparent);font:400 var(--hub-body)/1.55 var(--font-sans);grid-template-rows:repeat(2,minmax(1.55em,auto));padding-top:1rem}
.projects-hub .customer-voice figcaption strong{font-weight:650}
.projects-hub .projects-hub__cta{background:var(--d-sage);text-align:center;padding-block:var(--hub-section)}
.projects-hub__cta p{margin-inline:auto}
.projects-hub__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2rem}
.projects-hub .d-button{font-size:var(--hub-body);padding:.8rem 1.5rem;border-radius:var(--radius-s)}
@media(min-width:48rem){
 .projects-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .projects-hub__filter-select{text-align:left}
}
@media(min-width:64rem){
 .projects-hub__hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem)}
 .projects-hub__grid,.projects-hub .customer-voices__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
