.projects-archive-page { background:var(--color-background); }
.projects-archive-page main { overflow:clip; }
.projects-archive-page .site-menu>li.is-current>.menu-item__row>a { color:var(--color-primary); }
.projects-archive-page [hidden] { display:none!important; }
.archive-shell { width:min(calc(100% - 12vw),76rem); margin-inline:auto; }

.projects-archive-hero { position:relative; padding:clamp(10rem,16vh,12rem) 0 clamp(5rem,8vw,7rem); overflow:hidden; background:radial-gradient(circle at 83% 22%,rgba(52,42,255,.1),transparent 29%),radial-gradient(circle at 10% 90%,rgba(235,221,47,.24),transparent 25%),#fbfbfe; }
.projects-archive-hero::after { position:absolute; right:-8rem; bottom:-13rem; width:29rem; height:29rem; content:""; border:1px solid rgba(52,42,255,.13); border-radius:50%; pointer-events:none; }
.archive-shape { position:absolute; pointer-events:none; }
.archive-shape--blue { top:35%; right:8%; width:8rem; height:8rem; background:rgba(52,42,255,.07); border:1px solid rgba(52,42,255,.1); border-radius:2rem 5rem 3rem 5rem; transform:rotate(18deg); }
.archive-shape--yellow { bottom:-3rem; left:5%; width:10rem; height:10rem; background:rgba(235,221,47,.25); border-radius:50%; }
.projects-archive-hero__inner { position:relative; z-index:1; }
.projects-archive-hero .visual-label { margin-bottom:1.4rem; }
.projects-archive-hero h1 { max-width:13ch; font-size:clamp(3.8rem,7vw,6.8rem); line-height:.92; letter-spacing:-.06em; }
.projects-archive-hero h1+p { max-width:49rem; margin-top:1.6rem; color:rgba(23,23,74,.72); font-size:clamp(1.08rem,1.6vw,1.35rem); line-height:1.65; }

.projects-browser { position:relative; padding:clamp(4.5rem,8vw,7.5rem) 0 clamp(7rem,11vw,10rem); background:linear-gradient(180deg,#fff 0%,rgba(52,42,255,.025) 100%); }
.project-filters { margin-bottom:clamp(3.5rem,6vw,5.5rem); padding:1.2rem 1.35rem; background:rgba(255,255,255,.86); border:1px solid rgba(52,42,255,.13); border-radius:1.5rem; box-shadow:0 .75rem 2.4rem rgba(23,23,74,.045); backdrop-filter:blur(8px); }
.project-filters__header { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:0 .25rem 1rem; border-bottom:1px solid rgba(52,42,255,.1); }
.project-filters__header>div { display:flex; align-items:center; gap:.8rem; }
.project-filters__header span { font-weight:600; }
.project-filters__header strong { padding:.3rem .55rem; color:var(--color-primary); background:rgba(52,42,255,.07); border-radius:999px; font-size:.7rem; }
.project-filters__header button { color:var(--color-primary); background:transparent; border:0; font-size:.78rem; font-weight:600; cursor:pointer; }
.project-filter-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; padding-top:1rem; }
.project-filter-group { min-width:0; border:0; }
.project-filter-group legend { margin-bottom:.65rem; color:rgba(23,23,74,.64); font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.project-filter-options { display:flex; flex-wrap:wrap; gap:.4rem; }
.project-filter-chip { position:relative; }
.project-filter-chip input { position:absolute; opacity:0; pointer-events:none; }
.project-filter-chip span { display:block; padding:.52rem .72rem; color:var(--color-text); background:rgba(52,42,255,.035); border:1px solid rgba(52,42,255,.12); border-radius:999px; font-size:.75rem; font-weight:500; line-height:1; cursor:pointer; transition:color .18s,background-color .18s,border-color .18s; }
.project-filter-chip input:checked+span { color:#fff; background:var(--color-primary); border-color:var(--color-primary); }
.project-filter-chip input:focus-visible+span { outline:3px solid rgba(52,42,255,.22); outline-offset:2px; }

.projects-archive-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(2.5rem,5vw,5rem) clamp(1.2rem,3vw,2.5rem); align-items:start; }
.archive-project-card { grid-column:span 4; min-width:0; }
.archive-project-card--featured { grid-column:span 8; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr); align-items:end; gap:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(52,42,255,.14); }
.archive-project-card:nth-child(4n+3):not(.archive-project-card--featured) { grid-column:span 5; }
.archive-project-card:nth-child(4n+4):not(.archive-project-card--featured) { grid-column:span 3; }
.archive-project-card__media { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:rgba(52,42,255,.06); border-radius:1.4rem 3.5rem 1.4rem 3.5rem; }
.archive-project-card--featured .archive-project-card__media { aspect-ratio:16/10; }
.archive-project-card:nth-child(3n) .archive-project-card__media { aspect-ratio:4/5; border-radius:3.5rem 1.4rem 3.5rem 1.4rem; }
.archive-project-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.archive-project-card:hover .archive-project-card__media img { transform:scale(1.025); }
.archive-project-card__status { position:absolute; top:.8rem; left:.8rem; padding:.4rem .6rem; color:var(--color-text); background:rgba(235,221,47,.92); border-radius:999px; font-size:.68rem; font-weight:600; backdrop-filter:blur(5px); }
.archive-project-card__body { padding-top:1.25rem; }
.archive-project-card--featured .archive-project-card__body { padding:0; }
.archive-project-card__meta { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; color:rgba(23,23,74,.58); font-size:.72rem; font-weight:500; }
.archive-project-card__meta span+span::before { margin-right:.45rem; content:"·"; }
.archive-project-card h2 { margin-top:.65rem; font-size:clamp(1.7rem,2.8vw,2.7rem); line-height:1; letter-spacing:-.035em; }
.archive-project-card--featured h2 { font-size:clamp(2.6rem,4.5vw,4.4rem); }
.archive-project-card h2 a { color:var(--color-text); text-decoration:none; }
.archive-project-card__excerpt { margin-top:.85rem; color:rgba(23,23,74,.7); line-height:1.65; }
.archive-project-card__topics { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:1rem; list-style:none; }
.archive-project-card__topics li { padding:.34rem .55rem; color:var(--color-primary); background:rgba(52,42,255,.06); border-radius:999px; font-size:.67rem; font-weight:600; }
.archive-project-card__link { display:inline-flex; align-items:center; gap:.5rem; margin-top:1.2rem; color:var(--color-primary); font-size:.82rem; font-weight:600; text-decoration:none; }
.archive-project-card__link span { transition:transform .2s; }
.archive-project-card__link:hover span { transform:translateX(3px); }
.archive-project-card[hidden] { display:none!important; }

.projects-empty { padding:5rem 1rem; text-align:center; }
.projects-empty h2 { font-size:clamp(2rem,4vw,3.2rem); }
.projects-empty p { margin:.8rem 0 1.4rem; color:rgba(23,23,74,.67); }
.projects-empty button,.projects-load-more { padding:.85rem 1.1rem; color:#fff; background:var(--color-primary); border:0; border-radius:999px; font-weight:600; cursor:pointer; }
.projects-pagination { display:flex; align-items:center; justify-content:center; gap:2rem; margin-top:clamp(4rem,7vw,6.5rem); padding-top:1.5rem; border-top:1px solid rgba(52,42,255,.13); }
.projects-pagination nav { display:flex; align-items:center; gap:.35rem; }
.projects-pagination nav a,.projects-pagination nav span { display:grid; width:2.4rem; height:2.4rem; place-items:center; color:var(--color-text); border-radius:50%; font-size:.8rem; font-weight:600; text-decoration:none; }
.projects-pagination nav span { color:#fff; background:var(--color-primary); }

@media (max-width:1024px) {
  .archive-shell { width:min(calc(100% - 3rem),76rem); }
  .project-filter-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-filter-group:last-child { grid-column:1/-1; }
  .archive-project-card,.archive-project-card:nth-child(4n+3):not(.archive-project-card--featured),.archive-project-card:nth-child(4n+4):not(.archive-project-card--featured) { grid-column:span 6; }
  .archive-project-card--featured { grid-column:1/-1; }
}

@media (max-width:700px) {
  .archive-shell { width:calc(100% - 2.5rem); }
  .projects-archive-hero { padding:8rem 0 4.5rem; }
  .projects-archive-hero h1 { font-size:clamp(3.2rem,14vw,4.6rem); }
  .archive-shape--blue { right:-3rem; }
  .project-filters { padding:1rem; }
  .project-filters__header { align-items:flex-start; }
  .project-filters__header>div { display:grid; gap:.35rem; }
  .project-filter-groups { grid-template-columns:1fr; gap:0; padding-top:.25rem; }
  .project-filter-group,.project-filter-group:last-child { grid-column:auto; padding:.85rem 0; }
  .project-filter-group+.project-filter-group { border-top:1px solid rgba(52,42,255,.09); }
  .project-filter-options { flex-wrap:nowrap; margin-right:-1rem; padding-right:1rem; overflow-x:auto; scrollbar-width:none; }
  .project-filter-options::-webkit-scrollbar { display:none; }
  .project-filter-chip { flex:0 0 auto; }
  .projects-archive-grid { grid-template-columns:1fr; gap:3.5rem; }
  .archive-project-card,.archive-project-card--featured,.archive-project-card:nth-child(4n+3):not(.archive-project-card--featured),.archive-project-card:nth-child(4n+4):not(.archive-project-card--featured) { display:block; grid-column:auto; padding-bottom:0; border-bottom:0; }
  .archive-project-card__media,.archive-project-card--featured .archive-project-card__media,.archive-project-card:nth-child(3n) .archive-project-card__media { aspect-ratio:4/3; border-radius:1.3rem 2.8rem 1.3rem 2.8rem; }
  .archive-project-card--featured h2 { font-size:clamp(2.2rem,10vw,3.2rem); }
  .projects-pagination { justify-content:center; }
  .projects-pagination nav { display:none; }
  .projects-load-more { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .archive-project-card__media img,.archive-project-card__link span { transition:none; }
  .archive-project-card:hover .archive-project-card__media img,.archive-project-card__link:hover span { transform:none; }
}

/* Dynamic WordPress archive variants. */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.projects-archive-hero{padding:clamp(9rem,14vh,11rem) 0 clamp(4.5rem,7vw,6rem)}
.projects-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,5vw,5rem) clamp(1.2rem,3vw,2.5rem)}
.archive-project-card,.archive-project-card:nth-child(4n+3):not(.archive-project-card--featured),.archive-project-card:nth-child(4n+4):not(.archive-project-card--featured){grid-column:auto}
.archive-project-card__media,.archive-project-card:nth-child(3n) .archive-project-card__media{aspect-ratio:4/3;border-radius:1.4rem 3.5rem 1.4rem 3.5rem}
.archive-project-card__media--fallback{display:grid;place-items:center;padding:2rem;color:var(--color-primary);background:radial-gradient(circle at 85% 15%,rgba(235,221,47,.35),transparent 35%),rgba(52,42,255,.06);text-decoration:none}.archive-project-card__fallback-title{max-width:14ch;font-family:var(--font-heading);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1;text-align:center}
.archive-project-card__logo{position:absolute;right:.8rem;bottom:.8rem;display:grid;width:5.5rem;height:3.6rem;place-items:center;padding:.5rem;background:rgba(255,255,255,.92);border:1px solid rgba(52,42,255,.12);border-radius:.8rem}.archive-project-card__logo img{width:100%;height:100%;object-fit:contain}.archive-project-card:hover .archive-project-card__logo img{transform:none}
.projects-empty--archive{display:block!important;padding-block:clamp(5rem,10vw,9rem)}
.project-filter-chip span{display:flex;min-height:2.5rem;align-items:center}
@media(max-width:1024px){.projects-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.projects-archive-grid{grid-template-columns:1fr}.project-filter-options{flex-wrap:wrap;margin-right:0;padding-right:0;overflow:visible}.archive-project-card__media,.archive-project-card:nth-child(3n) .archive-project-card__media{aspect-ratio:4/3}}
