/* Assignment galleries follow the staggered photographic wall of Príncipe. */
body.reading-portfolio{--paper:#fff;background:var(--paper)}
.reading-portfolio .masthead{min-height:76px;padding:12px 0}
.reading-portfolio .wordmark{font-size:34px}
.reading-portfolio .wordmark>span{margin-top:8px}
.reading-portfolio .portfolio-header{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;width:calc(100% - 80px);max-width:1100px;margin:30px auto 40px;text-align:left}
.portfolio-heading{min-width:0}
.portfolio-header .portfolio-brand{justify-content:flex-start;min-height:0;margin:0 0 20px}
.portfolio-header .portfolio-brand img{max-height:60px;max-width:180px;object-position:left center}
.portfolio-header h1{font-size:44px;line-height:1.1;letter-spacing:-.02em;margin:12px 0 0}
.portfolio-header h1:focus{outline:none}
.portfolio-header .story-description{font-size:18px;line-height:1.5;font-style:normal;color:var(--ink);max-width:none;margin:0}
.portfolio-header .story-credit{font:10px/1.5 var(--sans);color:var(--muted);margin-top:20px}
.portfolio-wall{width:calc(100% - 32px);max-width:1560px;margin:0 auto 65px}
.portfolio-row{display:grid;align-items:start;column-gap:clamp(24px,6vw,90px);margin:0 0 clamp(48px,7vw,100px);min-width:0}
.portfolio-row--paired{grid-template-columns:1.08fr 1fr;width:92%;max-width:1360px}
.portfolio-row--offset-right{margin-left:auto}
.portfolio-row--offset-left{margin-right:auto}
.portfolio-row--paired .portfolio-group:last-child{padding-top:clamp(30px,5.5vw,80px)}
.portfolio-row:first-child{width:100%;margin-left:0;margin-right:0}
.portfolio-row:first-child .portfolio-group:first-child{padding-top:28px}
.portfolio-group{min-width:0}
.portfolio-group--pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}
.portfolio-frame{margin:0;min-width:0}
.portfolio-frame .article-photo{display:block;width:100%;background:none;border:0;padding:0;cursor:zoom-in}
.portfolio-frame img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.portfolio-frame button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.portfolio-row--opening{grid-template-columns:1.15fr 1fr;column-gap:43px}
.portfolio-row--opening .portfolio-group:last-child{display:block}
.portfolio-row--opening .portfolio-group:last-child .portfolio-frame+.portfolio-frame{width:48%;margin:28px auto 0}
.portfolio-row--triptych{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.4vw,50px);width:94%;max-width:1200px;margin-left:auto;margin-right:auto}
.portfolio-row--triptych .portfolio-group:nth-child(2){padding-top:45px}
.portfolio-row--duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;width:68%;max-width:740px}
.portfolio-row--duo .portfolio-group:last-child{padding-top:60px}
.portfolio-row--landscapes{grid-template-columns:1.1fr 1fr;width:94%;column-gap:clamp(30px,6vw,90px)}
.portfolio-row--landscapes .portfolio-group:last-child{padding-top:60px}
.portfolio-row--single{display:block;width:82%;max-width:1080px;margin-left:auto;margin-right:auto}
.portfolio-row--portrait{display:block;width:34%;max-width:340px;margin-left:auto;margin-right:auto}
.portfolio-gallery-note{font:10px/1.5 var(--sans);letter-spacing:.03em;text-align:center;color:var(--muted);margin:0}
.portfolio-gallery-note span{margin:0 10px}
@media(max-width:800px){
  .reading-portfolio .portfolio-header{width:calc(100% - 44px);gap:35px;margin-top:30px;margin-bottom:40px}
  .portfolio-header h1{font-size:35px}
  .portfolio-header .story-description{font-size:17px}
  .portfolio-wall{width:calc(100% - 24px)}
  .portfolio-row{column-gap:25px;margin-bottom:50px}
  .portfolio-group--pair{gap:10px}
  .portfolio-row--opening{column-gap:24px}
  .portfolio-row--triptych{gap:22px}
}
@media(max-width:560px){
  .reading-portfolio .portfolio-header{display:block;width:calc(100% - 36px);margin:27px auto 35px}
  .portfolio-header .portfolio-brand{margin-bottom:18px}
  .portfolio-header .portfolio-brand img{max-height:48px;max-width:150px}
  .portfolio-header h1{font-size:34px;margin-bottom:21px}
  .portfolio-header .story-description{font-size:17px;line-height:1.55}
  .portfolio-header .story-credit{margin-top:16px}
  .portfolio-wall{width:calc(100% - 20px);margin-bottom:40px}
  .portfolio-row,.portfolio-row:first-child{width:100%;margin-bottom:35px;column-gap:12px}
  .portfolio-row--paired,.portfolio-row--opening{display:block}
  .portfolio-row--paired .portfolio-group+.portfolio-group{padding-top:0;margin-top:24px;width:94%;margin-left:auto}
  .portfolio-row:first-child .portfolio-group:first-child{padding-top:0}
  .portfolio-group--pair{gap:10px}
  .portfolio-group--pair .portfolio-frame:nth-child(2){padding-top:18px}
  .portfolio-row--opening .portfolio-group:last-child{margin-top:24px}
  .portfolio-row--opening .portfolio-group:last-child .portfolio-frame+.portfolio-frame{width:54%;margin-top:24px}
  .portfolio-row--triptych{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}
  .portfolio-row--triptych .portfolio-group:nth-child(2){padding-top:18px}
  .portfolio-row--triptych .portfolio-group:last-child{grid-column:1/-1;width:58%;justify-self:center}
  .portfolio-row--duo{gap:10px}
  .portfolio-row--duo .portfolio-group:last-child{padding-top:24px}
  .portfolio-row--landscapes{display:block}
  .portfolio-row--landscapes .portfolio-group:last-child{padding-top:0;width:90%;margin:25px 0 0 auto}
  .portfolio-row--portrait{width:58%}
}

.portfolio-header .portfolio-brand img[src$="hotel-logo-finch-hattons.svg"]{max-height:88px;max-width:160px}
@media(max-width:560px){.portfolio-header .portfolio-brand img[src$="hotel-logo-finch-hattons.svg"]{max-height:76px;max-width:130px}}
