:root{--bg: #FAF7F2;--surface: #EDE4F3;--border: #E0D5C9;--text: #3D2E52;--text-muted: #6B5A80;--accent: #D85A30;--pill-bg: #FAEEDA;--pill-text: #854F0B;--label: #7A6890;--faded: #C4B7D4;--divider: #D5CAE0;--serif: "Crimson Pro", Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg)}body{position:relative;font-family:var(--serif);font-weight:400;color:var(--text);line-height:1.7;font-size:19px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:80px 32px 56px}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.24  0 0 0 0 0.18  0 0 0 0 0.32  0 0 0 0.35 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.container{max-width:660px;margin:0 auto}a{color:var(--accent);text-decoration:none}.intro{position:relative;margin-bottom:56px}h1{font-family:var(--serif);font-weight:600;font-size:44px;line-height:1.1;letter-spacing:-.01em;color:var(--text);margin-bottom:14px}.tagline{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.45;color:var(--text-muted)}.lede{display:flex;align-items:center;gap:28px;margin-bottom:72px}.portrait{flex-shrink:0;width:132px;height:132px;border-radius:50%;object-fit:cover;object-position:center top;border:.5px solid var(--border)}.lede-body{flex:1;min-width:0}.accent-bar{display:block;width:36px;height:2px;background:var(--accent);margin-bottom:22px}.lede p{font-size:19px;line-height:1.7;color:var(--text)}.group{margin-bottom:56px}.group-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--label);margin-bottom:18px}.project{display:block;color:inherit;text-decoration:none;background:var(--surface);border:.5px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #3d2e520f,0 6px 14px -4px #3d2e521a,0 22px 40px -16px #3d2e522e;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease}.project:hover{transform:translateY(-2px);box-shadow:0 1px 2px #3d2e5212,0 10px 20px -4px #3d2e5224,0 30px 56px -18px #3d2e5242;border-color:#d0bea8}.project-hero{position:relative;width:100%;aspect-ratio:16 / 9;background-color:#dce8ee;background-image:url(/textures/wash-sky.png);background-size:cover;background-position:center;border-bottom:.5px solid var(--border);display:flex;align-items:center;justify-content:center;padding:36px 56px}.project-hero img{max-width:100%;max-height:100%;width:auto;height:100%;object-fit:contain;border-radius:6px;box-shadow:0 1px 2px #3d2e5214,0 8px 16px -4px #3d2e522e,0 24px 40px -12px #3d2e5238}.project-body{padding:24px 28px 26px}.project-title{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.25;color:var(--text);margin-bottom:10px;letter-spacing:-.005em}.project-desc{font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.6;color:var(--text-muted);margin-bottom:18px}.entries{list-style:none;border-top:1px solid var(--divider)}.entry{position:relative;padding:22px 0 20px;border-bottom:1px solid var(--divider)}.entry-title{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.3;color:var(--text);margin-bottom:8px;letter-spacing:-.005em;padding-right:110px}.entry-desc{font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.6;color:var(--text-muted);margin-bottom:14px}.entry-flag{position:absolute;top:24px;right:0;font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faded)}.entry--coming .entry-title{color:var(--text)}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.tags li{font-family:var(--sans);background:var(--pill-bg);color:var(--pill-text);padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.03em}.site-foot{margin-top:72px;padding-top:22px;border-top:1px solid var(--divider);display:flex;justify-content:space-between;align-items:center;gap:16px}.contact{list-style:none;display:flex;gap:22px}.contact a{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--accent);border-bottom:1px solid transparent;transition:border-color .2s ease}.contact a:hover{border-bottom-color:var(--accent)}.built{font-family:var(--sans);font-size:12px;color:var(--label);letter-spacing:.02em}
