.editorial-plate{position:relative;isolation:isolate;aspect-ratio:4/5;overflow:hidden;background:#111;color:#fff;container-type:inline-size}
.card.type-article .card-image .editorial-plate>.img-frame{position:absolute;inset:0;height:100%;overflow:hidden;background:#111}
.card.type-article .card-image .editorial-plate>.img-frame>img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:none;transform:none}
.editorial-plate-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),transparent 35%,rgba(0,0,0,.45) 58%,rgba(0,0,0,.94) 100%);pointer-events:none}
.editorial-plate-index{position:absolute;top:6%;left:7%;font:500 clamp(6px,2cqw,9px)/1.4 var(--head);letter-spacing:.12em;color:#eee}
.editorial-plate-copy{position:absolute;bottom:16%;left:8%;right:8%;text-align:left}
.editorial-plate-name{display:block;font:500 clamp(7px,2.2cqw,11px)/1.5 var(--head);letter-spacing:.07em;margin-bottom:3%}
.editorial-plate-copy strong{display:block;font:500 clamp(16px,5.4cqw,28px)/1.4 var(--body);letter-spacing:.02em;margin-bottom:4%}
.editorial-plate-copy p,.card .editorial-plate-copy p{display:block;color:#e2e2e2;font:400 clamp(7px,2.35cqw,12px)/1.75 var(--body);margin:0}
.card.type-article .card-image img.editorial-plate-signature{position:absolute;bottom:4%;left:40%;width:20%;height:auto;max-height:7%;object-fit:contain;filter:brightness(0) invert(1)}
.editorial-plate-category{position:absolute;bottom:5%;left:8%;font:400 clamp(6px,1.8cqw,9px)/1.5 var(--body);color:#aaa;letter-spacing:.1em}

/* Compact red navigation and a single, swipeable editorial row. */
.drawer{background:#b3261e;color:#fff;padding:50px 7vw 28px;justify-content:center;overflow-y:auto}
.drawer nav{gap:12px}
.drawer nav a{font-size:clamp(22px,2.4vw,34px);line-height:1.1;color:#fff}
.drawer nav a small{color:rgba(255,255,255,.72);font-size:9px;margin-top:3px}
.drawer-close{color:#fff;font-size:32px;top:20px}
.drawer-foot{color:rgba(255,255,255,.72);margin-top:28px;font-size:11px;line-height:1.6}
.home-editorial{position:relative}
.editorial-rail-controls{display:flex;justify-content:flex-end;gap:10px;margin:-12px 0 20px}
.editorial-rail-controls button{width:38px;height:38px;border:1px solid #ccc;background:#fff;color:#111;font-size:20px;cursor:pointer}
.editorial-rail-controls button:hover{background:#111;color:#fff}
.home-editorial-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding-bottom:22px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#aaa transparent}
.home-editorial-rail>.card{flex:0 0 calc((100% - 72px)/4);min-width:0;scroll-snap-align:start}
.home-editorial-rail:focus-visible{outline:1px solid #111;outline-offset:6px}
@media(max-width:1100px){.home-editorial-rail>.card{flex-basis:calc((100% - 48px)/2.7)}}
@media(max-width:600px){.home-editorial-rail{gap:16px}.home-editorial-rail>.card{flex-basis:85%}.drawer{padding:52px 8vw 24px;justify-content:flex-start}.drawer nav{gap:12px}.drawer nav a{font-size:26px}.drawer-foot{margin-top:24px}}
@media(max-height:680px){.drawer{justify-content:flex-start}.drawer nav{gap:8px}.drawer nav a{font-size:22px}.drawer-foot{margin-top:20px}}

/* Monochrome empty states: never use warm placeholder backgrounds. */
.person-avatar,.record-avatar{position:relative;background:#fff;color:#111;border:1px solid #eee}
.person-avatar>.avatar-initial,.record-avatar>.avatar-initial{position:absolute;inset:0;display:grid;place-items:center;color:#111}
.person-avatar>.img-frame,.record-avatar>.img-frame{position:relative}
.person-avatar>.img-frame.is-error,.record-avatar>.img-frame.is-error{display:none}
.img-frame.is-error>img{visibility:hidden}
.text-cover{background:#fff;color:#111}
.archive-empty-cover{position:relative;width:100%;aspect-ratio:4/5;background:#080808;color:#fff;display:grid;place-items:center;overflow:hidden}
.empty-logo-circle{width:46%;aspect-ratio:1;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;padding:12% 5%}
.card .archive-empty-cover .empty-logo-circle img,.archive-empty-cover .empty-logo-circle img{width:100%;height:auto;object-fit:contain;transform:none;filter:brightness(0) invert(1)}
.empty-cover-topic{position:absolute;bottom:7%;left:9%;right:9%;text-align:center;font:400 clamp(10px,1vw,14px)/1.6 var(--body);letter-spacing:.03em;overflow-wrap:anywhere}
.activity-cover-shell{position:relative;aspect-ratio:4/5;background:#080808}
.activity-photo{position:absolute;inset:0;visibility:hidden}
.activity-photo:has(.is-loaded):not(:has(.is-error)){visibility:visible}
.activity-photo>.img-frame{background:#080808}
.activity-photo img{object-fit:cover}
