/* Project carousel: desktop compact cards, mobile paired vertical slides. */
.projects-section{background:var(--paper);padding-top:28px}
/* Keep every homepage section title visually consistent with PROJECT. */
body.home .catalog-section>.section-heading h2,
.catalog-section>.section-heading h2{font-size:clamp(18px,1.45vw,22px);font-weight:500;line-height:1;letter-spacing:.01em;text-transform:uppercase}
.projects-section>.section-heading{display:none}
.projects-section::before{content:"PROJECT";display:block;margin:0 0 14px;padding:0;font-size:clamp(18px,1.45vw,22px);font-weight:500;line-height:1;letter-spacing:.01em}
@media (min-width:701px){
  .projects-section{overflow:hidden}
  .projects-section .project-grid{position:relative;display:flex;grid-template-columns:none;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;background:transparent}
  .projects-section .project-grid::-webkit-scrollbar{display:none}
  .projects-section .project-card{flex:0 0 clamp(245px,22vw,340px);width:clamp(245px,22vw,340px);min-height:0;height:clamp(310px,36.7vw,435px);scroll-snap-align:start;background:var(--paper)}
  .projects-section .project-card>img{object-fit:cover}
  .projects-section .project-card>div{inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 20px;background:linear-gradient(to bottom,rgba(10,10,8,.08) 30%,rgba(10,10,8,.82) 100%)}
  .projects-section .project-card h3{font-size:clamp(20px,1.7vw,26px);line-height:1.05}
  .projects-section .project-card>div>p:not(.eyebrow){display:none}
  .projects-section .project-carousel-shell{position:relative;background:var(--paper)}
  .projects-section .project-carousel-nav{position:absolute;z-index:4;top:50%;width:48px;height:48px;margin-top:-24px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(20,20,18,.55);color:#fff;display:grid;place-items:center;font:300 27px/1 Arial,sans-serif;cursor:pointer;backdrop-filter:blur(4px);transition:opacity .2s,background .2s}
  .projects-section .project-carousel-nav:hover{background:rgba(20,20,18,.82)}
  .projects-section .project-carousel-nav.previous{left:16px}
  .projects-section .project-carousel-nav.next{right:16px}
  .projects-section .project-carousel-nav:disabled{opacity:0;pointer-events:none}
  .projects-section .project-carousel-dots{display:none}
}
@media (max-width:700px){
  .projects-section{padding-top:22px}
  .catalog-section>.section-heading h2{font-size:18px}
  .projects-section::before{margin-bottom:10px;font-size:18px}
  .projects-section .project-carousel-nav{display:none}
  .projects-section .project-carousel-shell{overflow:hidden;background:var(--paper)}
  .projects-section .project-grid{display:grid;grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:100%;row-gap:10px;column-gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;background:transparent}
  .projects-section .project-grid::-webkit-scrollbar{display:none}
  .projects-section .project-card{width:100%;min-width:0;min-height:0;height:auto;aspect-ratio:16/7;background:var(--paper)}
  .projects-section .project-card:nth-child(2n+1){scroll-snap-align:start}
  .projects-section .project-card>img{object-fit:cover}
  .projects-section .project-card>div{inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 18px;background:linear-gradient(to bottom,rgba(10,10,8,.04) 28%,rgba(10,10,8,.8) 100%)}
  .projects-section .project-card h3{margin:5px 0 0;font-size:21px;line-height:1.08}
  .projects-section .project-card>div>p:not(.eyebrow){display:none}
  .projects-section .project-carousel-dots{display:flex;justify-content:center;align-items:center;gap:7px;padding:14px 0 0}
  .projects-section .project-carousel-dots[hidden]{display:none}
  .projects-section .project-carousel-dot{appearance:none;width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(23,23,19,.25);cursor:pointer;transition:transform .2s,background .2s}
  .projects-section .project-carousel-dot.is-active{background:#171713;transform:scale(1.2)}
}

/* Real heading with a View All link; the archive is not a carousel. */
.projects-section::before{display:none}
.projects-section>.project-heading{display:flex;justify-content:flex-start;align-items:baseline;gap:16px;margin:0 0 14px}
.projects-section>.project-heading h2{margin:0}
.project-heading>a{white-space:nowrap}
.project-archive{padding:28px 5vw 48px}
.project-archive h1{font:500 24px/1.2 Poppins,sans-serif}
.project-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-archive-grid .project-card{position:relative;display:block;width:100%;min-height:0;height:auto;aspect-ratio:16/9;overflow:hidden;background:var(--paper)}
.project-archive-grid .project-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-archive-grid .project-card>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.project-archive-grid .project-card h3{font-size:21px;margin:4px 0;color:#fff}
.project-archive-grid .project-card>div>p:not(.eyebrow){display:none}
.project-pagination{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:24px}
.project-pagination a{padding:10px 0;text-decoration:underline}
@media(max-width:900px){.project-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.project-archive-grid{grid-template-columns:1fr}.project-archive-grid .project-card{aspect-ratio:16/7}}
