:root{--bg: #f5f1e8;--surface: #ffffff;--fg: #1a1a1a;--muted: #5f5b54;--line: #e3dcce;--line-strong: #cfc6b3;--accent: #b85c38;--accent-soft: #f0d9cd;--max: 920px;--radius: 12px;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line-strong);transition:border-color .12s ease,color .12s ease}a:hover{border-bottom-color:var(--accent);color:var(--accent)}.page{min-height:100vh}.container{max-width:var(--max);margin:0 auto;padding:72px 28px 80px}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.015em}h1{font-size:clamp(2rem,4vw,2.75rem);line-height:1.1}h3{font-size:1.2rem;line-height:1.3}.section-label{display:inline-block;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--fg);margin-bottom:26px;padding-bottom:6px;border-bottom:2px solid var(--accent)}.eyebrow{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 14px}.muted{color:var(--muted)}.small{font-size:.88rem}.prose{max-width:62ch;font-size:1.02rem}.hero{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:48px;align-items:center;padding-bottom:16px}.hero-photo-wrap{position:relative}.hero-photo{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:0 1px #00000005,0 8px 24px -16px #3c28142e}.hero-text{min-width:0}.lede{margin:14px 0 6px;font-size:1.18rem;line-height:1.5;max-width:36ch}.status{margin:4px 0 0;color:var(--muted)}.cta{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;padding:9px 16px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font-size:.92rem;font-weight:500}.btn:hover{border-color:var(--fg);color:var(--fg)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover{background:#000;border-color:#000;color:var(--bg)}.btn.ghost{background:transparent}.block{margin-top:88px}.section-head{margin-bottom:28px}.section-sub{margin:-12px 0 0;color:var(--muted);font-size:.98rem}.section-sub a{border-bottom-color:var(--accent);color:var(--accent)}.projects{display:grid;gap:36px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .16s ease,transform .2s ease}.project-card:hover{border-color:var(--line-strong)}.project-image-link{display:block;border-bottom:none;background:#efe9da;overflow:hidden}.project-image-link:hover{border-bottom:none}.project-image{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1)}.project-card:hover .project-image{transform:scale(1.015)}.project-body{padding:24px 26px 26px}.project-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:10px}.project-summary{margin:0;color:#2a2a2a;max-width:70ch}.tags{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:.74rem}.tags li{padding:3px 9px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);background:var(--bg)}.project-actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.project-actions .btn{border-bottom:1px solid var(--line-strong)}.project-actions .btn.primary{border-bottom-color:var(--fg)}.edu{list-style:none;margin:0;padding:0;display:grid;gap:14px}.edu li{display:grid;gap:2px}.edu-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.contact{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:22px;font-size:1rem}.footer{margin-top:80px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;font-family:var(--mono)}@media(max-width:760px){.container{padding:48px 22px 56px}.hero{grid-template-columns:1fr;gap:28px}.hero-photo-wrap{max-width:320px}.block{margin-top:64px}.project-body{padding:20px 20px 22px}}
