/* KRYPTA v0.11.2 — Medium-inspired continuous reading column.
 * All widths match: breadcrumb, headline, author/byline, feature image,
 * TOC, body, newsletter, author bio and related reading list.
 * Loaded AFTER editorial-polish.css, scoped to a single WordPress post.
 */
.krypta-single{--krypta-reading-width:740px}
.krypta-single .krypta-article-shell{
  width:min(100%,var(--krypta-reading-width));
  max-width:var(--krypta-reading-width);
  margin-inline:auto;
}
.krypta-single .article-breadcrumbs,
.krypta-single .krypta-article-header,
.krypta-single .krypta-article-cover,
.krypta-single .article-main-grid,
.krypta-single .article-postscript,
.krypta-single .article-related,
.krypta-single .article-sponsor-note{
  width:100%;max-width:100%;margin-inline:0;
}
.krypta-single .article-breadcrumbs{
  margin-bottom:26px;font-size:.77rem;line-height:1.55;
}
.krypta-single .krypta-article-header{
  margin-bottom:29px;
}
.krypta-single .krypta-article h1{
  max-width:none;
  width:100%;
  font-size:clamp(2.3rem,4vw,3.55rem);
  line-height:1.15;
  letter-spacing:-.05em;
  margin:0 0 24px;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.krypta-single .article-dek{
  max-width:100%;
  font-size:clamp(1.07rem,1.6vw,1.25rem);
  line-height:1.56;
  margin:0 0 25px;
}
.krypta-single .article-byline{
  width:100%;
  gap:12px 20px;
  padding:17px 0;
  align-items:center;
}
.krypta-single .article-author-mini{min-width:0}
.krypta-single .article-date-group{
  gap:5px 13px;
  font-size:.77rem;
  justify-content:flex-start;
}
.krypta-single .krypta-article-cover{
  margin:0 0 40px;
}
.krypta-single .krypta-article-cover img{
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  display:block;
  border-radius:11px;
}
.krypta-single .krypta-article-cover figcaption{
  text-align:left;
  font-size:.77rem;
  line-height:1.45;
}
.krypta-single .article-main-grid,
.krypta-single .article-reading-column{
  max-width:100%;
  width:100%;
  min-width:0;
}
.krypta-single .article-content{
  font-size:clamp(1.0625rem,1.35vw,1.16rem);
  line-height:1.85;
  letter-spacing:-.008em;
}
.krypta-single .article-content p{
  line-height:1.85;
  margin:0 0 1.38em;
}
.krypta-single .article-content :is(h2,h3){
  letter-spacing:-.035em;
  text-wrap:balance;
}
.krypta-single .article-content h2{
  font-size:clamp(1.53rem,2.5vw,2rem);
  margin:2.1em 0 .72em;
}
.krypta-single .article-content h3{
  font-size:clamp(1.25rem,2vw,1.55rem);
  margin:1.7em 0 .6em;
}
.krypta-single .article-toc{
  width:100%;
  padding:22px 25px;
  margin:0 0 36px;
  border-radius:14px;
}
.krypta-single .article-postscript{
  width:100%;max-width:none;
  margin:34px 0 0;
  gap:22px;
}
.krypta-single .article-postscript .krypta-newsletter{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(25px,4vw,37px);
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  border-radius:17px;
}
.krypta-single .article-postscript .krypta-newsletter h2{
  font-size:clamp(1.5rem,2.7vw,2rem);
  max-width:none;
  margin:8px 0 10px;
}
.krypta-single .article-postscript .krypta-newsletter-copy p{
  max-width:62ch;
}
.krypta-single .article-postscript .krypta-newsletter-inputrow{
  max-width:100%;
}
.krypta-single .article-postscript .article-author-box{
  max-width:none;width:100%;margin:0;
  padding:23px 25px;
  border-radius:15px;
}
.krypta-single .article-related{
  width:100%;max-width:100%;
  margin-top:64px;
  padding-top:30px;
}
.krypta-single .article-related-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:17px;
}
.krypta-single .article-related-grid .story-card{
  min-width:0;max-width:100%;
}
.krypta-single .article-related-grid .story-body h3{
  font-size:1.02rem;
}
@media(max-width:680px){
  .krypta-single .article-breadcrumbs{margin-bottom:20px}
  .krypta-single .krypta-article h1{
    font-size:clamp(2rem,7.6vw,2.75rem);
    line-height:1.17;
    margin-bottom:21px;
  }
  .krypta-single .article-dek{font-size:1.075rem}
  .krypta-single .article-byline{align-items:flex-start}
  .krypta-single .article-date-group{width:100%}
  .krypta-single .krypta-article-cover{margin-bottom:30px}
  .krypta-single .article-content{font-size:1.075rem;line-height:1.8}
  .krypta-single .article-content p{line-height:1.8}
  .krypta-single .article-toc{padding:18px}
  .krypta-single .article-postscript .krypta-newsletter{padding:24px 21px}
  .krypta-single .article-postscript .article-author-box{padding:19px}
  .krypta-single .article-related-grid{grid-template-columns:minmax(0,1fr)}
}
