body{min-height:100vh;background:radial-gradient(1200px 600px at 85% -10%,oklch(92% .05 60 / .35),transparent 60%),radial-gradient(900px 500px at -10% 110%,oklch(90% .05 90 / .28),transparent 60%),var(--cream)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) body{background:radial-gradient(1200px 600px at 85% -10%,oklch(28% .04 45 / .7),transparent 60%),radial-gradient(900px 500px at -10% 110%,oklch(24% .03 55 / .6),transparent 60%),var(--cream)}}.sky{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.shell{max-width:1120px;margin:0 auto;padding:40px 32px 80px;position:relative;z-index:2}.topbar{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ink-faint)}.topbar .mark{font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.topbar .meta{font-family:var(--sans);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.stage{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:72px;align-items:start;margin-top:56px}.portrait{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4 / 5;box-shadow:var(--shadow-2);background:var(--sand)}.portrait img{width:100%;height:100%;object-fit:cover;display:block}.portrait .tape{position:absolute;top:-10px;left:24px;width:90px;height:22px;background:#e7d4bbd9;border:1px solid oklch(82% .04 70 / .5);transform:rotate(-3deg);box-shadow:0 2px 4px #0002}.portrait .tape.r{left:auto;right:24px;transform:rotate(2deg)}.caption{margin-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}.caption .sig{font-family:var(--serif);font-size:20px;line-height:1;letter-spacing:-.008em;color:var(--ink)}.caption .sig em{font-style:italic;color:var(--rust);font-weight:400}.caption .note{font-family:var(--sans);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rust);white-space:nowrap}.rail{padding-top:4px}.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin-bottom:20px;display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:24px;height:1px;background:var(--rust)}h1{font-family:var(--serif);font-weight:400;font-size:clamp(46px,6.4vw,78px);line-height:1.02;letter-spacing:-.015em;margin:0;color:var(--ink)}h1 em{font-style:italic;font-weight:400;color:var(--rust-deep)}.lede{margin:28px 0 0;max-width:46ch;font-size:20px;line-height:1.5;color:var(--ink-soft);font-family:var(--serif);font-weight:400}.lede .accent{color:var(--rust-deep);font-style:italic}.list{margin-top:48px;border-top:1px solid var(--rule)}.row{display:grid;grid-template-columns:180px 1fr auto;gap:24px;padding:18px 0;align-items:baseline;border-bottom:1px solid var(--rule);position:relative;transition:padding .18s ease,background .18s ease;text-decoration:none;color:inherit}.row:hover{padding-left:12px;background:linear-gradient(90deg,oklch(95% .03 70 / .6),transparent 70%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .row:hover{background:linear-gradient(90deg,oklch(26% .02 50 / .5),transparent 70%)}}.row .kind{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.row .title{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-.005em;color:var(--ink)}.row .title .sub{font-family:var(--serif);font-size:16px;font-style:italic;font-weight:400;color:var(--ink-faint);display:block;margin-left:0;margin-top:2px;letter-spacing:0}.row .arrow{color:var(--ink-faint);font-family:var(--sans);font-size:13px;transition:transform .22s ease,color .18s ease}.row:not(.parent):hover .arrow{color:var(--rust);transform:translate(4px)}.row.parent{cursor:pointer}.row.parent:hover .arrow{color:var(--rust)}.row.parent[aria-expanded=true] .arrow{transform:rotate(90deg);color:var(--rust)}.popout{position:absolute;top:calc(100% + 10px);left:180px;min-width:340px;background:var(--surface);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow-2);padding:8px;z-index:20;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .16s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.row.parent[aria-expanded=true] .popout{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.popout:before{content:"";position:absolute;top:-6px;left:28px;width:10px;height:10px;background:var(--surface);border-left:1px solid var(--rule);border-top:1px solid var(--rule);transform:rotate(45deg)}.popout .head{padding:10px 14px 8px;font-family:var(--sans);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px dashed var(--rule)}.popout a.item{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 14px;text-decoration:none;border-radius:6px;transition:background .14s ease}.popout a.item:hover{background:#f5e1c8b3}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .popout a.item:hover{background:#35251bcc}}.popout .name{font-family:var(--serif);font-size:18px;color:var(--ink)}.popout .name .muted{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-faint);margin-left:6px}.popout .dom{font-family:var(--sans);font-size:11px;color:var(--ink-faint)}.cta-wrap{display:flex;justify-content:center;margin-top:40px}.resume-cta{display:inline-flex;align-items:baseline;gap:12px;padding:16px 24px 17px;border:1px solid var(--rust);border-radius:999px;background:var(--rust);color:var(--cream);text-decoration:none;font-family:var(--serif);font-size:19px;box-shadow:0 1px #7331194d,var(--shadow-1);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.resume-cta:hover{transform:scale(1.035);box-shadow:var(--shadow-2)}.resume-cta .mono{font-family:var(--sans);font-size:11px;letter-spacing:.12em;opacity:.8}.crumbs{margin-top:64px;padding-top:20px;border-top:1px dashed var(--rule);display:flex;justify-content:space-between;font-family:var(--sans);font-size:11px;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--rust)}@media(max-width:780px){.stage{grid-template-columns:1fr;gap:40px}.portrait{max-width:360px}.row{grid-template-columns:110px 1fr auto;gap:14px}.row .kind{font-size:10px}.row .title{font-size:20px}.popout{min-width:280px;left:0!important}.popout:before{left:28px!important}}
