.editorial-body main { min-height: calc(100vh - 14rem); }
.editorial-hero { position: relative; overflow: hidden; border-bottom: 1px solid #493754; background: linear-gradient(115deg,rgba(31,23,39,.96),rgba(12,9,16,.97)); }
.editorial-hero::after { content:""; position:absolute; right:-10rem; top:-15rem; width:34rem; height:34rem; border:1px solid rgba(169,109,255,.2); transform:rotate(35deg); box-shadow:0 0 90px rgba(94,52,143,.12); }
.editorial-hero > .shell { position:relative; z-index:1; padding-block:clamp(5rem,9vw,8rem); }
.editorial-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(13rem,18rem); align-items:end; gap:clamp(2rem,7vw,7rem); }
.editorial-hero h1 { max-width:52rem; margin:0; color:#fff8ef; font:700 clamp(3.7rem,8vw,7.2rem)/.86 Georgia,serif; letter-spacing:-.06em; }
.editorial-hero p:not(.eyebrow) { max-width:45rem; margin:1.5rem 0 0; color:#cfc3d1; font:1.08rem/1.75 Georgia,serif; }
.editorial-hero aside { border:1px solid #584365; background:rgba(16,12,21,.7); padding:1.4rem; }
.editorial-hero aside strong,.editorial-hero aside span,.editorial-hero aside small { display:block; }
.editorial-hero aside strong { color:var(--purple-bright); font:700 4rem/.9 Georgia,serif; }
.editorial-hero aside span { margin-top:.65rem; color:#fff; font-size:.72rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.editorial-hero aside small { margin-top:.55rem; color:var(--muted); }
.editorial-hero.compact h1 { font-size:clamp(3rem,7vw,5.6rem); }
.editorial-hero.compact .button { margin-top:2rem; }

.editorial-list { padding-block:clamp(4rem,8vw,7rem); }
.editorial-list-head { display:grid; grid-template-columns:1fr minmax(17rem,.7fr); align-items:end; gap:2rem; margin-bottom:2.4rem; }
.editorial-list-head h2 { margin:0; color:#fff8ef; font:700 clamp(2.4rem,5vw,4.2rem)/.95 Georgia,serif; letter-spacing:-.045em; }
.editorial-list-head > p { margin:0; color:var(--muted); }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.post-card { position:relative; display:flex; min-height:19rem; flex-direction:column; border:1px solid var(--line); background:linear-gradient(145deg,rgba(36,28,44,.9),rgba(18,14,23,.95)); padding:clamp(1.35rem,4vw,2rem); }
.post-card::after { content:""; position:absolute; right:-3rem; bottom:-5rem; width:12rem; height:12rem; border:1px solid rgba(169,109,255,.18); transform:rotate(45deg); pointer-events:none; }
.post-card-top { display:flex; justify-content:space-between; gap:1rem; color:var(--purple-bright); font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.post-card-top time { color:#95899a; text-align:right; }
.post-pin { align-self:flex-start; margin-top:1rem; border:1px solid #765795; color:#d9baff; padding:.18rem .42rem; font-size:.58rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.post-card h3 { position:relative; z-index:1; margin:clamp(2rem,5vw,3.8rem) 0 .8rem; color:#fff; font:700 clamp(1.65rem,4vw,2.35rem)/1.08 Georgia,serif; letter-spacing:-.03em; }
.post-card h3 a { text-decoration:none; }
.post-card h3 a:hover,.post-card h3 a:focus-visible { color:var(--purple-bright); outline:none; }
.post-card > p { position:relative; z-index:1; margin:0 0 1.5rem; color:var(--muted); }
.post-read { position:relative; z-index:1; display:flex; justify-content:space-between; margin-top:auto; border-top:1px solid var(--line); padding-top:.9rem; color:#e8deeb; font-size:.7rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.post-read span { color:var(--purple-bright); }
.editorial-empty { border:1px solid var(--line); background:rgba(28,22,35,.8); padding:clamp(2rem,6vw,4rem); text-align:center; }
.editorial-empty strong { color:#fff; font:700 clamp(1.7rem,4vw,2.6rem) Georgia,serif; }
.editorial-empty p { margin:.8rem auto 0; max-width:40rem; color:var(--muted); }

.post-page { padding-block:clamp(3rem,7vw,6rem); }
.post-back { display:inline-block; margin-bottom:2.5rem; color:var(--purple-bright); font-size:.7rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.post-header { max-width:60rem; }
.post-header h1 { margin:0; color:#fff8ef; font:700 clamp(3rem,7vw,6rem)/.9 Georgia,serif; letter-spacing:-.055em; }
.post-header > p:not(.eyebrow) { max-width:48rem; margin:1.5rem 0 0; color:#d0c4d3; font:1.15rem/1.7 Georgia,serif; }
.post-header > small { display:block; margin-top:1rem; color:#8f8393; font-size:.68rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.post-cover { display:block; width:min(100%,58rem); max-height:30rem; margin:3rem auto 0; border:1px solid #5b4568; object-fit:cover; }
.post-cover[src$=".gif"] { width:auto; max-width:min(100%,58rem); height:auto; object-fit:contain; }
.post-content { max-width:49rem; margin-top:clamp(3rem,7vw,5rem); color:#d4c9d6; font-size:1.04rem; }
.post-content h2,.post-content h3,.post-content h4 { color:#fff8ef; font-family:Georgia,serif; line-height:1.1; letter-spacing:-.025em; }
.post-content h2 { margin:2.8rem 0 1rem; font-size:clamp(2rem,4vw,3rem); }
.post-content h3 { margin:2.4rem 0 .8rem; font-size:1.65rem; }
.post-content h4 { margin:2rem 0 .7rem; font-size:1.25rem; }
.post-content a { color:var(--purple-bright); text-underline-offset:.2em; }
.post-content code { border:1px solid #4f3b5c; background:#141019; color:#e8d8f1; padding:.12rem .35rem; }
.post-content pre { overflow:auto; border:1px solid #4f3b5c; background:#0b090e; padding:1rem; }
.post-content pre code { border:0; background:none; padding:0; }
.post-content blockquote { margin:2rem 0; border-left:3px solid var(--purple); background:linear-gradient(90deg,rgba(107,58,151,.2),transparent); color:#eadcf0; padding:1rem 1.3rem; font:700 1.25rem/1.55 Georgia,serif; }
.post-content li { margin:.35rem 0; }
.post-content hr { margin:3rem 0; border:0; border-top:1px solid var(--line); }
.post-inline-image { width:100%; margin:1.6rem 0; border:1px solid #584365; }
.post-end { display:flex; justify-content:space-between; gap:2rem; max-width:49rem; margin-top:4rem; border-top:1px solid var(--line); padding-top:1rem; color:#8e8292; font-size:.67rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.post-end a { color:var(--purple-bright); text-decoration:none; }

@media (max-width:760px) {
  .editorial-hero-grid,.editorial-list-head { grid-template-columns:1fr; }
  .editorial-hero aside { max-width:18rem; }
  .post-grid { grid-template-columns:1fr; }
  .post-card { min-height:17rem; }
}

@media (max-width:480px) {
  .editorial-hero h1 { font-size:clamp(3.2rem,16vw,4.7rem); }
  .post-card-top,.post-end { align-items:flex-start; flex-direction:column; }
}
