
.article-mosaic{max-width:1120px;margin:-36px auto 52px;padding:0 24px;display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:220px 220px;gap:18px;position:relative;z-index:3}
.article-mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:26px;background:#d5c7bb;box-shadow:0 18px 50px rgba(28,16,10,.12)}
.article-mosaic .mosaic-main{grid-row:1 / span 2}
.article-mosaic img{width:100%;height:100%;object-fit:cover}
.article-mosaic figcaption{position:absolute;left:18px;right:18px;bottom:18px;color:var(--cream);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(180deg,transparent,rgba(24,14,11,.7));padding-top:46px}
.article-page .article-body{display:grid;grid-template-columns:.30fr 1fr;gap:5vw;max-width:1180px;margin:0 auto;padding:18px 24px 110px}
.article-page .article-body aside{display:block;position:sticky;top:120px;align-self:start;padding:24px;border:1px solid rgba(58,36,29,.12);background:rgba(255,250,242,.65);backdrop-filter:blur(14px);border-radius:24px}
.article-page .article-body>div{max-width:none}
.editorial-stack{display:grid;gap:0}
.story-row{display:grid;grid-template-columns:minmax(170px,270px) 1fr;gap:clamp(18px,4vw,38px);align-items:center;padding:28px 0;border-top:1px solid var(--line)}
.story-row:first-child{padding-top:10px}
.story-row:nth-child(even){grid-template-columns:1fr minmax(170px,270px)}
.story-row:nth-child(even) .story-visual{order:2}
.story-visual{position:relative;margin:0}
.story-visual img{width:100%;height:245px;object-fit:cover;border-radius:22px;box-shadow:0 14px 30px rgba(35,20,13,.10)}
.story-visual figcaption{position:absolute;left:14px;bottom:12px;background:rgba(31,20,17,.72);color:var(--cream);padding:7px 10px;border-radius:999px;font-size:.57rem;letter-spacing:.16em;text-transform:uppercase}
.story-copy{min-width:0}
.story-step{display:inline-block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#8a766b;margin-bottom:10px}
.story-copy h2{margin-bottom:14px;font-size:clamp(1.9rem,3vw,3rem);line-height:1.02}
.story-copy p{margin:0;font-size:1.02rem;max-width:650px}
.story-row.closing-note .story-visual img{height:300px}
.story-row.closing-note .story-copy{padding:26px 28px;background:var(--paper);border-radius:24px;border:1px solid rgba(58,36,29,.08)}
.story-row.closing-note .story-step{color:var(--cocoa)}
@media(max-width:980px){
  .article-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 170px;margin:-24px auto 42px}
  .article-mosaic .mosaic-main{grid-column:1/-1;grid-row:auto}
  .article-page .article-body{grid-template-columns:1fr;padding-top:0}
  .article-page .article-body aside{display:none}
}
@media(max-width:700px){
  .article-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:190px 150px;gap:14px;padding:0 18px}
  .story-row,.story-row:nth-child(even){grid-template-columns:118px 1fr;gap:16px;padding:22px 0}
  .story-row:nth-child(even) .story-visual{order:0}
  .story-visual img{height:150px;border-radius:18px}
  .story-visual figcaption{left:8px;right:8px;bottom:8px;font-size:.5rem;padding:5px 8px;text-align:center}
  .story-copy h2{font-size:1.55rem;margin-bottom:10px}
  .story-copy p{font-size:.96rem}
  .story-row.closing-note .story-copy{padding:0;background:none;border:0;border-radius:0}
  .story-row.closing-note .story-visual img{height:160px}
}
@media(max-width:420px){
  .article-mosaic{grid-template-rows:170px 130px}
  .story-row,.story-row:nth-child(even){grid-template-columns:104px 1fr}
  .story-copy h2{font-size:1.42rem}
}
