/* =========================================================================
   ArchiMass Arena — published project detail page
   ========================================================================= */
.arena-project-page{ min-height:70vh; padding-top:var(--header-h); }
.project-loader{
  min-height:62vh; display:grid; place-content:center; justify-items:center; gap:12px;
}

.project-hero{ padding:clamp(44px,7vw,92px) 0 clamp(30px,5vw,64px); }
.project-back{
  display:inline-flex; align-items:center; gap:9px; margin-bottom:clamp(30px,5vw,58px);
  font-family:var(--f-mono); font-size:10px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--paper-mute); transition:color .25s var(--ease);
}
.project-back:hover{ color:var(--instrument); }
.project-hero__grid{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:clamp(28px,5vw,72px); align-items:end;
}
.project-kicker{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.project-kicker .pill{ padding-block:5px; }
.project-title{ margin:0; max-width:16ch; }
.project-deck{ margin:0; max-width:46ch; }
.project-actions{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0; }
.project-share svg{ position:relative; z-index:1; width:15px; height:15px; }
.project-author{
  padding:22px; border:1px solid var(--line-2);
  background:linear-gradient(160deg,var(--sheet-a),var(--sheet-b));
}
.project-author__top{ display:flex; align-items:center; gap:13px; }
.project-author__avatar{
  width:42px; height:42px; display:grid; place-items:center;
  border:1px solid var(--instrument-d); color:var(--instrument);
  font-family:var(--f-mono); font-size:11px; letter-spacing:.08em;
}
.project-author__avatar{flex:0 0 42px;overflow:hidden;}
.project-author__avatar img{width:100%;height:100%;object-fit:cover;}
.project-author__top>div{min-width:0;overflow-wrap:anywhere;}
.project-gallery__grid.project-gallery__grid--single{display:block;min-height:0;}
.project-gallery__grid--single .project-shot{width:100%;aspect-ratio:3/2;min-height:0;max-height:760px;}
.project-gallery__grid--single .project-shot img{object-fit:contain;background:var(--card);}
[data-arena-protected]{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
[data-arena-protected] img,.project-author__avatar img{-webkit-user-drag:none;-webkit-touch-callout:none;}
.project-rights{font-size:12px;line-height:1.7;color:var(--paper-dim);margin-top:18px;max-width:100ch;}
.project-rights a{text-decoration:underline;text-underline-offset:3px;}
.project-moves{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.project-move{min-width:0;overflow-wrap:anywhere;}
.project-data dt,.project-data dd{overflow-wrap:anywhere;}
.project-author h2{ font-size:16px; letter-spacing:-.02em; }
.project-author__facts{ display:grid; gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid var(--line-1); }
.project-author__facts div{ display:flex; justify-content:space-between; gap:16px; }
.project-author__facts dt{ font-family:var(--f-mono); font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:var(--paper-mute); }
.project-author__facts dd{ margin:0; font-size:12px; color:var(--paper-dim); text-align:right; }

.project-gallery{ padding-bottom:clamp(42px,7vw,96px); }
.project-gallery__grid{
  display:grid; grid-template-columns:1.55fr .75fr; grid-template-rows:1fr 1fr;
  gap:12px; min-height:min(70vw,760px);
}
.project-shot{
  position:relative; overflow:hidden; min-height:240px; margin:0;
  border:1px solid var(--line-2); background:var(--card);
}
.project-shot:first-child{ grid-row:1/-1; }
.project-shot img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.project-shot__fallback{
  position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:10px;
  background:
    radial-gradient(62% 58% at 68% 22%,var(--film-wash),transparent 68%),
    repeating-linear-gradient(0deg,var(--line-1) 0 1px,transparent 1px 34px),
    repeating-linear-gradient(90deg,var(--line-1) 0 1px,transparent 1px 34px),
    linear-gradient(155deg,var(--viz-a),var(--viz-b));
}
.project-shot__fallback strong{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.2em; color:var(--instrument);
}
.project-shot__fallback span{ font-family:var(--f-mono); font-size:9px; letter-spacing:.12em; color:var(--paper-mute); text-transform:uppercase; }
.project-shot figcaption{
  position:absolute; z-index:2; left:14px; bottom:13px;
  font-family:var(--f-mono); font-size:9px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--paper); background:color-mix(in srgb,var(--void) 70%,transparent);
  border:1px solid var(--line-2); padding:6px 8px; backdrop-filter:blur(6px);
}

.project-content{ padding-bottom:clamp(58px,9vw,124px); }
.project-content__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.48fr); gap:clamp(38px,7vw,92px); }
.project-story{ display:grid; gap:clamp(34px,5vw,58px); }
.project-story h2{ font-size:var(--step-2); margin-bottom:16px; }
.project-story p{ max-width:72ch; color:var(--paper-dim); line-height:1.72; }
.project-moves{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-1); border:1px solid var(--line-1); }
.project-move{ background:var(--void); padding:22px; }
.project-move b{ display:block; margin:12px 0 9px; font-size:15px; }
.project-move p{ font-size:13px; line-height:1.55; color:var(--paper-mute); }

.project-data{ position:sticky; top:calc(var(--header-h) + 24px); align-self:start; }
.project-data__title{
  padding:14px 16px; border:1px solid var(--line-2); border-bottom:0;
  font-family:var(--f-mono); font-size:9px; letter-spacing:.17em; text-transform:uppercase;
  color:var(--instrument);
}
.project-data dl{ border:1px solid var(--line-2); }
.project-data dl div{
  display:flex; justify-content:space-between; gap:18px; align-items:baseline;
  padding:14px 16px; border-bottom:1px solid var(--line-1);
}
.project-data dl div:last-child{ border-bottom:0; }
.project-data dt{ font-family:var(--f-mono); font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:var(--paper-mute); }
.project-data dd{ margin:0; font-size:13px; text-align:right; color:var(--paper); }
.project-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.project-tags span{
  padding:5px 7px; border:1px solid var(--line-1); color:var(--paper-mute);
  font-family:var(--f-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase;
}
.project-disclaimer{ margin-top:18px; color:var(--paper-mute); font-size:11px; line-height:1.6; }

.project-not-found{ min-height:65vh; display:grid; place-content:center; text-align:center; justify-items:center; gap:18px; padding:40px var(--gutter); }

@media (max-width:900px){
  .project-hero__grid,.project-content__grid{ grid-template-columns:1fr; }
  .project-author{ max-width:560px; }
  .project-data{ position:relative; top:0; }
}
@media (max-width:680px){
  .project-gallery__grid{ grid-template-columns:1fr 1fr; grid-template-rows:minmax(360px,64vh) 220px; min-height:0; }
  .project-shot:first-child{ grid-column:1/-1; grid-row:auto; }
  .project-shot{ min-height:180px; }
  .project-moves{ grid-template-columns:1fr; }
}
@media (max-width:480px){
  .project-gallery__grid{ grid-template-columns:1fr; grid-template-rows:380px 210px 210px; }
  .project-shot:first-child{ grid-column:auto; }
  .project-actions .btn{ width:100%; justify-content:center; }
}
