.magazines-page { --crimson:#b83852; --deep-ink:#282526; --festival-gold:#e9c858; }
.magazine-intro { display:flex; flex-direction:column; justify-content:center; min-height:calc(80svh - var(--header-space)); padding:10vw 8vw; }
.magazine-intro h1 { font-size:clamp(58px,10vw,160px); margin-bottom:42px; }
.magazine-intro h1 em,.spread-reverse h2 em { color:var(--festival-gold); font-family:"Playfair Display",serif; font-weight:500; }
.magazine-intro > p:not(.eyebrow) { color:var(--muted); font-size:20px; max-width:510px; }
.magazine-intro .arrow-link { margin-top:28px; }
.magazine-cover { align-items:center; background:var(--deep-ink); display:grid; gap:9vw; grid-template-columns:.7fr 1fr; min-height:calc(100svh - var(--footer-space)); padding:90px 12vw; }
.page-frame { line-height:0; margin:0; overflow:hidden; }
.page-frame img { display:block; transform:scale(1.105); transform-origin:center; width:100%; }
.cover-page { justify-self:end; max-width:470px; }
.magazine-cover-copy { max-width:600px; }
.magazine-cover-copy .eyebrow,.magazine-facts dt { color:#ecbdc8; }
.magazine-cover h2,.magazine-spread h2,.festival-guide h2 { font-size:clamp(45px,6vw,100px); margin-bottom:30px; }
.magazine-lead { font-family:"Playfair Display",serif; font-size:clamp(25px,3vw,42px); line-height:1.15; }
.magazine-facts { border-top:1px solid rgba(242,240,232,.32); margin:48px 0 0; }
.magazine-facts div { border-bottom:1px solid rgba(242,240,232,.32); display:grid; gap:18px; grid-template-columns:130px 1fr; padding:16px 0; }
.magazine-facts dt { font:11px "DM Mono",monospace; letter-spacing:.02em; text-transform:uppercase; }
.magazine-facts dd { color:#e6e0e1; margin:0; }
.magazine-spread { padding:110px 8vw 130px; }
.spread-opening { background:var(--crimson); }
.spread-centre { background:#1e1c1d; }
.spread-reverse { background:#a9334d; }
.spread-heading { margin-bottom:60px; max-width:720px; }
.spread-heading .eyebrow { color:#ffd6df; }
.spread-centre .eyebrow { color:#e4ba62; }
.spread-heading h2 { margin:0; }
.spread-pages { display:grid; gap:2px; grid-template-columns:1fr 1fr; margin:0 auto; max-width:1240px; }
.spread-pages .page-frame { background:#fff; }
.festival-guide { align-items:center; background:var(--deep-ink); display:grid; gap:10vw; grid-template-columns:.75fr 1fr; padding:110px 10vw 130px; }
.festival-guide .eyebrow { color:#a8c6ad; }
.festival-guide h2 { margin-top:0; }
.festival-guide > div > p:not(.eyebrow) { color:var(--muted); font-size:20px; max-width:420px; }
.festival-guide figure { margin:0; }
.festival-guide img { display:block; width:100%; }
@media (max-width:760px) {
  .magazine-intro { min-height:72svh; padding:19vw 6vw 14vw; }
  .magazine-intro h1 { font-size:clamp(52px,16vw,88px); }
  .magazine-cover { display:block; padding:70px 6vw 85px; }
  .cover-page { margin:0 auto 58px; max-width:390px; }
  .magazine-spread { padding:75px 6vw 95px; }
  .spread-heading { margin-bottom:42px; }
  .spread-pages { gap:20px; grid-template-columns:1fr; max-width:440px; }
  .festival-guide { display:block; padding:75px 6vw 95px; }
  .festival-guide figure { margin-top:52px; }
}
