@font-face{font-family:"Share Tech";src:url("/assets/fonts/share-tech-regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--paper:#f5f4ee;--ink:#202820;--muted:#62695e;--line:#d8dbcf;--green:#385a33;--accent:#dfebbd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Share Tech",Arial,Helvetica,sans-serif;font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--green);outline-offset:6px}.shell{max-width:1200px;margin:auto;padding:0 48px}header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;letter-spacing:0;font-weight:400}.mark{font-family:monospace;font-size:23px;margin-right:14px;color:var(--green)}.muted{color:var(--muted);font-weight:400}.header-link{font-size:16px}.header-link span{margin-left:12px}.hero{position:relative;padding:85px 0 90px}.eyebrow,.category,.project-bottom,footer{font-family:inherit}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:13px;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:9px}h1{font-size:clamp(64px,8vw,106px);line-height:1.02;letter-spacing:-4px;font-weight:400;margin:33px 0 27px}.source{color:var(--green);letter-spacing:inherit}.intro{font-size:18px;line-height:1.7;color:var(--muted)}.button{display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid var(--green);color:var(--green);padding:9px 0;border-radius:0;font-size:16px;margin-top:19px}.button:hover{color:var(--ink);border-color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:29px 0}h2{font-size:25px;letter-spacing:0;font-weight:400;margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project{display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:5px;transition:background .15s,border-color .15s}.project:hover{background:#eaf0dd;border-color:#8b9e78}.project-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.category{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.arrow{font-size:21px;color:var(--green)}h3{font-size:19px;letter-spacing:0;overflow-wrap:anywhere;margin:30px 0 12px}.project p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 30px}.project-bottom{margin-top:auto;font-size:13px;color:var(--green)}.project-bottom span{margin-left:7px}.closing{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:70px 0;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}.closing .eyebrow{margin:0 0 16px}.closing p:last-child{color:#4d5c40;font-size:16px;line-height:1.6;margin-bottom:0}.text-link{font-size:16px;white-space:nowrap;border-bottom:1px solid var(--green);padding-bottom:8px}footer{padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}.skip{position:absolute;left:16px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:2}.skip:focus{top:16px}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}h1{font-size:82px}}@media(max-width:760px){.shell{padding:0 24px}header{height:85px}.hero{padding:55px 0}.section-heading{align-items:flex-start;gap:15px;flex-direction:column}.section-heading .eyebrow{font-size:10px}h1{font-size:clamp(56px,12vw,76px);letter-spacing:-3px}.grid{grid-template-columns:1fr}.closing{flex-direction:column;align-items:flex-start;margin:45px 0;padding:26px 0}footer{flex-wrap:wrap}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project{transition:none}}

/* The brackets carry the source / sorcery wordplay. */
.dot{position:relative}
.dot::after{content:"";position:absolute;inset:0;border:1px solid var(--green);border-radius:50%;animation:signal-emission 2.4s ease-out infinite;pointer-events:none}
@keyframes signal-emission{0%{transform:scale(1);opacity:.65}75%,100%{transform:scale(3.5);opacity:0}}
@media(prefers-reduced-motion:reduce){.dot::after{animation:none;opacity:0}}
h1.library-title{font-size:clamp(40px,6.6vw,84px);letter-spacing:-.015em}
.library-title .spell{color:var(--green)}
@media(max-width:760px){h1.library-title{font-size:clamp(32px,8.7vw,66px)}}

.contact{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:0 0 70px}
.contact .eyebrow{margin:0 0 16px}
.contact p:last-child{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:0}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
@media(max-width:760px){.contact{flex-direction:column;align-items:flex-start;margin-bottom:45px}}
