/* Project imagery follows the page grid and stays with the project it describes. */
.project-stage .capture-desktop{object-position:center top}
.project-stage .desktop-shot{max-height:89%}
.project-stage .feature-selector{grid-template-columns:repeat(4,minmax(0,1fr))}
.art-second-story-vintage{--stage-glow:#aa7960;--stage-dark:#482e29;--stage-floor:#b58e72}

.studio-photo-intro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);column-gap:clamp(1.4rem,5vw,4.8rem);row-gap:.9rem;align-items:center;padding-block:clamp(1.7rem,4.4vw,4rem)}
.studio-photo-intro h1{font-size:clamp(3.35rem,6.45vw,7.1rem);margin-top:.42rem;line-height:.97}
.studio-photo-intro h1 em{display:block}
.studio-photo-intro .intro-aside{grid-column:1;grid-row:2;align-self:start}
.studio-photo-intro>div:first-child{align-self:end}
.studio-photo{grid-column:2;grid-row:1/3;overflow:hidden;border:1px solid var(--rule);background:var(--band)}
.studio-photo img{aspect-ratio:1.36;object-fit:cover;object-position:55% 54%}
.studio-services .service-card,.service-details .service-detail{display:flex;flex-direction:column;align-items:flex-start}
.studio-services .service-card .text-link,.service-details .service-detail .text-link{margin-top:auto}

.portfolio-card{display:flex;flex-direction:column}
.portfolio-copy{flex:1}
.portfolio-detail{display:grid;grid-template-columns:6.1rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem .78rem;border-top:1px solid var(--rule);background:var(--band);font-size:.81rem;font-weight:700;color:var(--accent)}
.portfolio-detail img{aspect-ratio:1.68;object-fit:cover;object-position:center;border:1px solid var(--rule)}
.portfolio-detail:hover span{text-decoration:underline}

.case-capture-strip{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center;gap:clamp(.9rem,4vw,2.75rem);margin-block:.55rem 1.05rem;background:var(--band);border:1px solid var(--rule);overflow:hidden}
.case-capture-strip img{aspect-ratio:1.82;object-fit:cover;object-position:center}
.case-capture-strip>div{padding:1rem 1rem 1rem 0}
.case-capture-strip h2{font-size:clamp(1.85rem,3.4vw,3.5rem);margin-bottom:.35rem}
.case-capture-strip p{color:var(--muted);margin-bottom:.4rem}

.pairing-builder{min-width:0}
.pairing-builder label{display:block;font-size:.84rem;font-weight:700}
.pairing-builder select{display:block;width:100%;min-width:0;min-height:44px;margin-top:.25rem;padding:.4rem .5rem;border:1px solid var(--field-rule,#866771);border-radius:2px;background:var(--paper);color:var(--ink)}
.pairing-flavors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-block:.8rem}
.pairing-flavor{min-width:0;background:var(--band);border:1px solid var(--rule);padding:.38rem}
.pairing-flavor img{width:100%;aspect-ratio:2.18;object-fit:cover;margin-bottom:.3rem}
.pairing-result{background:var(--selected);border:1px solid var(--rule);padding:.55rem .65rem}
.pairing-result h3{font-size:.87rem}
.pairing-result p{margin:.18rem 0 0;font-size:.85rem;color:var(--ink);overflow-wrap:anywhere}
.pairing-note{margin-top:.5rem;color:var(--muted);font-size:.8rem}
.case-demo-batch .demo-intro .pairing-feature-image{margin:.7rem 0 .6rem;width:100%;aspect-ratio:1.65;object-fit:cover;object-position:center;border:1px solid var(--rule)}
#project-demo:has([data-picker="batch-and-table"]:not([hidden])){width:min(94vw,740px)}

@media(max-width:650px){
  .project-stage .feature-selector{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-stage .feature-selector button:nth-child(3){border-left:0}
  .project-stage .feature-selector button:nth-child(n+3){border-top:1px solid var(--rule)}
  .studio-photo-intro{grid-template-columns:1fr;gap:.8rem}
  .studio-photo-intro h1{font-size:clamp(3.1rem,10.5vw,5.25rem)}
  .studio-photo-intro .intro-aside,.studio-photo{grid-area:auto}
  .studio-photo img{aspect-ratio:1.7}
  .case-capture-strip{grid-template-columns:1fr;gap:0}
  .case-capture-strip>div{padding:.7rem .8rem .85rem}
}
