.projects-page{background:#f3eee5;color:var(--i)}
.projects-hero{padding:clamp(90px,12vw,155px) 8% clamp(82px,10vw,130px);background:linear-gradient(118deg,#21052f 0%,var(--color-primary) 68%,#62217e 100%);color:#fff}
.projects-hero h1{font-size:clamp(58px,8vw,110px)}
.projects-hero>p:last-child{max-width:570px;margin:30px 0 0;color:#e6d9ec;font-size:18px}
.projects-section{padding:clamp(70px,9vw,115px) 8%}
.projects-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}
.projects-heading h2{font-size:clamp(38px,5vw,70px)}
.projects-heading>p{max-width:220px;color:var(--m);font-size:14px}
.projects-toolbar{display:grid;grid-template-columns:auto minmax(220px,520px) 1fr;align-items:center;gap:18px;margin-bottom:34px;padding:17px 0;border-block:1px solid var(--l)}
.projects-toolbar label{font-size:13px;font-weight:700;color:var(--p)}
.projects-toolbar input{width:100%;padding:12px 14px;border:1px solid #c5b8c7;background:#fff;color:var(--i);font:inherit}
.projects-toolbar input:focus-visible{outline:2px solid var(--p);outline-offset:2px}
.projects-toolbar span{justify-self:end;font-size:12px;color:var(--m)}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.project-card{background:#fff;border-top:3px solid var(--p);min-width:0;display:flex;flex-direction:column;box-shadow:0 12px 30px #2d073f0c;transition:transform .2s ease,box-shadow .2s ease}
.project-card:hover,.project-card.is-featured{transform:translateY(-4px);box-shadow:0 20px 35px #2d073f1c}
.project-media{height:250px;overflow:hidden;background:var(--color-surface-subtle)}
.project-media img{width:100%;height:100%;object-fit:cover}
.project-media-logo{display:grid;place-items:center;background:var(--color-nav-surface);padding:28px}
.project-media-logo img,.project-media-logo .project-image{width:100%;height:100%;object-fit:contain;object-position:center!important}
.project-body{padding:24px;display:flex;flex-direction:column;gap:13px;flex:1}
.project-category{margin:0;color:var(--p);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.project-body h3{font-size:clamp(23px,2vw,30px);overflow-wrap:anywhere}
.project-description,.candidate-description{margin:0;color:#5f5761;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.project-candidate{display:flex;align-items:center;gap:12px;padding-top:13px;border-top:1px solid var(--l)}
.project-candidate img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.project-candidate strong{display:block;font-size:13px}
.project-candidate small,.project-institution,.project-admit{display:block;color:var(--m);font-size:12px;overflow-wrap:anywhere}
.project-candidate-copy{min-width:0}
.project-admit{margin:0}
.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:10px}
.project-actions a,.project-actions button{border:0;background:none;padding:8px 0;color:var(--p);font:700 13px var(--s);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.project-actions .project-share{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--p);border-radius:50%;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.project-share svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.project-actions .project-share:hover,.project-actions .project-share[aria-expanded=true]{background:var(--p);color:#fff;transform:translateY(-2px)}
.project-actions :is(a,button):focus-visible,.share-options a:focus-visible,.share-options button:focus-visible{outline:2px solid var(--p);outline-offset:3px}
.share-options{display:flex;flex-wrap:wrap;gap:7px;padding-top:2px}
.share-options[hidden]{display:none}
.share-options a,.share-options button{border:1px solid #cbbbd3;background:#faf6fb;color:var(--p);padding:7px 9px;font:700 11px var(--s);text-decoration:none;cursor:pointer}
.projects-grid>.empty-state{grid-column:1/-1}
@media(max-width:950px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.projects-heading{display:block}.projects-heading>p{margin-top:17px}.projects-toolbar{grid-template-columns:1fr;gap:8px}.projects-toolbar span{justify-self:start}.projects-grid{grid-template-columns:1fr}.project-media{height:220px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-actions .project-share{transition:none}}
