:root{--bg:#faf8f4;--bg-raised:#fff;--text:#2b2620;--text-muted:#6f665a;--border:#e4dfd3;--accent:#c1571f;--accent-soft:#c1571f1a;--accent-border:#c1571f59;--live:#2f6b46;--live-bg:#2f6b461a;--offline:#9a6b1f;--offline-bg:#9a6b1f1f;--serif:"Fraunces", Georgia, serif;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font:17px/1.6 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--serif);color:var(--text);margin:0;font-weight:500}p{color:var(--text-muted);margin:0}a{color:inherit}.page{max-width:880px;margin:0 auto;padding:0 32px;position:relative;overflow-x:clip}.blob{z-index:-1;filter:blur(70px);opacity:.55;pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.blob-a{background:radial-gradient(circle,#c1571f66,#0000 70%);width:480px;height:480px;animation:22s ease-in-out infinite drift-a;top:-220px;right:-160px}.blob-b{background:radial-gradient(circle,#e0a33c59,#0000 70%);width:420px;height:420px;animation:26s ease-in-out infinite drift-b;top:40px;left:-220px}.blob-c{background:radial-gradient(circle,#2f6b4638,#0000 70%);width:380px;height:380px;animation:30s ease-in-out infinite drift-c;top:900px;right:-180px}@keyframes drift-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-40px,50px)scale(1.08)}}@keyframes drift-b{0%,to{transform:translate(0)scale(1)}50%{transform:translate(50px,30px)scale(.95)}}@keyframes drift-c{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-30px,-40px)scale(1.05)}}@media (prefers-reduced-motion:reduce){.blob{animation:none}}.site-header{justify-content:space-between;align-items:center;padding:40px 0 32px;display:flex;position:relative}.wordmark{font-family:var(--serif);letter-spacing:-.2px;font-size:19px}.nav{gap:28px;display:flex}.nav a{color:var(--text-muted);font-size:15px;text-decoration:none;transition:color .2s}.nav a:hover{color:var(--text)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:13px;font-weight:600}.section-heading{margin-bottom:40px}.section-heading h2{letter-spacing:-.4px;font-size:34px}.hero{border-bottom:1px solid var(--border);padding:88px 0 96px;position:relative}.hero h1{letter-spacing:-1.8px;max-width:700px;font-size:68px;line-height:1.05}.headline-line{display:block}.word-mask{vertical-align:top;margin-bottom:-.08em;margin-right:.22em;padding-bottom:.08em;display:inline-block;overflow:hidden}.word{background:linear-gradient(100deg, var(--text) 45%, var(--accent) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-sub{max-width:480px;color:var(--text-muted);margin-top:26px;font-size:19px;line-height:1.55}@media (width<=640px){.hero{padding:56px 0 60px}.hero h1{letter-spacing:-1px;font-size:42px}.hero-sub{font-size:17px}}.projects{border-bottom:1px solid var(--border);padding:88px 0;position:relative}.project-list{flex-direction:column;display:flex}.project-row{border-top:1px solid var(--border);color:inherit;border-radius:20px;grid-template-columns:44px 1fr 32px;align-items:start;gap:24px;margin:0 -28px;padding:36px 28px;text-decoration:none;display:grid;position:relative;overflow:hidden}.project-row:last-child{border-bottom:1px solid var(--border)}.project-row.is-offline{cursor:default}.project-spotlight{z-index:0;border-radius:inherit;opacity:0;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), var(--accent-soft), transparent 70%);transition:opacity .35s;position:absolute;inset:0}.project-row:hover .project-spotlight{opacity:1}.project-index,.project-main,.project-arrow{z-index:1;position:relative}.project-index{font-family:var(--serif);color:var(--text-muted);padding-top:4px;font-size:15px}.project-heading{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.project-heading h3{letter-spacing:-.3px;font-size:26px;transition:color .25s}.is-live:hover .project-heading h3{color:var(--accent)}.status-badge{font-family:var(--sans);letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;width:6px;height:6px}.status-live{color:var(--live);background:var(--live-bg)}.status-live .status-dot{background:var(--live);box-shadow:0 0 0 0 var(--live);animation:2s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #2f6b4680}70%{box-shadow:0 0 0 6px #2f6b4600}to{box-shadow:0 0 #2f6b4600}}.status-offline{color:var(--offline);background:var(--offline-bg)}.status-offline .status-dot{background:var(--offline)}.project-description{max-width:560px;margin-top:12px;font-size:16px;line-height:1.6}.project-tags{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.project-tags li{color:var(--text-muted);border:1px solid var(--border);background:var(--bg-raised);border-radius:999px;padding:4px 10px;font-size:12px}.project-stack{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.project-stack li{color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:6px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}.project-arrow{font-family:var(--serif);color:var(--text-muted);text-align:right;padding-top:6px;font-size:22px;transition:transform .3s,color .3s}.is-live .project-arrow{color:var(--accent)}.is-live:hover .project-arrow{transform:translate(3px,-3px)}@media (width<=640px){.projects{padding:56px 0}.project-row{grid-template-columns:28px 1fr 24px;gap:14px;margin:0 -16px;padding:28px 16px}.project-heading h3{font-size:21px}}.about{padding:88px 0;position:relative}.about-text{max-width:620px;color:var(--text-muted);font-size:19px;line-height:1.65}@media (width<=640px){.about{padding:56px 0}.about-text{font-size:17px}}.site-footer{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:32px 0 48px;font-size:14px;display:flex;position:relative}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--text-muted);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text)}
