@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,500&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--ink:#0f1b2b;--surface:#16263d;--surface-2:#1c2f4a;--paper:#f2efe6;--muted:#93a1b5;--gold:#d4a24e;--teal:#3fa796;--line:#f2efe61f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);margin:0;font-family:IBM Plex Sans,sans-serif;line-height:1.6}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Fraunces,serif;font-weight:600}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 32px}nav{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#0f1b2bd9;position:sticky;top:0}.navbar{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{font-family:Fraunces,serif;font-size:1.05rem;font-weight:600}.brand span{color:var(--gold)}.navlinks{gap:28px;font-size:.85rem;display:flex}.navlinks a{color:var(--muted);letter-spacing:.02em;font-family:IBM Plex Mono,monospace;text-decoration:none;transition:color .2s}.navlinks a:hover{color:var(--paper)}.hero{padding:96px 0 64px;position:relative;overflow:hidden}.eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:.8rem;display:flex}.eyebrow:before{content:"";background:var(--gold);width:24px;height:1px}.hero h1{max-width:14ch;font-size:clamp(2.4rem,5vw,4rem)}.hero h1 em{color:var(--teal);font-style:italic;font-weight:500}.hero p.lede{max-width:54ch;color:var(--muted);margin-top:22px;font-size:1.1rem}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.ctas{gap:14px;margin-top:32px;display:flex}.btn{border:1px solid var(--line);border-radius:2px;padding:12px 22px;font-family:IBM Plex Mono,monospace;font-size:.85rem;text-decoration:none;transition:all .2s}.btn-primary{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:500}.btn-primary:hover{background:#e3b566}.btn-ghost:hover{border-color:var(--paper)}.ledger-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:64px;display:grid}.ledger-cell{border-right:1px solid var(--line);padding:20px 24px}.ledger-cell:last-child{border-right:none}.ledger-cell .num{color:var(--gold);font-family:Fraunces,serif;font-size:1.7rem}.ledger-cell .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:.72rem}section{padding:84px 0}.alt-bg{background:var(--surface-2)}.section-head{align-items:baseline;gap:16px;margin-bottom:48px;display:flex}.section-head .tag{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.8rem}.section-head h2{font-size:2rem}.spine{padding-left:40px;position:relative}.spine:before{content:"";background:linear-gradient(180deg, var(--gold), var(--teal));width:2px;position:absolute;top:6px;bottom:6px;left:7px}.spine-item{padding-bottom:48px;position:relative}.spine-item:last-child{padding-bottom:0}.spine-item:before{content:"";background:var(--ink);border:2px solid var(--gold);border-radius:50%;width:16px;height:16px;position:absolute;top:4px;left:-40px}.spine-item.data:before{border-color:var(--teal)}.spine-item .period{color:var(--muted);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:.78rem}.spine-item h3{margin-bottom:4px;font-size:1.3rem}.spine-item .org{color:var(--gold);margin-bottom:10px;font-size:.95rem}.spine-item.data .org{color:var(--teal)}.spine-item p{color:var(--muted);max-width:60ch;margin:0}.tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tags span{border:1px solid var(--line);color:var(--muted);border-radius:2px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:.72rem}.grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.card{background:var(--surface);padding:32px}.card .idx{color:var(--teal);margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:.78rem}.card h3{margin-bottom:10px;font-size:1.15rem}.card p{color:var(--muted);margin:0;font-size:.93rem}.card .tags{margin-top:16px}.skill-cols{grid-template-columns:1fr 1fr;gap:48px;display:grid}.skill-col h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:500}.skill-list{margin:0;padding:0;list-style:none}.skill-list li{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:.95rem;display:flex}.skill-list li span.bar{color:var(--gold);font-family:IBM Plex Mono,monospace;font-size:.8rem}.skill-col.data .skill-list li span.bar{color:var(--teal)}footer{border-top:1px solid var(--line);padding:64px 0 48px}.contact-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}footer h2{max-width:16ch;font-size:1.8rem}.contact-links{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.contact-links a{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.9rem;text-decoration:none}.contact-links a:hover{color:var(--gold)}.fineprint{color:var(--muted);text-align:center;margin-top:56px;font-family:IBM Plex Mono,monospace;font-size:.78rem}@media (width<=720px){.ledger-strip{grid-template-columns:repeat(2,1fr)}.ledger-cell:nth-child(2){border-right:none}.grid,.skill-cols{grid-template-columns:1fr}.contact-row{flex-direction:column;align-items:flex-start}.contact-links{align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
