/* Photo layouts + Kings Grit visual system for new issues. */
.photo-group{display:grid;gap:12px;margin:24px 0;min-width:0}
.photo-group figure{margin:0;min-width:0;align-self:start}
.photo-group figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#121216}
.photo-group figure a{display:block}
.photo-group figcaption{font-size:12px;line-height:1.5;color:#d3c8cc;padding:8px 0 2px;text-align:left}
.photo-group .cropped img{aspect-ratio:var(--photo-ratio,3/2);height:auto;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.photo-group.hero{margin:24px -12px 0}
.photo-group.two-photo,.photo-group.four-photo-grid,.photo-group.collage{grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-group.four-photo-grid img{aspect-ratio:3/2;object-fit:cover}
.photo-group.three-photo-feature{grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-group.three-photo-feature figure:first-child{grid-column:1/-1}
.photo-group.horizontal-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.photo-group.horizontal-strip:has(figure:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-group.player-feature{max-width:470px;margin:24px auto}
.photo-group.collage figure:first-child{grid-column:1/-1}
.photo-group.collage figure:last-child:nth-child(even){grid-column:1/-1}
.photo-group.action-sequence{grid-template-columns:1fr;counter-reset:frame}
.photo-group.action-sequence figure{counter-increment:frame}
.photo-group.action-sequence figcaption:before{content:counter(frame,decimal-leading-zero) ' / ';font-weight:bold;color:#ff3247}
.content h3{font-size:19px;line-height:1.25;margin:26px 0 14px;letter-spacing:.01em}
.content .deck{color:#f1e9eb}.content .kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#ff4054}
.content .photo-context{font-size:12px;line-height:1.5;color:#c8bec2;text-transform:uppercase;letter-spacing:.08em}
.scrolling #book{display:block;max-width:850px}.scrolling .page{margin-bottom:24px}.scrolling .paper{min-height:0}

/* Flyer-inspired visual direction: charcoal, red paint, bold white type. */
.page{position:relative;overflow:hidden;background:
 radial-gradient(ellipse at 92% 6%,#5a111b26,transparent 42%),
 linear-gradient(145deg,#29282d 0%,#1c1c21 65%,#121216 100%)}
.page::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.36;background:
 linear-gradient(167deg,transparent 0 8%,#e01e3426 8.2% 8.8%,transparent 9% 86%,#e01e341c 86.2% 87.1%,transparent 87.3%),
 repeating-linear-gradient(115deg,transparent 0 7px,#ffffff05 7px 8px)}
.paper{position:relative;z-index:1}
.running{font-weight:700;text-transform:uppercase;letter-spacing:.16em}
.content h2{font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-weight:900;letter-spacing:.015em;border-left:5px solid #ef233c;padding-left:14px}
.content h2::after{content:"";display:block;width:84px;height:5px;margin-top:9px;background:linear-gradient(90deg,#ef233c 0 72%,transparent 72%);transform:skewX(-18deg)}
.content h3{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-weight:900}
.content strong{font-weight:900}
footer{font-weight:700;text-transform:uppercase}

/* Full-bleed editorial cover. */
.cover{border-top:0;background:#08090c}
.cover .paper{padding:0;min-height:620px}
.cover .running{position:absolute;z-index:4;top:18px;left:22px;right:22px;border:0;margin:0;padding:0;text-shadow:0 2px 8px #000}
.cover .content{position:relative;min-height:620px;text-align:left}
.cover footer{position:absolute;z-index:4;bottom:14px;left:22px;right:22px;border-top:1px solid #ffffff4d;text-shadow:0 2px 8px #000}
.cover-hero{position:absolute;inset:0;overflow:hidden}
.cover-hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(1.08) contrast(1.04)}
.cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0008 0%,#0001 34%,#0005 60%,#050509ed 100%),linear-gradient(90deg,#0007 0%,transparent 55%)}
.cover-copy{position:absolute;z-index:3;left:28px;right:28px;bottom:62px;text-shadow:0 3px 16px #000}
.cover-marks{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.cover .content>.cover-hero .logo,.cover .content>.cover-hero .acfa-mark{display:block;width:auto;height:64px;max-width:95px;object-fit:contain;margin:0}
.cover .kicker{display:inline-block;background:#ed1b2f;color:#fff;padding:6px 10px;margin:0 0 10px;font-size:11px;font-weight:900;letter-spacing:.16em}
.cover .content h1{font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:clamp(40px,7vw,66px);line-height:.96;letter-spacing:.01em;margin:0 0 12px;max-width:92%;color:#fff}
.cover .content .deck{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-weight:900;font-size:clamp(17px,2.5vw,24px);line-height:1.15;max-width:92%;margin:0;color:#fff}

/* Stronger text-only pages so Community/League do not feel unfinished. */
.page:nth-of-type(10) .content,.page:nth-of-type(11) .content{position:relative}
.page:nth-of-type(10) .content::after,.page:nth-of-type(11) .content::after{content:"KINGS";position:absolute;right:-8px;bottom:20px;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:88px;letter-spacing:.05em;color:#ffffff08;transform:rotate(-8deg);pointer-events:none}
.page:nth-of-type(10) section,.page:nth-of-type(11) section{border:1px solid #ffffff12;background:#0b0c1066;padding:20px;border-radius:4px;box-shadow:inset 5px 0 0 #d91f35}

/* Back cover: flyer energy without reusing the release message. */
.back{background:radial-gradient(circle at 50% 32%,#57131d55,transparent 40%),linear-gradient(150deg,#09090c,#1a1a20)}
.back::after{content:"";position:absolute;left:-10%;right:-10%;bottom:11%;height:56px;background:#e31d34;transform:rotate(-4deg) skewX(-18deg);opacity:.9;box-shadow:0 14px 0 #141419,0 22px 0 #e31d34}
.back .content{position:relative;z-index:2;justify-content:center;align-items:center;text-align:center}
.back h2{display:none}
.back-lockup{position:relative;z-index:3}
.back-lockup .back-kicker{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:28px!important;line-height:1!important;text-transform:uppercase;font-style:italic;transform:rotate(-3deg);margin-bottom:22px;color:#fff}
.back .logo{width:190px;margin:0 auto 20px}
.back-lockup>p:not(.back-kicker){font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:42px!important;line-height:1!important;margin:0 0 15px;color:#fff}
.back-lockup>span{display:block;font-weight:900;letter-spacing:.22em;font-size:11px;color:#f14658}
.photo-credit{position:relative;z-index:4;margin-top:42px;padding-top:18px;border-top:1px solid #ffffff20;display:flex;flex-direction:column;align-items:center;gap:10px}
.photo-credit span{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#c9c2c5}
.photo-credit img{display:block;width:92px;height:92px;object-fit:contain;border-radius:8px}

@media(max-width:600px){.photo-group{gap:9px}.photo-group.horizontal-strip{grid-template-columns:1fr}.photo-group.horizontal-strip:has(figure:last-child:nth-child(2)){grid-template-columns:1fr}.photo-group.player-feature{max-width:100%}.photo-group.hero{margin-left:0;margin-right:0}.photo-group figcaption{font-size:12px}.cover .content{min-height:560px}.cover .paper{min-height:560px}.cover-copy{left:20px;right:20px;bottom:56px}.cover .content h1{font-size:43px}.back-lockup>p:not(.back-kicker){font-size:34px!important}.back-lockup .back-kicker{font-size:23px!important}}
@media(max-width:360px){.photo-group.two-photo,.photo-group.four-photo-grid,.photo-group.three-photo-feature,.photo-group.collage{grid-template-columns:1fr}}
