:root{
  --void:#050505;--ink:#0a0a0b;--charcoal:#17181a;--charcoal-2:#1e1f22;--steel:#2c2d30;--line:#333438;
  --white:#f6f5f2;--white-dim:rgba(246,245,242,0.62);--white-faint:rgba(246,245,242,0.34);--silver:#b9bcc2;--ivory:#e8e0cf;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--void);color:var(--white);font-family:'Archivo',-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;min-height:100vh;display:flex;flex-direction:column;}
img{max-width:100%;display:block;}
::selection{background:var(--silver);color:var(--void);}
a{color:inherit;}
h1,h2,h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:800;text-transform:uppercase;line-height:0.96;letter-spacing:-0.01em;text-wrap:balance;margin:0;color:var(--white);}
.eyebrow{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--silver);margin:0 0 1.1rem;}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding-inline:24px;}
.grain{position:fixed;inset:0;z-index:2;pointer-events:none;mix-blend-mode:overlay;opacity:0.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.1s steps(3) infinite;}
@keyframes grain{0%{transform:translate(0,0);}50%{transform:translate(-1%,1%);}100%{transform:translate(1%,-1%);}}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 22vw 2vw rgba(0,0,0,0.75);}

header.site{position:relative;z-index:5;border-bottom:1px solid var(--line);}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:16px;}
.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Bodoni Moda',serif;font-weight:800;letter-spacing:0.04em;font-size:1.05rem;text-transform:uppercase;}
.wordmark img{width:28px;height:28px;border-radius:5px;}
.nav-cta{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;border:1px solid var(--line);padding:9px 18px;border-radius:999px;transition:border-color .25s ease,background .25s ease;}
.nav-cta:hover{border-color:var(--white);}

main{position:relative;z-index:3;flex:1;}
.page{padding-block:110px;}
.page h1{font-size:clamp(2.2rem,6vw,4.2rem);}
.lede{color:var(--white-dim);font-size:1.1rem;line-height:1.75;max-width:38rem;margin:1.6rem 0 0;}
.lede a{color:var(--white);}
.btn{font-family:'IBM Plex Mono',monospace;font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;padding:15px 28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;}
.btn-primary{background:var(--white);color:var(--void);}
.btn-outline{border:1px solid var(--line);}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:2.4rem;}
.center{text-align:center;}
.center .lede{margin-inline:auto;}
.center .cta-row{justify-content:center;}

.doc{max-width:46rem;}
.doc h2{font-size:clamp(1.6rem,4vw,2.4rem);margin:4rem 0 0.6rem;}
.doc .updated{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.08em;color:var(--white-faint);margin:0 0 1.4rem;}
.doc p,.doc li{color:var(--white-dim);font-size:1rem;line-height:1.75;}
.doc ol{padding-left:1.3rem;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:12px;}
.doc li::marker{font-family:'IBM Plex Mono',monospace;color:var(--silver);font-size:0.85rem;}
.doc b{color:var(--white);font-weight:600;}
.doc .contact-line{border-top:1px solid var(--line);margin-top:2.4rem;padding-top:1.4rem;font-family:'IBM Plex Mono',monospace;font-size:0.82rem;letter-spacing:0.04em;}

.goal{max-width:40rem;margin:3rem auto 0;border:1px solid var(--line);border-radius:16px;padding:32px;background:var(--charcoal);text-align:left;}
.goal-nums{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;}
.goal-raised{font-family:'Bodoni Moda',serif;font-weight:800;font-size:clamp(2.2rem,7vw,3.2rem);line-height:1;}
.goal-of{font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.06em;color:var(--white-dim);}
.goal-bar{height:8px;border-radius:999px;background:var(--steel);overflow:hidden;margin:22px 0 14px;}
.goal-fill{height:100%;width:0;background:var(--ivory);border-radius:999px;transition:width 1.2s ease;}
.goal-meta{display:flex;justify-content:space-between;gap:12px;font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--white-faint);}

footer{position:relative;z-index:3;border-top:1px solid var(--line);padding-block:60px 40px;}
footer .wrap{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center;}
footer .flogo{width:64px;height:64px;border-radius:14px;}
.footer-links{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;}
.footer-links a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease;}
.footer-links a:hover{border-color:var(--white);}
footer .fine{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--white-faint);letter-spacing:0.04em;margin:0;}

@media(prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}html{scroll-behavior:auto;}}
@media(max-width:520px){.page{padding-block:70px;}.goal{padding:24px;}.cta-row .btn{width:100%;}}
