*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--paper:#F5F3F0;--graphite:#2C2C2C;--stone:#8A8A88;--sage:#6A7A70;--linen:#E8E5E0;--fog:#F0EDEA;--slate:#5A5A5C;--ash:#D0CCC8}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--graphite);font-family:'Source Sans 3',sans-serif;font-weight:400;font-size:1rem;line-height:1.8;overflow-x:hidden}
main{max-width:640px;margin:0 auto;padding:2rem}

.entry{padding:6vh 0;text-align:center}
.compass{width:24px;height:24px;margin:0 auto 2rem}
.entry h1{font-weight:600;font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem}
.divider{width:100%;height:1px;background:var(--linen);margin:1.5rem 0}
.intro{color:var(--stone);font-size:0.95rem}

.sections{padding:4vh 0}
.section-item{margin-bottom:6vh}
.section-head{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem}
.section-icon{width:24px;height:24px;flex-shrink:0}
.section-item h2{font-weight:600;font-size:clamp(1.1rem,2vw,1.4rem)}
.summary{color:var(--stone);font-size:0.9rem;margin-bottom:0.5rem}

details{margin-top:0.5rem}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:var(--sage)}
summary::-webkit-details-marker{display:none}
.toggle{font-size:0.75rem;color:var(--sage);width:12px;text-align:center}
details[open] .toggle::after{content:'-'}
details[open] .toggle{font-size:0}
details[open] .toggle::after{font-size:0.75rem}
details p{padding-top:1rem;color:var(--graphite);line-height:1.8}

.synthesis{padding:4vh 0;border-top:1px solid var(--linen);border-bottom:1px solid var(--linen)}
.pull-quote{font-family:'Source Serif 4',serif;font-style:italic;font-size:1.0625rem;line-height:1.7;padding:1.5rem;background:var(--fog);border-left:3px solid var(--sage);margin-bottom:2rem}
.icon-index{display:flex;gap:1.5rem;justify-content:center}
.icon-index svg{width:24px;height:24px}

.close{padding:6vh 0;text-align:center}
.close h2{font-weight:600;font-size:clamp(1.25rem,2.5vw,1.75rem);max-width:500px;margin:0 auto 2rem}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
}
