@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#28231f;--paper:#f3efe5;--paper2:#e9e2d4;--gold:#a46f27;--line:#cfc7b8;--muted:#6b6258;--darkline:#575048}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit}.wrap{max-width:1240px;margin:auto;padding-left:28px;padding-right:28px}header{height:92px;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:.08em}.brand img{width:42px;height:42px;object-fit:contain}.brand span{white-space:nowrap}nav{display:flex;gap:30px}nav a{text-decoration:none;font-size:14px}nav a:hover,.textlink:hover{color:var(--gold)}.hero{max-width:1240px;margin:auto;padding:108px 28px 92px;position:relative}.eyebrow,.tag,.kicker{font:500 12px DM Mono,monospace;letter-spacing:.14em;color:var(--gold);text-transform:uppercase}h1{font-size:clamp(58px,9vw,126px);line-height:.88;letter-spacing:-.07em;margin:24px 0 36px;font-weight:600}h1 em{color:var(--gold);font-style:normal}.hero>p{max-width:720px;font-size:19px;line-height:1.75;color:#625a51}.actions{display:flex;gap:28px;align-items:center;margin-top:38px}.actions a{text-decoration:none}.primary{display:inline-block;background:var(--ink);color:var(--paper)!important;padding:15px 21px;text-decoration:none;font:500 13px DM Mono,monospace}.primary:hover{background:var(--gold)}.terminal{position:absolute;right:28px;bottom:42px;border:1px solid var(--line);padding:17px 22px;font:12px/1.8 DM Mono,monospace;transform:rotate(-1deg);background:#eee9de}.terminal span{color:var(--gold)}.terminal i{font-style:normal;color:#777}.section{padding:90px max(28px,calc((100vw - 1184px)/2))}.sectionhead{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:34px}.sectionhead h2,.split h2,.cta h2{font-size:clamp(35px,5vw,64px);letter-spacing:-.05em;margin:0}.sectionhead p{max-width:520px;color:var(--muted);line-height:1.65;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);padding:30px;min-height:280px;display:flex;flex-direction:column}.card h3{font-size:25px;letter-spacing:-.035em;margin:18px 0 10px}.card p{color:var(--muted);line-height:1.7}.card .textlink{margin-top:auto;text-decoration:none;font:500 12px DM Mono,monospace}.card.featured{background:var(--paper2)}.dark{background:var(--ink);color:#eee8dc}.dark .sectionhead{border-color:var(--darkline)}.projectrow{display:grid;grid-template-columns:110px 1.3fr 1fr auto;gap:22px;padding:27px 0;border-bottom:1px solid var(--darkline);align-items:center;text-decoration:none}.projectrow img{width:90px;height:72px;object-fit:contain;background:#f2eee5;padding:6px}.projectrow b{font-size:27px}.projectrow span{color:#a9a095}.projectrow strong{font:300 30px DM Mono;color:var(--gold)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.split p{font-size:18px;line-height:1.8;color:var(--muted)}.pillbox{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.pill{border:1px solid var(--line);padding:8px 11px;font:12px DM Mono,monospace}.cta{display:grid;grid-template-columns:220px 1fr;gap:70px;align-items:center;background:var(--paper2)}.cta img{width:100%;max-height:220px;object-fit:contain}.cta p{max-width:650px;line-height:1.7;color:var(--muted);margin:24px 0}.pagehero{padding:80px max(28px,calc((100vw - 1184px)/2)) 58px;border-bottom:1px solid var(--line)}.pagehero h1{font-size:clamp(54px,8vw,105px);margin-bottom:25px}.pagehero p{max-width:760px;font-size:18px;line-height:1.75;color:var(--muted)}.projectdetail{display:grid;grid-template-columns:minmax(260px,.85fr) 1.35fr;gap:65px;padding:70px 0;border-bottom:1px solid var(--line)}.projectdetail figure{margin:0;position:sticky;top:25px;align-self:start}.projectdetail img{width:100%;max-height:440px;object-fit:contain;background:#eee9de;padding:22px}.projectdetail h2{font-size:clamp(31px,4vw,48px);letter-spacing:-.045em;margin:8px 0 22px}.projectdetail h3{font-size:14px;font-family:DM Mono,monospace;letter-spacing:.08em;color:var(--gold);text-transform:uppercase;margin-top:30px}.projectdetail p{line-height:1.8;color:var(--muted)}.meta{font:12px DM Mono,monospace;color:var(--gold)}.download{display:inline-block;margin-top:15px;border-bottom:1px solid var(--ink);text-decoration:none;padding-bottom:4px;font:500 12px DM Mono,monospace}.timeline{border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.timeline time{font:12px DM Mono,monospace;color:var(--gold)}.timeline h3{margin:0 0 8px;font-size:19px}.timeline p{margin:0;color:var(--muted);line-height:1.6}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.skills article{border:1px solid var(--line);padding:25px}.skills h3{margin-top:0}.skills ul{padding-left:18px;color:var(--muted);line-height:1.8}.portrait{width:190px;height:190px;border-radius:50%;object-fit:cover;filter:grayscale(100%)}footer{max-width:1240px;margin:auto;padding:40px 28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font:12px DM Mono,monospace}footer small{display:block;color:#897f73;margin-top:5px}@media(max-width:850px){nav{gap:14px}.terminal{position:static;margin-top:65px}.cards,.skills{grid-template-columns:1fr}.split,.projectdetail{grid-template-columns:1fr;gap:30px}.cta{grid-template-columns:100px 1fr;gap:28px}.projectrow{grid-template-columns:85px 1fr auto}.projectrow span{grid-column:2}.sectionhead{display:block}.sectionhead p{margin-top:16px}.projectdetail figure{position:static}.timeline article{grid-template-columns:1fr;gap:8px}}@media(max-width:620px){header{height:auto;padding-top:20px;padding-bottom:20px;align-items:flex-start;gap:18px}.brand span{display:none}nav{font-size:12px;gap:12px;flex-wrap:wrap;justify-content:flex-end}.hero{padding-top:65px}.projectrow{grid-template-columns:1fr auto}.projectrow img{display:none}.projectrow span{grid-column:1}.cta{grid-template-columns:1fr}.cta img{width:100px}footer{gap:20px;flex-direction:column}}
