:root{--paper:#f3f0e8;--paper-strong:#e9e4d8;--ink:#171714;--muted:#666358;--accent:#5c3df5;--accent-soft:#d8d0ff;--line:color-mix(in srgb, var(--ink), transparent 82%);--max:1180px;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 40px), var(--max));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:88px;display:flex}.brand{align-items:center;gap:12px;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);width:38px;height:38px;color:var(--paper);border-radius:50%;place-items:center;font-size:.78rem;display:grid}nav{gap:clamp(16px,3vw,38px);display:flex}nav a{color:var(--muted);font-size:.92rem;text-decoration:none}nav a:hover{color:var(--ink)}.hero{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);align-items:center;gap:clamp(40px,7vw,100px);min-height:690px;padding-block:82px 94px;display:grid}.kicker,.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:0 0 18px;font-size:.75rem;font-weight:760}.hero h1{letter-spacing:-.067em;max-width:900px;margin:0;font-size:clamp(3.6rem,8.8vw,8.7rem);font-weight:820;line-height:.88}.hero h1 em{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:500;display:block}.lede{max-width:720px;color:var(--muted);margin:34px 0 0;font-size:clamp(1.08rem,1.7vw,1.42rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:34px;display:flex}.button{border:1px solid var(--line);background:#ffffff73;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 17px;font-size:.9rem;text-decoration:none;transition:transform .16s,background .16s;display:inline-flex}.button:hover{background:#fff;transform:translateY(-2px)}.button.primary{color:#fff;background:var(--ink);border-color:var(--ink)}.portrait-wrap{justify-self:end;width:min(100%,360px);position:relative}.portrait-halo{z-index:-1;background:var(--accent-soft);border-radius:46% 54% 58% 42%;position:absolute;inset:-12% -15% 15% 12%;transform:rotate(-7deg)}.portrait{aspect-ratio:1;object-fit:cover;filter:saturate(.78)contrast(1.04);border-radius:48% 52% 42% 58%}.portrait-note{width:fit-content;color:var(--muted);margin:18px 0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;line-height:1.55}.marquee{border-block:1px solid var(--line);background:var(--ink);color:var(--paper);overflow:hidden}.marquee-track{text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:24px;width:max-content;padding:18px 24px;font-size:.82rem;display:flex}.marquee-track i{color:#a992ff;font-style:normal}.section{padding-block:clamp(86px,10vw,150px)}.section-heading{grid-template-columns:72px 1fr;align-items:start;gap:14px;margin-bottom:52px;display:grid}.section-number{color:var(--accent);margin:3px 0 0;font:700 .8rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.section h2{letter-spacing:-.045em;max-width:820px;margin:0;font-size:clamp(2.25rem,5vw,5rem);line-height:.98}.focus-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.focus-card{border-right:1px solid var(--line);min-height:330px;padding:28px;text-decoration:none;transition:background .18s;position:relative}.focus-card:last-child{border-right:0}.focus-card:hover{background:var(--paper-strong)}.focus-card h3{letter-spacing:-.04em;margin:0 0 18px;font-size:clamp(1.7rem,3vw,2.7rem)}.focus-card>p:last-of-type{max-width:34ch;color:var(--muted);margin:0;line-height:1.6}.arrow{font-size:1.6rem;position:absolute;bottom:24px;right:24px}.projects-section{background:var(--ink);color:var(--paper)}.projects-section .kicker{color:#aaa79d}.projects-grid{border-top:1px solid #ffffff38}.project-card{border-bottom:1px solid #ffffff38;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px 0;display:grid}.project-index{color:#9b988f;font:600 .78rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.project-body h3{letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(1.35rem,2.6vw,2.45rem)}.project-body h3 a{text-decoration:none}.project-body h3 a:hover{color:#b9a9ff}.project-body p{color:#b9b5aa;max-width:650px;margin:0;line-height:1.5}.project-meta{color:#aaa79d;white-space:nowrap;align-items:center;gap:16px;font-size:.8rem;display:flex}.project-meta a{color:var(--paper)}.connect{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:70px;display:grid}.connect-copy{color:var(--muted);font-size:1.12rem;line-height:1.6}.connect-copy p{margin-top:0}.text-link{color:var(--ink);margin-top:12px;font-weight:760;display:inline-block}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;padding-block:28px 42px;font-size:.78rem;display:flex}.site-footer p{margin:0}@media (width<=860px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:64px}.portrait-wrap{justify-self:start;width:min(72vw,330px)}.focus-grid{grid-template-columns:1fr}.focus-card{border-right:0;border-bottom:1px solid var(--line);min-height:250px}.focus-card:last-child{border-bottom:0}.project-card{grid-template-columns:46px 1fr}.project-meta{flex-wrap:wrap;grid-column:2}.connect{grid-template-columns:1fr;gap:36px}}@media (width<=560px){.wrap{width:min(calc(100% - 28px), var(--max))}.site-header{min-height:74px}.brand>span:last-child{display:none}nav{gap:15px}nav a{font-size:.82rem}.hero{padding-block:54px 72px}.hero h1{font-size:clamp(3.25rem,18vw,5.4rem)}.section-heading{grid-template-columns:42px 1fr}.project-card{grid-template-columns:34px 1fr;gap:12px}.site-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
