/* PNW Passport / Editorial type & reading layout repair — Nov 2026.
   Keep expressive masthead; make articles and story archives approachable. */
.article-header{
  max-width:980px;
  padding-top:clamp(30px,4.1vw,62px);
}
.article-header h1.display.h1,
.article-header .h1{
  font-family:var(--serif);
  font-size:clamp(2.15rem,3.85vw,3.85rem);
  font-weight:650;
  line-height:1.09;
  letter-spacing:-.048em;
  max-width:25ch;
  margin:0 0 19px;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.article-header .article-deck{
  font-size:clamp(1.06rem,1.65vw,1.35rem);
  line-height:1.55;
  max-width:69ch;
  margin-bottom:16px;
}
.article-header .article-byline{
  font-size:.79rem;
  line-height:1.5;
}
.article-header .article-figure{margin-top:26px;}
.article-header .article-figure img{
  width:100%;
  height:auto;
  max-height:590px;
  object-fit:cover;
}
.page-hero:not(.calendar-hero):not(.vault-hero) h1.page-title{
  font-family:var(--display-font);
  font-size:clamp(2.35rem,4.25vw,4.3rem);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.057em;
  max-width:23ch;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.page-hero:not(.calendar-hero):not(.vault-hero) .page-intro,
.page-hero:not(.calendar-hero):not(.vault-hero) .deck{
  font-size:clamp(.98rem,1.24vw,1.13rem);
  line-height:1.6;
}
#feed .story-grid,
#category-feed .story-grid{gap:clamp(17px,2.4vw,29px);}
#feed .story-card,
#category-feed .story-card{
  min-width:0;
}
#feed .story-card h3,
#category-feed .story-card h3{
  font-family:var(--serif);
  font-size:clamp(1.27rem,1.65vw,1.84rem);
  line-height:1.18;
  font-weight:650;
  letter-spacing:-.034em;
  overflow-wrap:break-word;
  margin:12px 0 9px;
}
#feed .story-card p,
#category-feed .story-card p{
  font-family:var(--sans);
  font-size:.88rem;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:3;
  line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0 0 11px;
}
#feed .story-card .card-image,
#category-feed .story-card .card-image{
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  margin-bottom:12px;
}
#hero .hero-title{
  font-size:clamp(2rem,3.3vw,3.65rem);
  line-height:1.08;
  max-width:22ch;
  text-wrap:balance;
  overflow-wrap:break-word;
}
@media(max-width:760px){
  .article-header{padding-top:28px;}
  .article-header h1.display.h1,
  .article-header .h1{
    font-size:clamp(1.93rem,7.5vw,2.85rem);
    line-height:1.12;
    max-width:none;
    letter-spacing:-.038em;
  }
  .article-header .article-deck{
    font-size:1.05rem;
    line-height:1.55;
  }
  .page-hero:not(.calendar-hero):not(.vault-hero) h1.page-title{
    font-size:clamp(2.18rem,7.7vw,3.25rem);
    line-height:1.07;
    max-width:100%;
  }
  #feed .story-card h3,
  #category-feed .story-card h3{
    font-size:clamp(1.36rem,5vw,1.72rem);
    line-height:1.2;
  }
  #hero .hero-title{
    font-size:clamp(1.9rem,7vw,3rem);
    max-width:100%;
  }
}
@media(max-width:430px){
  .article-header h1.display.h1,
  .article-header .h1{font-size:clamp(1.9rem,7.35vw,2.45rem);}
  .page-hero:not(.calendar-hero):not(.vault-hero) h1.page-title{
    font-size:clamp(2.08rem,7.2vw,2.65rem);
  }
}