.projects-intro{padding-top:165px;min-height:80svh;}
.projects-back{display:inline-block;font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:50px;}
.projects-back:hover{color:var(--blue);}
.projects-intro h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(64px,9vw,140px);font-weight:500;line-height:1;letter-spacing:-.075em;margin:0;}
.projects-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(35px,5vw,85px);align-items:start;}
.projects-sidebar{position:sticky;top:110px;max-height:calc(100dvh - 130px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:12px;}
.projects-sidebar>.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:18px;}
.projects-summary{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px;font-size:11px;letter-spacing:1px;color:var(--muted);}
.projects-summary #category-label{color:var(--ink);}
.projects-gallery{display:grid;grid-template-columns:repeat(var(--project-columns,2),minmax(0,1fr));gap:40px 28px;}
.projects-summary-actions{display:flex;align-items:center;gap:18px;flex:none;}
.projects-summary-label{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0;}
.projects-summary-label #project-count{white-space:nowrap;}
.projects-summary-label #category-label,.projects-summary-label #project-count{display:inline-block;}
.projects-summary{align-items:center;gap:15px;}
.project-grid-toggle{display:flex;align-items:center;gap:7px;padding:8px 0 8px 10px;background:none;border:0;color:var(--muted);cursor:pointer;font-size:11px;}
.project-grid-toggle svg{width:22px;height:22px;}
.project-grid-icon-window{position:relative;display:block;width:22px;height:22px;overflow:hidden;}
.project-grid-icon-window svg{position:absolute;inset:0;}
.project-grid-digit{display:inline-block;height:1em;width:1ch;overflow:hidden;line-height:1;font-variant-numeric:tabular-nums;}
.project-grid-reel{display:flex;flex-direction:column;transition:transform 600ms cubic-bezier(0.22,1,0.36,1);}
.project-grid-reel>span{height:1em;flex:none;line-height:1;}
@media(prefers-reduced-motion:reduce){.project-grid-reel{transition:none;}}
.project-grid-toggle:hover,.project-grid-toggle:focus-visible{color:var(--blue);border-color:var(--blue);}
.projects-gallery .project-image{aspect-ratio:4/3;border:0;border-radius:12px;}
.projects-gallery [data-project="poster"] img{object-fit:contain;background:#d5cbbb;}
.projects-gallery .project-caption{align-items:flex-start;flex-direction:column;gap:10px;padding:20px 0;}
.projects-gallery .project-caption h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(16px,calc(35px - var(--project-columns,2) * 5px),25px);line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere;}
.projects-gallery .project-caption>span{font-size:9px;}
.projects-page [hidden]{display:none!important;}
.projects-empty{padding:65px 20px;text-align:center;border:1px solid var(--line);border-radius:12px;}
.projects-empty>span{display:block;font-size:60px;margin-bottom:25px;}
.projects-empty h2{font-size:clamp(28px,3vw,44px);}
.projects-empty p{color:var(--muted);line-height:1.7;font-size:14px;}
.projects-empty button{background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;}
@media(max-width:1000px){.projects-layout{grid-template-columns:245px minmax(0,1fr);gap:30px;}.projects-gallery{gap:30px 16px;}.projects-gallery .project-caption h3{font-size:clamp(15px,calc(30px - var(--project-columns,2) * 5px),20px);}}
@media(max-width:700px){.projects-intro{padding-top:135px;}.projects-back{margin-bottom:35px;}.projects-layout{grid-template-columns:1fr;gap:35px;}.projects-sidebar{position:static;}.projects-sidebar .line-sidebar__list{width:100%;}.projects-sidebar .line-sidebar__label{font-size:1rem;}.projects-gallery{grid-template-columns:1fr;gap:30px;}.projects-intro .section-heading{margin-bottom:40px;}}
@media(max-width:700px){.projects-sidebar{max-height:none;overflow:visible;}.projects-sidebar .branched-menu{max-width:100%;width:100%;}}
@media(max-width:700px){#project-grid-control{display:none;}}

.projects-sidebar::-webkit-scrollbar{display:none;width:0;height:0;}

/* Paint the grid above the difference cursor so its blue stays unchanged. */
:root:not([data-theme="light"]) #project-grid-control{position:relative;z-index:10002;isolation:isolate;}

/* Keep the loading blur above the grid control and cursor layers. */
.projects-page~.page-loader,body:has(.projects-page)>.page-loader{z-index:10020;}

.projects-summary #subcategory-label{display:inline-block;color:color-mix(in srgb,var(--ink) 72%,var(--bg));}

.projects-summary #category-label{color:var(--ink);font-weight:600;}
.projects-summary #project-count{color:color-mix(in srgb,var(--ink) 50%,var(--bg));}

/* Preserve the filter colors over the difference cursor only in the dark theme. */
:root:not([data-theme="light"]) .projects-sidebar{z-index:10002;isolation:isolate;}

.projects-gallery .project-image img{transition:filter .4s ease;}
.projects-gallery .project:hover img{filter:none;}
.projects-gallery .project-image.is-magnetic img{filter:brightness(.84);}

@media(max-width:700px){.projects-gallery .project-caption h3{font-size:21px;}}

.project-filters-toggle{display:none;}
@media(max-width:700px){
  .projects-sidebar>.eyebrow{display:none;}
  .projects-sidebar{padding-bottom:0;}
  .projects-layout{gap:24px;}
  .project-filters-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);text-align:left;cursor:pointer;}
  .project-filters-toggle[aria-expanded="true"]{border-color:var(--blue);}
  .project-filters-toggle:active{background:color-mix(in srgb,var(--blue) 10%,var(--bg));}
  .project-filters-chevron{margin-left:auto;transition:transform .2s ease;}
  .project-filters-toggle[aria-expanded="true"] .project-filters-chevron{transform:rotate(180deg);}
  .project-filters-active{padding:4px 8px;border-radius:999px;background:var(--blue);color:#fff;font-size:10px;}
  #project-filters-panel{padding:20px 4px 0;}
}
@media(prefers-reduced-motion:reduce){.project-filters-chevron{transition:none;}}
