:root{--bg:#f4f3ef;--surface:#fff9f0;--surface-2:#fefcf8;--text:#1f1d1a;--muted:#5e5a53;--line:#e2d8c7;--accent:#c54b31;--accent-dark:#9e311a}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at 85% 5%,#f8d9ba 0,transparent 35%),radial-gradient(circle at 10% 95%,#d6eadf 0,transparent 40%),var(--bg);color:var(--text);min-height:100%}body{font-family:IBM Plex Mono,SFMono-Regular,Menlo,Monaco,Consolas,monospace}a{color:inherit;text-decoration:none}.shell{width:min(1120px,92vw);margin:1.5rem auto 3rem;display:grid;grid-gap:1rem;gap:1rem;animation:rise .5s ease both}.hero,.panel,.site-header{border:1px solid var(--line);border-radius:18px;background:linear-gradient(170deg,var(--surface),var(--surface-2));box-shadow:0 16px 35px -24px rgba(63,51,35,.35)}.site-header{padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:-webkit-sticky;position:sticky;top:.8rem;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-family:Iowan Old Style,Book Antiqua,Palatino Linotype,URW Palladio L,Palatino,serif;font-weight:700;font-size:1.15rem}.site-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.site-nav a{border:1px solid var(--line);padding:.4rem .7rem;border-radius:999px;font-size:.85rem;transition:.16s ease;background:#fff}.site-nav a:hover{border-color:var(--accent);color:var(--accent-dark)}.page-stack{display:grid;grid-gap:1rem;gap:1rem}.hero,.panel{overflow:hidden}.hero{padding:2.25rem}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;margin:0;color:var(--muted)}h1,h2,h3{font-family:Iowan Old Style,Book Antiqua,Palatino Linotype,URW Palladio L,Palatino,serif;margin:0}h1{margin-top:.35rem;font-size:clamp(2rem,3.8vw,3.8rem);line-height:1.03}.hero-copy{max-width:64ch;margin-top:1rem;color:var(--muted)}.hero-actions,.resume-actions{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:.6rem}.hero-actions a,.resume-actions a{border:1px solid var(--line);padding:.6rem .9rem;border-radius:999px;font-size:.9rem;transition:.16s ease;background:#fff}.hero-actions a:hover,.resume-actions a:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateY(-1px)}.panel{padding:1.4rem}.section-subtitle{margin:.35rem 0 1rem;color:var(--muted)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:.9rem;gap:.9rem}.project-card{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff;display:grid;grid-gap:.8rem;gap:.8rem}.project-card-footer,.project-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.project-card-header span{font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.2rem .55rem}.project-card p{margin:0;color:var(--muted);font-size:.94rem}.project-card-footer a{color:var(--accent-dark);font-weight:600}.project-card-footer span{color:var(--muted);font-size:.85rem}.compact{display:grid;grid-gap:.8rem;gap:.8rem}.chip-row{display:flex;flex-wrap:wrap;gap:.55rem}.chip-row span{border:1px solid var(--line);border-radius:999px;padding:.4rem .7rem;font-size:.85rem;background:#fff}.resume-viewer{width:100%;height:78vh;border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:1rem}.note{margin-top:.5rem;color:var(--muted);font-size:.88rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.site-header{position:static}.hero{padding:1.4rem}.panel{padding:1rem}.resume-viewer{height:65vh}}