/* Category identity is shared by the index, cards, featured work and case studies. */
:root{--category-ink:#343037;--category-accent:#343037;--category-soft:#f0ece7;--category-line:#d5cec7}
.group-academic,.category-academic,.project-type-academic{--category-ink:#5c3a9c;--category-accent:#855ede;--category-soft:#f1eafa;--category-line:#d9c9ef}
.group-personal,.category-personal,.project-type-personal{--category-ink:#343037;--category-accent:#343037;--category-soft:#f0ece7;--category-line:#d5cec7}
.group-hackathon,.category-hackathon,.project-type-hackathon{--category-ink:#a43224;--category-accent:#ff4d3a;--category-soft:#fcebe5;--category-line:#f1c7bb}
.group-freelance,.category-freelance,.project-type-freelance{--category-ink:#285d50;--category-accent:#397b69;--category-soft:#eaf2ec;--category-line:#bfd7c8}
.group-other,.category-other,.project-type-other{--category-ink:#405a75;--category-accent:#617e9b;--category-soft:#ecf0f5;--category-line:#cbd6e2}
.catalog-intro{padding-block:30px;grid-template-columns:1.3fr 1fr;gap:60px}
.catalog-intro h1{font-size:clamp(2.9rem,4.2vw,4rem);line-height:1;margin-top:18px}
.catalog-big-count{font-size:4.7rem}
.catalog-intro-side{max-width:400px}
.catalog-intro-side>p:last-child{font-size:1rem;line-height:1.65}
.catalog-count-label{font-size:.75rem;margin:10px 0 16px}
.catalog-filters{display:block;overflow:visible;padding:0;max-width:none}
.category-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.catalog-filters .category-tab{display:flex;flex-direction:column;align-items:stretch;gap:16px;min-width:0;text-align:left;border-radius:3px 3px 0 0;border:1px solid var(--category-line);border-bottom:3px solid var(--category-accent);padding:15px 17px;background:var(--category-soft);color:var(--category-ink);white-space:normal;transition:background .2s,color .2s}
.category-tab-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.catalog-filters .category-tab>span{font-size:1rem;opacity:1}
.category-tab-index{font-family:var(--display);font-size:.75rem;opacity:.7}
.category-tab-count{font:500 1.7rem/1 var(--display);letter-spacing:-.05em}
.category-tab-label{font-weight:600;line-height:1.25}
.catalog-filters .category-tab:hover{background:white;color:var(--category-ink)}
.catalog-filters .category-tab[aria-pressed="true"]{background:var(--category-ink);color:white;border-color:var(--category-ink)}
.catalog-toolbar{padding-block:15px;border-top:0;gap:20px;flex-wrap:nowrap;align-items:center}
.catalog-filters .all-projects-filter{font-size:.875rem;padding:9px 14px;border-radius:3px;border:1px solid var(--line);color:var(--ink)}
.catalog-filters .all-projects-filter[aria-pressed="true"]{background:var(--ink);color:white}
.catalog-filters .all-projects-filter>span{font-size:.75rem}
.catalog-grouped-label{font-size:.875rem;color:var(--muted);margin-right:auto}
.project-search{max-width:290px;min-width:210px;flex:0 1 290px;padding:5px 0}
.project-search input{font-size:.875rem}
.catalog-results-line{font-size:.875rem;padding-block:18px}
.catalog-collections{display:flex;flex-direction:column;gap:68px}
.catalog-group{display:grid;grid-template-columns:200px minmax(0,1fr);gap:35px;padding-top:22px;border-top:3px solid var(--category-accent)}
.catalog-group-heading{align-self:start;position:sticky;top:24px;color:var(--category-ink)}
.group-index{font:.875rem var(--display)}
.catalog-group-heading h2{font-size:2.35rem;letter-spacing:-.055em;line-height:1.05;margin-top:24px;overflow-wrap:anywhere}
.catalog-group-heading p{color:var(--muted);font-size:.875rem;line-height:1.75;margin-top:18px}
.group-count{display:inline-block;font-size:.875rem;font-weight:500;padding:8px 12px;background:var(--category-soft);border:1px solid var(--category-line);border-radius:3px;margin-top:24px}
.catalog-grid{gap:18px;align-content:start}
.catalog-card,.catalog-card.group-academic,.catalog-card.group-personal,.catalog-card.group-hackathon,.catalog-card.group-freelance,.catalog-card.group-other{background:var(--category-soft);border-color:var(--category-line);border-radius:3px;box-shadow:none}
.catalog-card[data-position]{grid-column:span 6}
.catalog-card.single-card{grid-column:1/-1}
.catalog-card:hover,.catalog-card.group-academic:hover{border-color:var(--category-ink);transform:translateY(-3px)}
.catalog-card-link{display:flex;padding:0;min-height:0}
.catalog-card-content{display:flex;flex-direction:column;padding:25px;min-height:305px;height:100%}
.catalog-card-meta{align-items:center;font-size:.75rem;gap:12px}
.category-chip,.group-academic .category-chip{color:var(--category-ink);font-size:.75rem;font-weight:600;border:1px solid var(--category-line);padding:5px 8px;border-radius:3px;line-height:1.25}
.category-chip:before{display:none}
.catalog-card h3{font-size:2rem;letter-spacing:-.045em;line-height:1.1;margin:26px 0 15px;max-width:100%;overflow-wrap:anywhere}
.catalog-summary{font-size:1rem;line-height:1.7}
.catalog-context{font-size:.875rem;line-height:1.6;margin-top:15px}
.catalog-card-foot,.catalog-context+.catalog-card-foot{margin-top:auto;padding-top:18px;border-color:var(--category-line)}
.catalog-card-content>p:last-of-type{margin-bottom:22px}
.catalog-card-foot>span:first-child{font-size:.75rem}
.catalog-open{border-color:var(--category-line);color:var(--category-ink)}
.catalog-card:hover .catalog-open,.catalog-card.group-academic:hover .catalog-open{background:var(--category-ink);border-color:var(--category-ink);color:white}
.catalog-card.academic-card{grid-column:1/-1}
.academic-card .catalog-card-link{display:grid;grid-template-columns:190px minmax(0,1fr)}
.partner-signature{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:17px;min-width:0}
.partner-label{font-size:.75rem;line-height:1.5;letter-spacing:.055em;text-transform:uppercase}
.partner-signature strong{font:500 2rem/1.05 var(--display);letter-spacing:-.05em;overflow-wrap:anywhere}
.partner-institution{font-size:.75rem;line-height:1.6}
.academic-card .partner-signature{background:#5c3a9c;color:white;padding:26px 22px;justify-content:space-between}
.academic-card .partner-signature strong{margin-block:15px}
.academic-card .partner-institution{opacity:.8}
.academic-card .catalog-card-content{min-height:260px;padding:24px 28px}
.academic-card h3{font-size:2rem;margin-top:21px}
.feature-kicker{font-size:.875rem;font-weight:500}
.category-personal .feature-kicker>span:first-child:before{background:#e8dfd7}
.category-freelance.tone-red{background:var(--category-soft)}
.category-freelance .feature-kicker>span:first-child:before{background:var(--category-accent)}
.category-academic .feature-card-link{padding-top:0}
.feature-card .partner-signature{margin:20px -32px 0;padding:20px 32px;background:#5c3a9c;color:white;gap:9px;display:grid;grid-template-columns:1fr auto}
.feature-card .partner-signature .partner-label{grid-column:1/-1}
.feature-card .partner-signature strong{font-size:2rem}
.feature-card .partner-institution{max-width:110px;text-align:right}
.category-academic .feature-kicker{padding-top:25px}
.feature-card .partner-signature+h3{margin-top:24px}
.project-context{background:var(--category-soft);border:1px solid var(--category-line);border-top:4px solid var(--category-accent)}
.group-academic .project-context{background:var(--category-soft)}
.project-context .partner-signature{color:var(--category-ink)}
.project-context dt{font-size:.875rem}
.project-type-freelance .case-name{color:var(--category-ink)}
.project-type-freelance .project-visual.red{background:var(--category-soft)}
.case-header>.partner-signature{padding:23px 28px;margin-top:26px;background:var(--category-soft);border-left:4px solid var(--category-accent);color:var(--category-ink);gap:9px}
.documentation-link{margin-top:30px;font-size:.875rem}
@media(max-width:1100px){.catalog-group{grid-template-columns:170px minmax(0,1fr);gap:26px}.catalog-group-heading h2{font-size:2rem}.category-tab-label{font-size:.875rem}.catalog-card-content{padding:22px}.academic-card .catalog-card-link{grid-template-columns:155px minmax(0,1fr)}.academic-card .partner-signature{padding:24px 18px}.partner-signature strong{font-size:1.8rem}.feature-card .partner-signature{margin-inline:-25px;padding-inline:25px}.project-search{flex-basis:260px}}
@media(max-width:850px){.catalog-group{display:block}.catalog-group-heading{position:static;display:grid;grid-template-columns:1fr auto;gap:10px 20px;margin-bottom:25px}.group-index{display:none}.catalog-group-heading h2{margin:0}.catalog-group-heading p{grid-column:1;grid-row:2;margin:0;max-width:480px}.group-count{grid-column:2;grid-row:1/3;align-self:center;margin:0}.category-tabs{gap:5px}.catalog-filters .category-tab{padding:12px 10px}.category-tab-count{font-size:1.5rem}.catalog-grouped-label{display:none}.catalog-toolbar{justify-content:space-between}.catalog-intro{gap:35px}.catalog-intro-side>p:last-child{font-size:.95rem}.catalog-big-count{font-size:4rem}}
@media(max-width:560px){.catalog-intro{padding-block:26px;display:block}.catalog-intro h1{font-size:3rem}.catalog-intro .title-line{display:inline}.catalog-intro .title-line:not(:last-child):after{content:' '}.catalog-intro-side{margin-top:20px;max-width:100%}.catalog-intro-side>p:last-child{font-size:1rem;max-width:100%}.catalog-big-count,.catalog-count-label{display:none}.catalog-filters{overflow:visible;padding:0}.category-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-tabs>.category-tab:last-child:nth-child(odd){grid-column:1/-1}.catalog-filters .category-tab{padding:12px 15px;gap:12px}.catalog-filters .category-tab>span{font-size:.875rem}.category-tab-top .category-tab-index{font-size:.75rem}.category-tab-count{font-size:1.4rem}.catalog-toolbar{padding-block:14px;gap:15px;flex-wrap:nowrap}.catalog-filters .all-projects-filter{padding:9px 11px;gap:7px}.project-search{min-width:0;max-width:none;flex:1}.project-search svg{flex-shrink:0}.project-search input{font-size:.875rem}.catalog-results-line{padding-block:16px}.catalog-collections{gap:45px}.catalog-group{padding-top:20px}.catalog-group-heading{grid-template-columns:1fr;gap:12px}.catalog-group-heading h2{font-size:2rem}.catalog-group-heading p{grid-row:auto;font-size:.875rem}.group-count{grid-column:1;grid-row:auto;justify-self:start;font-size:.75rem;padding:6px 10px}.catalog-card-content{padding:24px;min-height:295px}.catalog-card h3{font-size:2rem}.academic-card .catalog-card-link{display:flex}.academic-card .partner-signature{display:grid;grid-template-columns:1fr auto;padding:18px 22px;gap:10px}.academic-card .partner-label{grid-column:1/-1;font-size:.75rem}.academic-card .partner-signature strong{margin:0;font-size:1.7rem}.academic-card .partner-institution{text-align:right;max-width:105px;font-size:.75rem}.academic-card .catalog-card-content{padding:23px;min-height:0}.academic-card h3{font-size:2rem}.academic-card .catalog-summary{font-size:1rem}.feature-card .partner-signature{margin-inline:-25px;padding-inline:25px}.category-academic .feature-card-link{padding-top:0}.case-header>.partner-signature{padding:20px}.project-context{padding:24px}.partner-signature strong{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.catalog-filters .category-tab{transition:none}}
