/* Real photography outside the full Work collection. Natural image proportions
   preserve each complete sign and keep the existing night-canvas alignment. */
.portfolio:not([data-portfolio-filter]) .project-grid{
  --photo-gap:clamp(22px,3.2vw,48px);
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:clamp(40px,6vw,88px) var(--photo-gap);
}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card{
  flex:0 0 47%;
  min-width:0;
  max-width:100%;
  padding:0;
  margin:0;
}
.portfolio:not([data-portfolio-filter]) .project-card .project-scene{
  min-width:0;
  padding:clamp(5px,.7vw,10px);
  background:var(--surface);
}
.portfolio:not([data-portfolio-filter]) .project-card .project-scene .scene-image-wrap>img{
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
.portfolio:not([data-portfolio-filter]) .project-info{
  min-width:0;
  align-items:flex-start;
  padding-top:17px;
}
.portfolio:not([data-portfolio-filter]) .project-info>span:first-child{min-width:0}
.portfolio:not([data-portfolio-filter]) .project-info strong{overflow-wrap:break-word}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+1){flex-basis:100%}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+2){flex-basis:39%;margin-top:clamp(8px,2vw,30px)}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+3){flex-basis:55%;margin-top:clamp(50px,7vw,105px)}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+4){flex-basis:62%}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+5){flex-basis:32%;align-self:center}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+6){flex-basis:35%}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+7){flex-basis:59%;margin-top:clamp(35px,5vw,75px)}
.portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+8){flex-basis:76%;margin-inline-start:auto}

/* The lead installation photograph opens the collection like a spread:
   photograph on one side, its real project title on the other. */
@media(min-width:981px){
  .portfolio:not([data-portfolio-filter]) .project-card:first-child .project-open{
    display:grid;
    grid-template-columns:minmax(0,3.4fr) minmax(160px,1fr);
    gap:clamp(22px,3vw,46px);
    align-items:center;
  }
  .portfolio:not([data-portfolio-filter]) .project-card:first-child .project-info{
    flex-direction:column;
    gap:25px;
    padding:24px 0;
    border-block:1px solid var(--line);
  }
}

.installation-caption{margin-top:20px;font-size:18px;line-height:1.75;max-width:44ch}

/* Long-form pages retain their reading order and useful text beside the work,
   with a wider editorial measure rather than two matching card columns. */
.content-grid.editorial:has(>aside>.photo-scene){
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:7%;
}
.content-grid.editorial:has(>aside>.photo-scene)>article.prose{
  flex:1 1 53%;
  min-width:0;
  max-width:70ch;
}
.content-grid.editorial:has(>aside>.photo-scene)>aside{
  flex:0 1 38%;
  min-width:0;
  margin-top:clamp(24px,4.5vw,72px);
}
.content-grid.editorial>aside>.photo-scene{
  margin:0 0 35px;
  background:var(--surface);
  border:1px solid var(--line);
  padding:7px;
}
.content-grid.editorial>aside>.photo-scene .scene-image-wrap>img{
  width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
}
.content-grid.editorial>aside>.photo-scene figcaption{
  padding:14px 9px 8px;
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.guide-layout>.guide-sidebar{padding-top:clamp(30px,6vw,96px)}
.guide-sidebar>.guide-photo{
  width:calc(100% + 18px);
  max-width:none;
  margin-inline-start:-18px;
  margin-bottom:40px;
}
.guide-sidebar>.guide-photo:has(img[src*="brinks-tavern-detail"]){
  width:88%;margin-inline-start:auto;
}
.guide-sidebar>.guide-photo .scene-image-wrap>img{
  width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
}
.guide-sidebar>.guide-photo figcaption{font-size:16px;line-height:1.65}

/* The shop's broad building photograph and smaller equipment study form two
   different compositions, without trimming the company sign or service truck. */
.shop-page .shop-place>.shop-building{width:94%;margin-inline-start:auto}
.shop-page .shop-out-there{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6%;
}
.shop-page .shop-out-there>.shop-equipment{flex:0 1 61%;min-width:0;margin-top:36px}
.shop-page .shop-out-there>.shop-equipment-copy{flex:1 1 33%;min-width:0;display:block}
.shop-page .shop-building .scene-image-wrap>img,
.shop-page .shop-equipment .scene-image-wrap>img{
  width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
}
.story>.heritage-photo{width:100%;min-width:0;max-width:560px;margin-inline-start:auto}
.story>.heritage-photo .scene-image-wrap>img{
  width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
}

@media(max-width:980px){
  .content-grid.editorial:has(>aside>.photo-scene){gap:5%}
  .content-grid.editorial:has(>aside>.photo-scene)>aside{flex-basis:40%}
  .shop-page .shop-out-there{flex-direction:column;align-items:stretch;gap:35px}
  .shop-page .shop-out-there>.shop-equipment{width:91%;flex-basis:auto;margin-top:0}
  .shop-page .shop-out-there>.shop-equipment-copy{width:94%;margin-inline-start:auto}
}
@media(max-width:850px){
  .guide-layout>.guide-sidebar{padding-top:0}
  .guide-sidebar>.guide-photo{width:100%;max-width:680px;margin:0 0 30px}
  .guide-sidebar>.guide-photo:has(img[src*="brinks-tavern-detail"]){width:84%;margin-inline-start:auto}
}
@media(max-width:700px){
  .portfolio:not([data-portfolio-filter]) .project-grid{gap:38px}
  .portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(n){
    flex-basis:100%;margin:0;padding:0;align-self:auto;
  }
  .portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+2),
  .portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+5){
    flex-basis:86%;margin-inline-start:auto;
  }
  .portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+4),
  .portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(8n+7){flex-basis:93%}
  .portfolio:not([data-portfolio-filter]) .project-info{padding-top:13px}
  .content-grid.editorial:has(>aside>.photo-scene){display:block}
  .content-grid.editorial:has(>aside>.photo-scene)>aside{margin-top:38px;width:100%}
  .content-grid.editorial>aside>.photo-scene{width:94%;margin-inline-start:auto}
  .shop-page .shop-place>.shop-building{width:100%}
  .shop-page .shop-out-there>.shop-equipment{width:100%}
  .shop-page .shop-out-there>.shop-equipment-copy{width:96%}
  .story>.heritage-photo{width:94%;margin-top:38px;margin-inline-end:0}
}
@media print{
  .portfolio:not([data-portfolio-filter]) .project-grid{display:block}
  .portfolio:not([data-portfolio-filter]) .project-grid>.project-card:nth-child(n){width:100%;margin:0 0 25px;break-inside:avoid}
  .portfolio:not([data-portfolio-filter]) .project-card:first-child .project-open{display:block}
  .guide-layout>.guide-sidebar{display:none}
  .content-grid.editorial:has(>aside>.photo-scene),.shop-page .shop-out-there{display:block}
}
