/* Editorial portfolio: natural proportions and generous pauses. */
.editorial-portfolio .portfolio-intro{max-width:1440px;margin:0 auto;padding:48px 7vw 64px;align-items:flex-end;border:0}
.editorial-portfolio .portfolio-intro .eyebrow{font-size:.75rem;margin-bottom:12px}
.editorial-portfolio .portfolio-intro h1{font-size:clamp(2.5rem,4vw,4rem);text-transform:none;letter-spacing:-.025em;line-height:1.1}
.editorial-portfolio .portfolio-intro h1 em{font-style:italic}
.editorial-portfolio .portfolio-intro p{font-size:1rem;margin-bottom:4px}
.editorial-portfolio .editorial-gallery{display:flex;flex-direction:column;gap:clamp(80px,10vw,150px);max-width:1440px;padding:0 7vw 100px;margin:0 auto}
.editorial-gallery .editorial-row{width:100%;min-width:0}
.editorial-gallery .editorial-row figure{margin:0;min-width:0;grid-column:auto}
.editorial-gallery .editorial-row img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.editorial-gallery .pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:start;width:86%;margin:0 auto}
.editorial-gallery .pair>figure:nth-child(2){margin-top:clamp(55px,7vw,110px)}
.editorial-gallery .pair.reverse>figure:first-child{margin-top:clamp(55px,7vw,110px)}
.editorial-gallery .pair.reverse>figure:nth-child(2){margin-top:0}
.editorial-gallery .solo{width:48%;max-width:580px}
.editorial-gallery .right{align-self:flex-end}
.editorial-gallery .left{align-self:flex-start}
.editorial-gallery .detail{width:100%;max-width:310px;margin-inline:7%}
.editorial-gallery .detail.courtyard{max-width:380px}
.editorial-gallery .portfolio-exterior-pair{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.editorial-portfolio .portfolio-contact{max-width:1240px;margin:0 auto;padding:0 7vw 80px;text-align:center}
.editorial-portfolio .portfolio-contact .text-link{font-size:1rem}
@media(max-width:800px){
 .editorial-portfolio .portfolio-intro{padding-top:30px;padding-bottom:44px}
 .editorial-portfolio .editorial-gallery{gap:75px;padding-bottom:70px}
 .editorial-gallery .pair{width:100%;gap:8vw}
 .editorial-gallery .solo{width:62%}
}
@media(max-width:550px){
 .editorial-portfolio .portfolio-intro{display:flex;flex-direction:row;align-items:flex-end;padding:24px 6vw 36px;gap:20px}
 .editorial-portfolio .portfolio-intro h1{font-size:2.4rem}
 .editorial-portfolio .portfolio-intro p{font-size:.875rem;max-width:12ch;text-align:right}
 .editorial-portfolio .editorial-gallery{padding-inline:6vw;gap:56px}
 .editorial-gallery .pair{display:flex;flex-direction:column;gap:40px}
 .editorial-gallery .pair>figure{width:88%}
 .editorial-gallery .pair>figure:nth-child(2){align-self:flex-end}
 .editorial-gallery .pair>figure:nth-child(n),.editorial-gallery .pair.reverse>figure:nth-child(n){margin-top:0}
 .editorial-gallery .solo{width:88%;max-width:none}
 .editorial-gallery .detail{width:80%;margin-inline:0}
 .editorial-gallery .portfolio-exterior-pair{gap:6vw;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
 .editorial-portfolio .portfolio-contact{padding-bottom:48px}
}

/* Give the dark timber kitchen a more generous place in the sequence. */
.editorial-gallery .detail.kitchen-detail{width:70%;max-width:620px}
@media(max-width:550px){
 .editorial-gallery .detail.kitchen-detail{width:100%;margin-inline:0}
}

/* The two views of the timber kitchen share a generous spread. */
.editorial-gallery .kitchen-spread{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
@media(max-width:550px){
 .editorial-gallery .kitchen-spread{grid-template-columns:1fr;gap:40px}
 .editorial-gallery .kitchen-spread>figure:nth-child(2){width:92%;justify-self:end}
}
