:root{color-scheme:dark;--site-bg:#0b110e;--site-card:#142019;--site-text:#f0f1e7;--site-muted:#b2bdb2;--site-accent:#c5ec83;--site-border:#35443a;--gutter:clamp(20px,4vw,64px);--bg:var(--site-bg);--card:var(--site-card);--text:var(--site-text);--muted:var(--site-muted);--green:var(--site-accent)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--site-bg);color:var(--site-text);font-family:'DM Sans',sans-serif;line-height:1.6}
body::after{display:none}
button,input,summary{font:inherit}
a{color:inherit;text-underline-offset:5px}
button,a,summary{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
button,a,input,summary{transition:background-color .2s,color .2s,border-color .2s}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--site-accent);outline-offset:5px}
img{max-width:100%}
[hidden]{display:none!important}
h1,h2,h3{line-height:1.12;text-wrap:balance}
p{line-height:1.75}
.site-nav{position:relative;z-index:100;display:flex;align-items:center;gap:24px;padding:16px var(--gutter);border-bottom:1px solid var(--site-border);background:var(--site-bg);min-height:80px}
.nav-home{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.nav-home img{display:block}
.nav-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin-left:auto}
.nav-links a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:.9rem}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--site-accent);text-decoration:underline}
.cursor-toggle{display:flex;align-items:center;gap:10px;min-height:44px;border:1px solid var(--site-border);border-radius:24px;background:transparent;color:var(--site-muted);padding:8px 14px;font-size:.75rem}
.cursor-toggle span{background:var(--site-border);border-radius:20px;padding:2px 8px;color:var(--site-text)}
.cursor-toggle[aria-pressed=true] span{background:var(--site-accent);color:var(--site-bg)}
.site-main{max-width:1400px;margin:auto;padding:0 var(--gutter)}
.mission-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,88px);align-items:center;padding:48px 0}
.hero-art{max-width:440px}
.hero-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:8px}
.kicker{display:block;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--site-accent)}
.hero-copy h1,.about-intro h1{font:400 clamp(2.5rem,4.8vw,4.75rem)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:22px 0}
.hero-copy h1 em,.about-intro em{color:var(--site-accent);font-weight:400}
.hero-copy p{color:var(--site-muted);max-width:440px;font-size:1.1rem;margin:20px 0 28px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 22px;min-height:48px;border:1px solid var(--site-accent);border-radius:4px;background:var(--site-accent);color:var(--site-bg);font-weight:600;text-decoration:none}
.button:hover{background:#ddf6b3}
.secondary{background:transparent;color:var(--site-accent)}
.secondary:hover{background:var(--site-card)}
.missions-section{padding:32px 0 72px;scroll-margin-top:24px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.section-heading h2,.knowledge-preview h2,.purpose h2,.about-layout h2{font:400 clamp(2rem,3.2vw,3rem)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:12px 0}
.section-heading p{color:var(--site-muted);margin:0 0 5px}
.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mission-card{--mission-accent:#e4b5cc;display:flex;flex-direction:column;padding:clamp(24px,3vw,40px);background:#211b20;border:1px solid #5e4051;border-radius:8px;min-width:0}
.mission-card.phila{--mission-accent:var(--site-accent);background:var(--site-card);border-color:#526044}
.mission-top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--mission-accent);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.mission-monogram{font:italic 2.5rem Georgia,serif}
.mission-card h3{font:400 clamp(1.9rem,3vw,2.6rem)/1.15 'Playfair Display',Georgia,serif;margin:28px 0 16px}
.mission-card p{color:var(--site-muted);margin:0 0 18px}
.mission-card .mission-statement{font-size:1.2rem;color:var(--site-text);line-height:1.5}
.mission-card details{margin:8px 0 24px;border-top:1px solid var(--site-border)}
summary{min-height:48px;padding:12px 0;color:var(--site-text)}
details[open] summary{color:var(--site-accent)}
.mission-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;min-height:48px;color:var(--mission-accent);text-decoration:none;font-weight:600}
.mission-link:hover{text-decoration:underline}
.knowledge-preview{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:64px 0;border-top:1px solid var(--site-border)}
.knowledge-preview p,.purpose p,.about-layout p{color:var(--site-muted);max-width:58ch}
.text-link{display:inline-flex;align-items:center;min-height:48px;color:var(--site-accent)}
.topic-list a{display:flex;align-items:center;gap:20px;min-height:76px;border-bottom:1px solid var(--site-border);text-decoration:none;font-size:1.1rem}
.topic-list a span:first-child{font-size:.7rem;color:var(--site-muted)}
.topic-list a span:last-child{margin-left:auto;color:var(--site-accent)}
.topic-list a:hover{background:var(--site-card)}
.purpose{padding:64px 0 80px;border-top:1px solid var(--site-border)}
.site-footer{padding:32px var(--gutter);border-top:1px solid var(--site-border);color:var(--site-muted);display:flex;flex-wrap:wrap;align-items:center;gap:20px 48px}
.site-footer p{margin:0;color:var(--site-text)}
.site-footer div{display:flex;flex-wrap:wrap;gap:16px 28px;margin-left:auto}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem}
.site-footer small{width:100%;font-size:.75rem}
.about-intro{padding:64px 0 48px;max-width:760px}
.about-intro p{color:var(--site-muted);font-size:1.15rem;max-width:42ch}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);padding:32px 0 80px;border-top:1px solid var(--site-border)}
.social-links{display:grid;margin-top:28px}
.social-link{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--site-border);text-decoration:none;overflow-wrap:anywhere}
.social-link svg{width:24px;height:24px;flex-shrink:0;color:var(--site-accent)}
.social-link small{display:block;color:var(--site-muted);font-size:.75rem}
.social-link>span:last-child{margin-left:auto}
.social-link:hover{color:var(--site-accent)}
.editorial-note{margin-top:32px;border-top:1px solid var(--site-border)}
.library-controls{max-width:1100px;margin:16px auto 40px;padding:24px var(--gutter);border-block:1px solid var(--site-border)}
.library-controls label{display:block;margin-bottom:12px;font-weight:600}
.library-controls input{width:100%;padding:14px 16px;min-height:48px;border:1px solid #687b6e;border-radius:4px;background:var(--site-card);color:var(--site-text)}
.library-controls input::placeholder{color:var(--site-muted)}
.filter-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.filter-buttons button{min-height:44px;padding:8px 18px;border:1px solid #687b6e;border-radius:24px;background:transparent;color:var(--site-text)}
.filter-buttons button[aria-pressed=true]{background:var(--site-accent);color:var(--site-bg);border-color:var(--site-accent)}
#filter-status{color:var(--site-muted);margin-bottom:0}
.era-nav{position:relative;top:0;flex-wrap:wrap;gap:8px 24px}
.branch,.branch.right{border-radius:8px}
.intro{padding-top:48px}
.skip-link{position:fixed;top:8px;left:16px;transform:translateY(-150%);z-index:10000;background:var(--site-accent);color:var(--site-bg);padding:12px 20px}
.skip-link:focus{transform:none}

@media(max-width:700px){.site-nav{gap:12px;padding:12px 20px;flex-wrap:wrap}
.nav-links{gap:8px 20px}
.cursor-toggle{margin-left:auto}
.mission-hero{grid-template-columns:1fr;gap:28px;padding:28px 0 32px}
.hero-art{width:min(100%,320px);margin:auto}
.hero-copy h1{font-size:clamp(2.3rem,8vw,3.2rem)}
.hero-copy p{font-size:1rem}
.mission-grid,.knowledge-preview,.about-layout{grid-template-columns:1fr;gap:24px}
.section-heading{display:block}
.section-heading p{margin-top:16px}
.missions-section{padding:24px 0 40px}
.mission-card{padding:24px}
.knowledge-preview,.purpose{padding:40px 0}
.about-intro{padding:36px 0}
.about-layout{padding:24px 0 48px}
.site-footer{gap:16px}
.site-footer div{margin-left:0}
.intro h1{font-size:clamp(2.2rem,8vw,3.4rem)}
.panel{max-width:100vw;padding:24px 20px}
.page,.content{padding-left:20px;padding-right:20px}
}

@media(pointer:coarse){.cursor-toggle{display:none}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}

@media(hover:hover) and (pointer:fine){html.leaf-cursor,html.leaf-cursor body{cursor:url('leaf-cursor.svg') 5 3,auto}
html.leaf-cursor a,html.leaf-cursor button,html.leaf-cursor summary,html.leaf-cursor [role=button]{cursor:url('leaf-pointer.svg') 13 3,pointer}
}

