:root{color-scheme:dark;--bg: #0c0f14;--bg-elevated: #12161e;--border: rgba(255, 255, 255, .08);--text: #e8eaef;--muted: #9aa3b2;--accent: #7dd3fc;--accent-soft: rgba(125, 211, 252, .12);--radius: 14px;--max: 1040px;font-family:DM Sans,system-ui,sans-serif;line-height:1.6;font-weight:400;color:var(--text);background-color:var(--bg)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}.page{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.logo{font-weight:600;letter-spacing:-.02em}.nav{display:flex;gap:1.25rem;font-size:.95rem;color:var(--muted)}.nav a:hover{color:var(--text)}main{flex:1}.hero{max-width:var(--max);margin:0 auto;padding:4rem 1.5rem 3rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted);margin:0 0 1rem}.hero-title{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(2.25rem,5vw,3.35rem);line-height:1.15;margin:0 0 1.25rem;letter-spacing:-.02em}.hero-accent{color:var(--accent)}.hero-lede{max-width:36rem;margin:0 0 2rem;color:var(--muted);font-size:1.05rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;border-radius:999px;font-size:.95rem;font-weight:500;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--accent-soft);border-color:#7dd3fc59;color:var(--accent)}.btn-primary:hover{background:#7dd3fc33}.btn-ghost{border-color:var(--border);color:var(--text)}.btn-ghost:hover{border-color:#fff3}.section{max-width:var(--max);margin:0 auto;padding:3.5rem 1.5rem}.section-alt{background:linear-gradient(180deg,rgba(18,22,30,.6) 0%,transparent 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-head h2{font-family:"Instrument Serif",Georgia,serif;font-size:1.85rem;font-weight:400;margin:0 0 .5rem}.section-head p{margin:0;color:var(--muted);max-width:32rem}.project-grid{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.35rem 1.15rem;height:100%;display:flex;flex-direction:column;gap:.5rem}.card h3{margin:0;font-size:1.15rem;font-weight:600}.card p{margin:0;flex:1;color:var(--muted);font-size:.95rem}.tags{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-size:.75rem;padding:.2rem .55rem;border-radius:6px;background:#ffffff0f;color:var(--muted)}.card-link{margin-top:.75rem;font-size:.9rem;color:var(--accent)}.card-link:hover{text-decoration:underline}.about-grid{margin-top:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width: 720px){.about-grid{grid-template-columns:1fr}}.about-text{margin:0;color:var(--muted);font-size:1.02rem}.skills-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.skills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.skills li{padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);font-size:.85rem;color:var(--muted)}.contact{text-align:center;max-width:28rem;margin:0 auto}.contact h2{font-family:"Instrument Serif",Georgia,serif;font-size:1.85rem;font-weight:400;margin:0 0 .75rem}.contact p{margin:0 0 1.5rem;color:var(--muted)}.footer{max-width:var(--max);margin:0 auto;padding:2rem 1.5rem 2.5rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;font-size:.85rem;color:var(--muted);border-top:1px solid var(--border)}.footer-meta{opacity:.85}
