@font-face{font-family:Instrument Serif;src:url('/assets/instrument-serif.c11e66a249f756aa.woff2') format('woff2');font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans.703081024a8cc931.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#080706;--surface:#191716;--ink:#f1eee7;--muted:#c6beb3;--accent:#e9d4b3;--line:#3a342f;--radius:14px;font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--ink);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}body{scrollbar-color:var(--line) var(--bg)}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}.wrap{width:min(1100px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;z-index:5;padding:12px;background:var(--ink);color:var(--bg)}.skip:focus{top:10px}.skip:hover{color:#17130f}
.masthead{display:flex;align-items:center;justify-content:space-between;padding-block:30px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-family:'Instrument Serif',serif;font-size:34px;line-height:1;text-decoration:none}.brand svg{width:29px;height:32px;color:var(--accent)}nav{display:flex;gap:26px;font-size:14px;color:var(--muted)}nav a{text-decoration:none}nav a:hover{text-decoration:underline}
.intro{position:relative;padding:66px 0 50px;isolation:isolate}.intro h1{max-width:780px;margin:0 0 22px;font-family:'Instrument Serif',serif;font-size:clamp(48px,6.8vw,78px);font-weight:400;letter-spacing:-.025em;line-height:1.03;text-wrap:balance}.intro p{max-width:540px;margin:0;color:var(--muted);font-size:17px;line-height:1.75}
.featured{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;background:var(--surface);border-radius:var(--radius);padding:32px}.featured h2{font-family:'Instrument Serif',serif;font-size:40px;line-height:1.12;font-weight:400;letter-spacing:-.02em;margin:0 0 16px}.featured p{font-size:15px;line-height:1.8;color:var(--muted);max-width:43ch;margin:0 0 24px}.featured .preview{border-radius:8px;overflow:hidden;display:block}.featured img{aspect-ratio:8/5;object-fit:cover;width:100%}.button{display:inline-flex;align-items:center;gap:12px;padding:13px 18px;border-radius:6px;background:var(--accent);color:#17130f;text-decoration:none;font-size:14px;font-weight:600}.button:hover{background:#f4e3c9;color:#17130f}.arrow{width:18px;height:18px;vertical-align:middle}
.directory{padding-top:60px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.section-heading h2{font-size:24px;font-weight:500;margin:0;letter-spacing:-.025em}.section-heading p{font-size:13px;color:var(--muted);margin:0}.project-list{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.project{display:grid;grid-template-columns:108px 1fr;gap:20px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line);min-width:0}.thumb{display:block;border-radius:7px;overflow:hidden;margin-top:4px;background:var(--surface)}.thumb img{width:108px;aspect-ratio:1.3;object-fit:cover;object-position:top}.project h3{font-size:18px;line-height:1.4;font-weight:500;margin:0 0 7px}.project h3 a{text-decoration:none}.project h3 a:hover{text-decoration:underline}.project p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.links{display:flex;flex-wrap:wrap;gap:6px 17px;margin-top:12px}.links a{font-size:13px;line-height:1.7;color:var(--accent);padding-block:5px}.links .arrow{width:14px;height:14px;margin-left:3px}.horizons-thumb{width:108px;aspect-ratio:1.3;background:#211e1b;display:grid;place-items:center}.horizons-thumb svg{width:90px;height:65px}
.about{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:68px;padding:34px 0 42px;border-top:1px solid var(--line)}.about h2{font-family:'Instrument Serif',serif;font-size:32px;font-weight:400;margin:0}.about p{max-width:65ch;font-size:15px;line-height:1.8;color:var(--muted);margin:0}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer a{padding-block:8px}.error{padding-block:90px}.error h1{font-family:'Instrument Serif',serif;font-size:56px;font-weight:400}.error p{color:var(--muted);line-height:1.8}.error .button{margin-top:15px}
@media(min-width:1500px){.intro{padding-top:80px;padding-bottom:60px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.featured{gap:24px;padding:24px}.featured h2{font-size:34px}.project-list{column-gap:28px}.project{grid-template-columns:76px 1fr;gap:15px}.thumb img,.horizons-thumb{width:76px}.horizons-thumb svg{width:65px}.intro h1{max-width:620px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.masthead{padding-block:24px}.brand{font-size:30px}nav{gap:18px;font-size:13px}.intro{padding:47px 0 34px}.intro h1{font-size:50px;max-width:400px}.intro p{font-size:16px;max-width:34ch}.featured{display:flex;flex-direction:column-reverse;align-items:stretch;gap:24px;padding:20px}.featured h2{font-size:36px}.featured p{margin-bottom:20px}.featured img{aspect-ratio:1.8}.button{justify-content:center;min-height:46px}.directory{padding-top:44px}.section-heading{align-items:start;gap:12px}.section-heading h2{font-size:22px}.section-heading p{max-width:15ch;text-align:right;line-height:1.5}.project-list{grid-template-columns:1fr}.project{grid-template-columns:90px 1fr;gap:18px;padding-block:24px}.thumb img,.horizons-thumb{width:90px}.about{grid-template-columns:1fr;gap:16px;margin-top:46px;padding-top:28px}.footer{align-items:start}.footer span{max-width:22ch;line-height:1.7}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* A static SVG field is visible immediately and needs no script. */
body{background-color:#070605;background-image:linear-gradient(rgba(7,6,5,.30),rgba(7,6,5,.30)),url('/assets/field.2c80cebdc42bd73c.svg');background-position:center;background-size:cover;background-attachment:fixed}
.space{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;mix-blend-mode:screen}
.space>svg{width:100%;height:100%;display:block}
.space.is-ready{opacity:.7}
html.sky-ready body{background-image:none}
.black-hole{position:fixed;left:0;top:0;width:720px;height:720px;z-index:0;pointer-events:none;opacity:0;will-change:auto}
.black-hole canvas{display:block;width:100%;height:100%}
.lens-word{display:inline-block;transform-origin:center}
.lens-letter{display:inline-block;transform-origin:center}
.sky-ready .intro h1,.sky-ready .featured h2,.sky-ready .section-heading h2,.sky-ready .about h2{word-spacing:.08em}
.wrap{position:relative;z-index:1}
.intro::before{content:"";position:absolute;z-index:-1;left:-8%;top:0;width:min(760px,110%);height:100%;pointer-events:none;background:radial-gradient(ellipse at 25% 50%,rgba(7,6,5,.78),transparent 72%)}
.intro h1,.intro p,.section-heading,.project h3,.project p,.links,.about,.masthead,.footer{text-shadow:0 1px 12px #070605,0 1px 3px #070605}
.featured,.thumb,.preview{position:relative}
.featured{border:1px solid transparent}
.featured::before{content:"";position:absolute;inset:-1px;border:1px solid #332d28;border-radius:inherit;pointer-events:none;filter:var(--lens-border-filter,none)}
.featured::after,.thumb::after,.preview::after{content:"";position:absolute;inset:-1px;border:1px solid transparent;border-radius:inherit;pointer-events:none;background:radial-gradient(180px circle at var(--light-x,75%) var(--light-y,0%),rgba(var(--light-rgb,255,214,159),.9),rgba(var(--light-rgb,208,157,117),.18) 38%,transparent 70%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:var(--light-strength,.35)}
.featured::after{z-index:2;filter:var(--lens-border-filter,none)}
.thumb::after,.preview::after{inset:0}
@media(prefers-reduced-motion:reduce){.black-hole{display:none}}
