/* Project portfolio — intentionally visual, not card-based. */
.projects-archive{background:#f3efe7;color:#151411}
.projects-hero{padding:190px 0 92px}
.projects-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.55fr);gap:90px;align-items:end}
.projects-hero h1{font-family:var(--serif);font-size:clamp(66px,8vw,126px);line-height:.88;letter-spacing:-.055em;margin:0;max-width:1000px}
.projects-hero__aside{padding:0 0 8px 36px;border-left:1px solid rgba(255,255,255,.24)}
.projects-hero__aside p{font-size:19px;line-height:1.65;color:#d6d0c6;margin:0 0 24px}
.projects-hero__count{display:block;color:var(--gold);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.projects-filterbar{background:#f3efe7;border-bottom:1px solid rgba(21,20,17,.12)}
.projects-filters{display:flex;gap:8px;overflow-x:auto;padding-top:22px;padding-bottom:22px;scrollbar-width:none}
.projects-filters::-webkit-scrollbar{display:none}
.projects-filter{appearance:none;border:1px solid rgba(21,20,17,.18);background:transparent;color:#151411;border-radius:999px;padding:10px 16px;white-space:nowrap;font:600 12px/1 var(--sans);letter-spacing:.05em;cursor:pointer;transition:.2s ease}
.projects-filter:hover,.projects-filter.is-active{background:#151411;color:#fff;border-color:#151411}
.projects-stage{padding:28px 0 120px;background:#f3efe7}
.projects-wall{columns:3 320px;column-gap:16px}
.project-wall__item{display:block;break-inside:avoid;margin:0 0 16px;position:relative;background:#161513;overflow:hidden;transform:translateZ(0)}
.project-wall__item.is-filtered-out{display:none}
.project-wall__link{display:block;position:relative;color:#fff;text-decoration:none;overflow:hidden}
.project-wall__media{line-height:0;background:#1d1b18}
.project-wall__media img{display:block;width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .4s ease}
.project-wall__placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#292620,#161513)}
.project-wall__overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:25px;background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.82) 100%);opacity:.88;transition:opacity .25s ease}
.project-wall__overlay h2{font-family:var(--serif);font-size:clamp(22px,2vw,31px);line-height:1.02;letter-spacing:-.025em;margin:5px 0 0;color:#fff;max-width:520px}
.project-wall__category{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#d6b16b;font-weight:700}
.project-wall__location{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#ded9d0;white-space:nowrap;align-self:flex-end}
.project-wall__link:hover .project-wall__media img{transform:scale(1.035);filter:saturate(1.04)}
.project-wall__link:hover .project-wall__overlay{opacity:1}
.projects-pagination{padding:55px 0 0;text-align:center}
.projects-pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.projects-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 13px;border:1px solid rgba(21,20,17,.18);color:#151411;text-decoration:none}
.projects-pagination .current,.projects-pagination a:hover{background:#151411;color:#fff;border-color:#151411}
.projects-empty{max-width:760px;padding:90px 0}
.projects-empty h2{font-family:var(--serif);font-size:clamp(42px,5vw,72px);line-height:1;margin:0 0 20px}
.projects-empty p{font-size:19px;line-height:1.6}
.projects-cta{padding:105px 0}
.projects-cta__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);gap:90px;align-items:end}
.projects-cta h2{font-family:var(--serif);font-size:clamp(50px,6vw,92px);line-height:.96;letter-spacing:-.045em;margin:0}
.projects-cta__grid>div:last-child p{font-size:18px;line-height:1.65;color:#d6d0c6;margin:0 0 28px}

/* Lightbox for imported image-only projects. */
.project-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(10,9,8,.96);display:none;align-items:center;justify-content:center;padding:70px 28px 28px}
.project-lightbox.is-open{display:flex}
.project-lightbox__stage{max-width:min(1500px,94vw);max-height:90vh;position:relative}
.project-lightbox__stage img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;margin:auto;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.project-lightbox__close{position:absolute;right:20px;top:16px;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:transparent;color:#fff;font-size:32px;line-height:1;cursor:pointer;z-index:2}
.project-lightbox__caption{display:flex;justify-content:space-between;gap:25px;color:#fff;padding:16px 0 0}
.project-lightbox__caption span{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700}
.project-lightbox__caption strong{font-family:var(--serif);font-size:20px;font-weight:600;text-align:right}
body.project-lightbox-open{overflow:hidden}

/* Rich manual project pages. */
.project-single{background:#f3efe7}
.project-single__intro{padding:190px 0 78px}
.project-single__intro-grid{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:70px;align-items:end}
.project-single__intro h1{font-family:var(--serif);font-size:clamp(58px,7vw,108px);line-height:.92;letter-spacing:-.05em;margin:0;max-width:1100px}
.project-single__back a{color:#ddd7ce;text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.project-single__hero{background:#111;line-height:0}
.project-single__hero img{display:block;width:100%;height:auto;max-height:88vh;object-fit:cover}
.project-single__story{padding:110px 0}
.project-single__story-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.45fr);gap:100px;align-items:start}
.project-single__content{font-size:19px;line-height:1.75;max-width:850px}
.project-single__content h2,.project-single__content h3{font-family:var(--serif);line-height:1.05}
.project-single__content h2{font-size:48px}
.project-single__facts{border-top:1px solid #151411;padding-top:20px;position:sticky;top:120px}
.project-single__facts-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#786f61}
.project-single__facts dl{margin:24px 0 32px}
.project-single__facts dl div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid rgba(21,20,17,.12)}
.project-single__facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#786f61}
.project-single__facts dd{margin:0;font-weight:600}
.project-single__gallery{padding:30px 0 120px}
.project-single__wall{columns:2 430px;column-gap:18px;margin-top:25px}
.project-single__wall figure{break-inside:avoid;margin:0 0 18px;line-height:0}
.project-single__wall img{display:block;width:100%;height:auto}
.project-single__quote{padding:120px 0}
.project-single__quote blockquote{font-family:var(--serif);font-size:clamp(42px,5.5vw,82px);line-height:1.05;letter-spacing:-.035em;max-width:1250px;margin:0;color:#fff}

@media (max-width:980px){
  .projects-hero{padding:150px 0 70px}
  .projects-hero__grid,.projects-cta__grid,.project-single__intro-grid,.project-single__story-grid{grid-template-columns:1fr;gap:45px}
  .projects-hero__aside{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.22);padding-top:28px;max-width:760px}
  .projects-wall{columns:2 280px}
  .project-single__facts{position:static}
}
@media (max-width:640px){
  .projects-hero{padding:130px 0 58px}
  .projects-hero h1{font-size:clamp(56px,18vw,78px)}
  .projects-stage{padding-top:16px;padding-bottom:80px}
  .projects-wall{columns:1}
  .project-wall__item{margin-bottom:12px}
  .project-wall__overlay{padding:18px;opacity:1}
  .project-wall__overlay h2{font-size:24px}
  .project-wall__location{display:none}
  .projects-filterbar{position:relative}
  .projects-filters{padding-top:15px;padding-bottom:15px}
  .projects-cta{padding:75px 0}
  .project-lightbox{padding:72px 14px 20px}
  .project-lightbox__close{right:12px;top:12px}
  .project-lightbox__caption{display:block}
  .project-lightbox__caption strong{display:block;text-align:left;margin-top:7px}
  .project-single__intro{padding:135px 0 55px}
  .project-single__story{padding:70px 0}
  .project-single__wall{columns:1}
}

/* v0.7.3 Project summaries + multi-photo cues */
.project-wall__photo-count{position:absolute;z-index:3;top:14px;right:14px;padding:7px 10px;background:rgba(15,14,12,.82);color:#fff;font:700 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.project-single__summary{max-width:850px;margin:28px 0 0;color:#d8d1c5;font-size:clamp(18px,1.7vw,24px);line-height:1.55}
@media(max-width:640px){.project-wall__photo-count{top:10px;right:10px}.project-single__summary{margin-top:20px;font-size:18px}}
