*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#FFF5F9;background-image:radial-gradient(ellipse at 30% 0%,#FFF5F9 0%,#FFF0E6 60%,#FFF5F9 100%);color:#1A0E1F;font-family:'DM Sans',sans-serif;font-weight:400;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.72;overflow-x:hidden;letter-spacing:0.01em;min-height:100vh}

/* Particle Runway */
.particle-runway{position:fixed;top:0;left:0;width:calc(50vw - 320px - 60px);height:100vh;z-index:0;pointer-events:none;overflow:hidden}

/* Nav */
.nav-mark{position:fixed;top:24px;left:24px;z-index:50;cursor:pointer}
.nav-icon{width:32px;height:32px;border:1.5px solid #FF6BA6;display:flex;align-items:center;justify-content:center}
.nav-circle{width:16px;height:16px;border-radius:50%;border:1.5px solid #FF6BA6}

/* Content Column */
.content-column{max-width:40rem;margin-left:calc(50vw - 20rem + 3vw);padding:0 clamp(16px,3vw,32px);position:relative;z-index:1}

/* Chapters */
.chapter{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,8vh,6rem) 0}
.chapter-num{font-family:'Space Mono',monospace;font-weight:400;font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;color:#FF6BA6;display:block;margin-bottom:1.5rem}

/* Typography */
.display-heading{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(2.6rem,5.5vw,4.8rem);letter-spacing:0.02em;line-height:1.15;color:#1A0E1F;margin-bottom:1.5rem}
.section-heading{font-family:'Libre Baskerville',serif;font-weight:700;font-size:clamp(1.6rem,3.5vw,2.8rem);letter-spacing:0.02em;line-height:1.15;color:#1A0E1F;margin-bottom:1rem}
.body-text{color:#1A0E1F;max-width:55ch;margin-bottom:1.2em}

/* Pull Quote */
.pull-quote{font-family:'Libre Baskerville',serif;font-weight:400;font-size:clamp(1.2rem,2.5vw,1.6rem);line-height:1.5;color:#9B5DE5;border-left:3px solid #FF9F43;padding-left:1.5rem;margin:2rem 0;max-width:45ch;font-style:italic}

/* Colophon */
.colophon-text{font-family:'Space Mono',monospace;font-size:0.8rem;letter-spacing:0.12em;color:#9B5DE5;margin-top:3rem}

/* Reveals */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.23,1,0.32,1),transform 0.7s cubic-bezier(0.23,1,0.32,1)}
[data-reveal].visible{opacity:1;transform:translateY(0)}

@media(max-width:768px){
  .content-column{margin-left:5%;margin-right:5%;max-width:none}
  .particle-runway{display:none}
}
