.site-shell{width:100%;max-width:100rem;min-height:100svh;padding:0 var(--page-gutter) clamp(2rem, 5vw, 4.5rem);margin:0 auto}.hero{flex-direction:column;justify-content:center;min-height:clamp(37rem,72svh,52rem);padding:clamp(3rem,8vw,8.75rem) 0 clamp(2.5rem,6vw,5.5rem);display:flex}.hero-kicker,.hero-meta{font-family:var(--font-mono)}.hero-kicker{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 clamp(2rem,5vw,4.75rem);font-size:clamp(.67rem,.9vw,.82rem);font-weight:500;animation:.42s ease-out both content-reveal}.hero h1{letter-spacing:-.06em;max-width:12ch;margin:0;font-size:clamp(4.1rem,8.5vw,8.5rem);font-weight:500;line-height:.98;animation:.48s ease-out both content-reveal}.hero h1 a{margin-left:.13em;display:inline-block;position:relative}.hero h1 a:after{content:"";transform-origin:0;background:currentColor;height:.045em;transition:transform .22s;position:absolute;bottom:.02em;left:.02em;right:.02em;transform:scaleX(1)}.hero-meta{color:var(--text-muted);letter-spacing:.04em;margin-top:clamp(3rem,7vw,6.25rem);font-size:clamp(.72rem,1vw,.88rem);line-height:1.65;animation:.42s ease-out 80ms both content-reveal;display:flex}.hero-meta p{width:50%;margin:0}@media (hover:hover) and (pointer:fine){.hero h1 a:hover:after{transform-origin:100%;transform:scaleX(0)}}@media (width<=600px){:root{--page-gutter:1.25rem}.hero{min-height:72svh;padding:2.25rem 0 3.5rem}.hero-kicker{margin-bottom:auto}.hero h1{max-width:9ch;font-size:clamp(3.75rem,18vw,6.2rem)}.hero-meta{margin-top:auto;padding-top:3rem;display:block}.hero-meta p{width:100%}}.directory{border-top:1px solid var(--text-primary);grid-template-columns:repeat(3,minmax(0,1fr));animation:.42s ease-out .1s both content-reveal;display:grid}.directory-column{min-height:21rem;padding:1.25rem clamp(1.25rem,2.6vw,2.75rem) 1rem 0}.directory-column+.directory-column{border-left:1px solid var(--line);padding-left:clamp(1.25rem,2.6vw,2.75rem);padding-right:clamp(1.25rem,2.6vw,2.75rem)}.directory-column:last-child{padding-right:0}.column-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:3.4rem;display:flex}.column-heading h2{letter-spacing:-.025em;margin:0;font-size:clamp(1rem,1.4vw,1.24rem);font-weight:500}.column-heading h2 a:after{content:"↗";font-family:var(--font-mono);margin-left:.35em;font-size:.75em;font-weight:400;transition:transform .18s;display:inline-block}.column-index,.column-note,.directory-links{font-family:var(--font-mono)}.column-index{color:var(--text-muted);letter-spacing:.1em;font-size:.68rem}.column-note{max-width:27ch;color:var(--text-muted);letter-spacing:.02em;margin:0 0 2rem;font-size:.76rem;line-height:1.7}.directory-links{letter-spacing:.045em;flex-direction:column;gap:.18rem;margin:0;padding:0;font-size:clamp(.78rem,1vw,.9rem);line-height:1.5;list-style:none;display:flex}.directory-links a{align-items:center;min-height:1.75rem;display:inline-flex;position:relative}.directory-links a:after{content:"↗";opacity:0;margin-left:.45em;transition:opacity .16s,transform .16s;display:inline-block;transform:translate(-.12rem,.12rem)}.directory-links .more-link{color:var(--text-muted);margin-top:.55rem}@media (hover:hover) and (pointer:fine){.column-heading h2 a:hover:after{transform:translate(.08rem,-.08rem)}.directory-links a:hover:after{opacity:1;transform:translate(0)}}@media (width<=900px) and (width>=601px){.directory{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-column:nth-child(3){border-top:1px solid var(--line);border-left:0;grid-column:1/-1;min-height:15rem;padding-left:0}}@media (width<=600px){.directory{display:block}.directory-column,.directory-column+.directory-column,.directory-column:last-child{border-left:0;min-height:0;padding:1.15rem 0 3.75rem}.directory-column+.directory-column{border-top:1px solid var(--line)}.column-heading{margin-bottom:2.5rem}}.contact-links{border-top:1px solid var(--text-primary);font-family:var(--font-mono);justify-content:flex-end;gap:.55rem;padding-top:1.25rem;animation:.42s ease-out .16s both content-reveal;display:flex}.contact-links a{border:1px solid var(--text-primary);letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;min-width:3.6rem;min-height:2.75rem;padding:.65rem .9rem;font-size:.75rem;font-weight:500;line-height:1;transition:background-color .16s,color .16s;display:inline-flex}.contact-links a:focus-visible{border-radius:999px}@media (hover:hover) and (pointer:fine){.contact-links a:hover{background:var(--text-primary);color:var(--page-background)}}@media (width<=600px){.contact-links{justify-content:flex-start}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-98bbbccb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-013b2f2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-background:#fafaf8;--text-primary:#111;--text-muted:#1111119e;--line:#11111138;--page-gutter:clamp(1.5rem, 7.2vw, 8.75rem);--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", "PingFang SC", monospace}*{box-sizing:border-box}html{background:var(--page-background);min-width:20rem}body{background:var(--page-background);min-height:100svh;color:var(--text-primary);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:.24rem;border-radius:.12rem;outline:2px solid}@keyframes content-reveal{0%{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-background:#111;--text-primary:#f2f2ee;--text-muted:#f2f2ee85;--line:#f2f2ee38}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
