/* Editorial layout, October 2026. */
.menu { gap: clamp(16px, 1.7vw, 25px); }
.menu a { white-space: nowrap; }
.home-main .hero {
  min-height: 600px;
  padding: 132px 0 58px;
  align-items: center;
}
.home-main .hero-body { max-width: 1280px; }
.home-main .hero:before {
  background: linear-gradient(90deg,rgba(17,17,17,.96),rgba(17,17,17,.77) 47%,rgba(17,17,17,.2)),linear-gradient(0deg,#111,transparent 45%);
}
.home-main .hero img { object-position: center 42%; }
.home-main .hero h1 {
  font-size: clamp(44px,4.2vw,62px);
  max-width: 800px;
  margin-bottom: 22px;
  text-wrap: balance;
  hyphens: none;
}
.home-main .hero p { max-width: 650px; font-size: 18px; line-height: 1.6; margin-bottom: 28px; }
.home-main .hero .home-intro { font-size: 15px; color: #d5cfdc; margin-bottom: 32px; }
.home-main .hero .eyebrow { margin-bottom: 14px; }
.home-latest { padding: 48px 0 88px; }
.home-latest .section-head { margin-bottom: 28px; }
.home-latest h2 { font-size: clamp(30px,3vw,38px); }
.home-post-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px 30px; }
.home-post-list > .post-row { grid-column: 1 / -1; }
.home-post-list > .post-row--spotlight { grid-column: auto; display: flex; flex-direction: column; gap: 18px; padding-bottom: 28px; }
.post-row--spotlight .article-meta { gap: 8px 12px; }
.post-row--spotlight .article-meta .eyebrow { margin-bottom: 0; }
.post-row--spotlight h3 { font-size: clamp(25px,2vw,29px); line-height: 1.16; margin: 10px 0 12px; text-wrap: balance; }
.post-row--spotlight .excerpt { font-size: 15px; line-height: 1.6; }
.article-meta a.eyebrow { color: var(--primary); }
.article-hero { min-height: 570px; padding: 142px 0 54px; }
.article-head { max-width: 960px; }
.article-head h1 { font-size: clamp(44px,4.5vw,66px); max-width: 940px; line-height: 1.1; text-wrap: balance; hyphens: none; margin-bottom: 22px; }
.article-head h1.article-title--long { font-size: clamp(40px,4vw,58px); }
.article-lead { font-size: 20px; line-height: 1.65; max-width: 760px; color: #ded9e4; margin: 24px 0 0; }
.article-layout { display: block; width: min(760px,calc(100vw - var(--gutter)*2)); margin: 0 auto; padding-top: 32px; }
.article-content { font-size: 18px; line-height: 1.75; }
.article-content > p { margin: 0 0 26px; }
.article-content iframe { display: block; width: 100%; margin: 34px 0; border: 1px solid var(--line); }
.article-source { margin: 26px 0 0; }
.article-pixel-scene--top { margin-top: 0; height: 250px; }
.article-voxel-scene--top { margin-top: 0; }
.post-row h3,.card h3 { hyphens: none; text-wrap: pretty; }
.archive h1 { text-wrap: balance; hyphens: none; }
.archive p { color: var(--muted); font-size: 18px; }
@media (max-width: 1200px) and (min-width: 981px) {
  .brand { font-size: 32px; }
  .menu { gap: 14px; }
  .menu a { font-size: 10px; }
}
@media (max-width: 980px) {
  .home-main .hero { min-height: 540px; }
  .menu { gap: 6px; }
  .menu a { display: block; padding: 12px 0; font-size: 12px; }
  .home-post-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-post-list > .post-row--spotlight:nth-child(3) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; }
  .article-hero { min-height: 0; padding: 124px 0 44px; }
}
@media (max-width: 700px) {
  .home-main .hero { min-height: 0; padding: 110px 0 42px; }
  .home-main .hero h1 { font-size: clamp(32px,8.6vw,43px); max-width: 100%; }
  .home-main .hero p { font-size: 16px; display: block; overflow: visible; }
  .home-main .hero .home-intro { font-size: 13px; margin-bottom: 24px; }
  .home-main .hero .eyebrow { font-size: 10px; }
  .home-latest { padding: 36px 0 64px; }
  .home-post-list { display: block; }
  .home-post-list > .post-row,
  .home-post-list > .post-row--spotlight:nth-child(3) { display: flex; flex-direction: column; gap: 18px; margin-bottom: 30px; padding-bottom: 30px; }
  .home-post-list .post-row h3 { font-size: 28px; line-height: 1.16; }
  .home-post-list .post-row .excerpt { font-size: 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .article-head h1,.article-head h1.article-title--long { font-size: clamp(31px,8.6vw,43px); max-width: 100%; hyphens: none; }
  .article-hero { padding: 108px 0 32px; }
  .article-lead { font-size: 17px; line-height: 1.65; margin-top: 20px; }
  .article-layout { padding-top: 24px; }
  .article-content { font-size: 17px; line-height: 1.7; }
  .article-content > p { margin-bottom: 24px; }
  .article-pixel-scene--top { height: 220px; }
  .menu { top: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .post-row img,.card img { transition: none; }
}
