:root {
    --void: #050508; --deep: #0A0812;
    --pink: #FF2079; --purple: #8B2FE8; --blue: #1A6EFF;
    --white: #F0ECFF;
    --body: rgba(240,236,255,0.82);
    --body-dim: rgba(240,236,255,0.52);
    --border: rgba(139,47,232,0.18);
    --border-subtle: rgba(255,255,255,0.07);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--void); color:var(--white); font-family:'Outfit',sans-serif; font-weight:300; overflow-x:hidden; }

.aurora-text { background:linear-gradient(90deg,#FF2079,#C44DF0 50%,#4D9EFF); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity 0.75s ease,transform 0.75s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── POST HERO ── */
.post-hero {
    min-height: 52vh;
    display: flex; align-items: flex-end;
    padding: 9rem 0 5rem;
    border-bottom: 1px solid var(--border-subtle);
    position: relative; overflow: hidden;
    --hero-bg: none;
}
/* Desaturated photo background */
.post-hero::before {
    content:''; position:absolute; inset:0; z-index:0;
    background-image: var(--hero-bg);
    background-size: cover; background-position: center;
    filter: grayscale(100%) brightness(0.22) contrast(1.1);
    pointer-events:none;
}
/* gradient overlay for text legibility over photo */
.post-hero::after {
    content:''; position:absolute; inset:0; z-index:1;
    background: linear-gradient(to top, rgba(5,5,8,0.85) 0%, rgba(5,5,8,0.5) 50%, rgba(5,5,8,0.3) 100%);
    pointer-events:none;
}
.post-hero-inner { max-width:820px; margin:0 auto; padding:0 3rem; width:100%; position:relative; z-index:2; }

.post-meta {
    display:flex; align-items:center; gap:1.2rem;
    margin-bottom:2rem;
}
.post-back {
    font-size:0.78rem; font-weight:300; letter-spacing:0.08em;
    color:var(--body-dim); text-decoration:none;
    transition:color 0.25s;
}
.post-back:hover { color:var(--white); }
.post-tag {
    font-size:0.65rem; font-weight:400; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--pink); background:rgba(255,32,121,0.08);
    border:1px solid rgba(255,32,121,0.2); padding:0.3rem 0.8rem;
}

.post-title {
    font-family:'Playfair Display',serif;
    font-size:clamp(2.2rem,5vw,4.2rem); font-weight:300; line-height:1.08;
    margin-bottom:2rem;
}
.post-title em { font-style:italic; }

.post-byline { display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; }
.post-author { font-size:0.9rem; font-weight:400; color:var(--white); }
.post-sep { color:rgba(240,236,255,0.2); }
.post-date, .post-read { font-size:0.85rem; color:var(--body-dim); }

/* ── POST BODY ── */
.post-body {
    max-width:720px; margin:0 auto;
    padding:5rem 3rem 6rem;
}

.post-p {
    font-family:'Playfair Display',serif;
    font-size:1.12rem; font-weight:300; line-height:1.9;
    color:var(--body); margin-bottom:1.8rem;
}

.post-h2 {
    font-family:'Playfair Display',serif;
    font-size:1.6rem; font-weight:400; line-height:1.2;
    color:var(--white); margin:3.5rem 0 1.2rem;
}

.post-h3 {
    font-family:'Playfair Display',serif;
    font-size:1.15rem; font-weight:400; font-style:italic;
    color:rgba(240,236,255,0.75); margin:2rem 0 0.8rem;
}

.post-pullquote {
    margin:3.5rem 0;
    padding:2rem 2.5rem;
    border-left:2px solid rgba(255,32,121,0.5);
    background:rgba(255,32,121,0.04);
}
.post-pullquote p {
    font-family:'Playfair Display',serif;
    font-size:1.3rem; font-weight:300; font-style:italic;
    line-height:1.6; color:var(--white);
}

.post-list { list-style:none; margin:0 0 1.8rem; display:flex; flex-direction:column; gap:0.75rem; }
.post-list li {
    font-family:'Playfair Display',serif;
    font-size:1.05rem; line-height:1.75; color:var(--body);
    padding-left:1.8rem; position:relative;
}
.post-list li::before { content:'—'; position:absolute; left:0; color:rgba(255,32,121,0.6); }

.post-divider { height:1px; background:linear-gradient(90deg,transparent,rgba(139,47,232,0.3),transparent); margin:3rem 0; }

/* ── NEXT POST ── */
.post-next-wrap {
    border-top:1px solid var(--border-subtle);
    padding:4rem 5rem;
}
.post-next {
    display:flex; flex-direction:column; gap:0.5rem;
    text-decoration:none; max-width:720px; margin:0 auto;
    transition:opacity 0.25s;
}
.post-next:hover { opacity:0.75; }
.post-next-label {
    font-size:0.68rem; font-weight:400; letter-spacing:0.25em;
    text-transform:uppercase; color:var(--body-dim);
}
.post-next-title {
    font-family:'Playfair Display',serif;
    font-size:1.4rem; font-weight:300; color:var(--white); line-height:1.2;
}

@media (max-width: 1024px) {
    .post-hero { padding: 8rem 0 4rem; }
    .post-hero-inner { padding: 0 2rem; }
    .post-body { padding: 4rem 2rem 5rem; }
    .post-next-wrap { padding: 3rem 2rem; }
}

@media (max-width: 768px) {
    .post-hero { min-height: 40vh; padding: 7rem 0 3rem; }
    .post-hero-inner { padding: 0 1.5rem; }
    .post-title { font-size: clamp(1.6rem, 5vw, 2.5rem); }
    .post-byline { font-size: 0.8rem; }
    .post-body { max-width: 100%; padding: 3rem 1.5rem 4rem; }
    .post-p { font-size: 1rem; line-height: 1.8; }
    .post-h2 { font-size: 1.3rem; margin: 2.5rem 0 1rem; }
    .post-pullquote { padding: 1.5rem; margin: 2.5rem 0; }
    .post-pullquote p { font-size: 1.1rem; }
    .post-next-wrap { padding: 3rem 1.5rem; }
    .post-next-title { font-size: 1.1rem; }
}
