/* MONTAGE index + project narrative system */
.project-list{border-top:1px solid var(--line)}
.project-index-row{display:grid;grid-template-columns:42px 38px minmax(220px,1fr) 210px 120px 28px;gap:18px;align-items:center;min-height:82px;padding:12px 0;border-bottom:1px solid var(--line);transition:grid-template-columns .38s cubic-bezier(.2,.8,.2,1),min-height .38s cubic-bezier(.2,.8,.2,1),padding .38s cubic-bezier(.2,.8,.2,1),margin .38s cubic-bezier(.2,.8,.2,1),background .32s ease,box-shadow .38s ease;position:relative;z-index:1;overflow:visible}
.project-index-row:before{display:none}
.project-index-row:hover{grid-template-columns:42px 360px minmax(220px,1fr) 210px 120px 28px;min-height:290px;padding:32px 22px;margin:10px 0;background:rgba(17,17,15,.055);box-shadow:0 20px 54px rgba(17,17,15,.09);color:var(--ink);z-index:50}
.project-index-row:hover .project-meta,.project-index-row:hover .project-year{color:var(--muted)}
.project-index-row .project-no{font-size:10px}
.project-index-row .project-name{font-size:clamp(20px,2vw,31px);letter-spacing:-.025em;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.project-index-row .project-meta,.project-index-row .project-year{font-size:11px;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.project-thumb-placeholder{display:block;width:38px;height:26px;background:#c9c7c1;overflow:hidden;transition:width .38s cubic-bezier(.2,.8,.2,1),height .38s cubic-bezier(.2,.8,.2,1),background .32s ease,box-shadow .38s ease;position:relative;z-index:2}
.project-thumb-placeholder img{width:100%;height:100%;object-fit:cover;display:block}
.project-index-row:hover .project-thumb-placeholder{width:340px;height:232px;background:#b9b7b1;box-shadow:0 18px 38px rgba(17,17,15,.14);z-index:100}
.project-index-row .project-arrow{font-size:16px}
.project-preview{display:none!important}

.project-page{overflow:hidden}
.project-page #projectMount{height:100svh}
.project-horizontal{height:100svh;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;background:var(--bg);touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.project-horizontal:focus{outline:none}
.project-panel{height:100svh;flex:0 0 auto;scroll-snap-align:start;border-right:1px solid var(--line);position:relative}
.project-panel--title{width:min(92vw,1120px);background:var(--project-accent);color:#f3f0e8;padding:110px var(--pad) 34px;display:flex;flex-direction:column;justify-content:space-between}
.project-panel-top{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.09em}
.project-title-wrap{display:grid;grid-template-columns:1fr minmax(190px,30%);gap:clamp(30px,6vw,100px);align-items:end}
.project-panel--title h1{font-size:clamp(66px,9vw,150px);line-height:.84;letter-spacing:-.065em;font-weight:400;margin:0;max-width:850px}
.project-title-thumb{aspect-ratio:4/3;background:#bdbbb5;overflow:hidden}
.project-title-thumb img{width:100%;height:100%;object-fit:cover}
.project-facts--horizontal{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:24px;font-size:14px;line-height:1.35}
.project-facts--horizontal .fact span{font-size:12px;margin-bottom:8px}
.project-panel--intro{width:min(58vw,760px);padding:130px clamp(40px,7vw,110px);display:flex;align-items:center}
.project-panel--intro p{font-size:clamp(30px,3.5vw,58px);line-height:1.06;letter-spacing:-.035em;margin:0}
.project-panel--image{width:auto;min-width:58vw;background:#fff;display:flex;align-items:center;justify-content:center;margin:0;padding:0}
.project-panel--image img{width:auto;height:100%;max-width:none;object-fit:contain;background:#fff}
.project-panel--lead{min-width:70vw}
.project-panel--text{width:min(48vw,650px);padding:130px clamp(40px,6vw,90px);display:flex;flex-direction:column;justify-content:center;gap:30px}
.project-panel-copy{font-size:clamp(22px,2.3vw,36px);line-height:1.35;letter-spacing:-.018em;margin:0}
.project-panel--placeholder-image{width:min(72vw,1040px);min-width:min(72vw,1040px);background:#bdbbb5!important;color:#3b3a36;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(20px,2.3vw,36px);font-weight:400}
.project-panel--placeholder-text{width:min(42vw,590px);background:var(--bg)}
.project-placeholder-thumb{display:flex;align-items:center;justify-content:center;background:#bdbbb5!important;color:#3b3a36;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.project-panel--next{width:min(78vw,1040px);padding:80px clamp(40px,6vw,90px) 70px;display:flex;flex-direction:column;align-items:flex-start}
.project-next-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;width:100%}
.project-next-thumb{width:min(360px,42vw);aspect-ratio:4/3;overflow:hidden;background:#d0cec8;margin:0 0 22px 0;align-self:flex-start}
.project-next-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);display:block}
.project-next-copy .eyebrow{margin:0 0 16px 0}
.project-panel--next a{display:block;font-size:clamp(42px,6vw,90px);letter-spacing:-.05em;line-height:.92;margin:0;max-width:900px}
.project-panel--next .arrow{font-size:48px;margin-top:auto;align-self:flex-start}

@media (max-width:800px){
  .project-index-row{grid-template-columns:28px 31px 1fr 24px;gap:12px;min-height:72px}
  .project-index-row .project-meta,.project-index-row .project-year{display:none}
  .project-thumb-placeholder{width:31px;height:22px}
  .project-index-row:hover{grid-template-columns:28px 31px 1fr 24px;min-height:72px;padding:12px 0;margin:0;box-shadow:none}
  .project-index-row:hover .project-thumb-placeholder{width:31px;height:22px;box-shadow:none}
  .project-page{overflow:hidden}
  .project-page #projectMount{height:100svh}
  .project-horizontal{height:100svh;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;touch-action:pan-x;scrollbar-width:none}
  .project-horizontal::-webkit-scrollbar{display:none}
  .project-panel{height:100svh;flex:0 0 100vw;width:100vw!important;min-width:100vw!important;border-right:1px solid var(--line);border-bottom:0;scroll-snap-align:start;overflow-y:auto}
  .project-panel--title{min-height:100svh;padding:100px var(--pad) 28px}
  .project-title-wrap{grid-template-columns:1fr;gap:32px}
  .project-title-thumb{width:58%;max-width:300px}
  .project-facts--horizontal{grid-template-columns:1fr 1fr;font-size:13px}
  .project-facts--horizontal .fact span{font-size:11px}
  .project-panel--intro,.project-panel--text{padding:14vh var(--pad)}
  .project-panel--intro{display:flex;align-items:center}
  .project-panel--image{display:flex;padding:0}
  .project-panel--placeholder-image{font-size:26px;background:#bdbbb5!important}
  .project-panel--placeholder-text{background:var(--bg)}
  .project-panel--next{padding:8vh var(--pad) 6vh;display:flex;flex-direction:column;align-items:flex-start}
  .project-next-copy{align-items:flex-start;width:100%}
  .project-next-thumb{width:min(72vw,300px);margin:0 0 18px 0;align-self:flex-start}
  .project-next-copy .eyebrow{margin-bottom:14px}
  .project-panel--next .arrow{margin-top:auto;align-self:flex-start}
}
