:root{--color-bg:#f5efea;--color-bg-subtle:#ede5de;--color-surface:#fff;--color-border:#c8b4aa;--color-primary:#c41830;--color-accent:#1e5c4e;--color-highlight:#e01428;--color-rose:#9a4e5e;--color-text:#1a2018;--color-text-muted:#3c5048;--color-text-faint:#8aaa9a;--color-card-border:#c4183040;--color-card-border-hover:#c4183099;--color-card-glow:#c418301f;--color-pill-border:#c4183059;--color-pill-bg:#c4183012;--color-divider-line:#c4183033;--color-divider-mark:#c4183066}[data-theme=dark]{--color-bg:#0a1a18;--color-bg-subtle:#0f2220;--color-surface:#142e2a;--color-border:#224540;--color-primary:#e82040;--color-accent:#4a9080;--color-highlight:#ff2040;--color-rose:#e09aaa;--color-text:#eef6f4;--color-text-muted:#7aa8a0;--color-text-faint:#4a7870;--color-card-border:#e8204059;--color-card-border-hover:#e82040bf;--color-card-glow:#e8204033;--color-pill-border:#e8204073;--color-pill-bg:#e820401a;--color-divider-line:#e8204038;--color-divider-mark:#e8204073}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 15% 0,#2870601a 0%,#0000 50%);font-family:DM Sans,sans-serif;line-height:1.7;transition:background-color .3s,color .3s}[data-theme=dark] body{background-image:radial-gradient(at 15% 0,#0f464133 0%,#0000 50%)}a{color:inherit;text-decoration:none}.hero{padding:6rem 0 5rem;animation:.7s ease-out 50ms both fadeUp}.hero-name{color:var(--color-text);letter-spacing:-.02em;margin-bottom:.6rem;font-family:DM Sans,sans-serif;font-size:clamp(3rem,7vw,5rem);font-weight:700;line-height:1.05}.cursor{background-color:var(--color-primary);vertical-align:middle;width:3px;height:.8em;margin-left:5px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-title{color:var(--color-rose);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.75rem;font-size:.82rem}.hero-tagline{color:var(--color-text);max-width:560px;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.7}.hero-links{align-items:center;gap:1.25rem;display:flex}.hero-links a{color:var(--color-text-muted);align-items:center;transition:color .2s;display:flex}.hero-links a:hover{color:var(--color-highlight)}.project-card--featured{background:#fdf8f9;border:1px solid #e0cdd4;border-left:3px solid #c8507e;border-radius:16px;padding:2.5rem;transition:box-shadow .3s,transform .3s,border-color .3s;box-shadow:0 2px 12px #c8507e14}.project-card--featured:hover{border-color:#c8507e;transform:translateY(-2px);box-shadow:0 6px 24px #c8507e24}.featured-meta{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.featured-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#c8507e;font-family:Nunito,sans-serif;font-size:.7rem;font-weight:600}.featured-name{color:#1a1118;margin-bottom:.75rem;font-family:Nunito,sans-serif;font-size:2rem;font-weight:700;line-height:1.15}.project-card--featured .card-description{color:#6b5560;margin-bottom:1.25rem}.project-card--featured .card-stack{margin-bottom:1.25rem}.featured-link{color:#c8507e;margin-top:.5rem;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:600;transition:color .2s;display:inline-block}.featured-link:hover{color:#a03060}.project-card--featured .card-status{color:#b09aa4}.project-card--featured .stack-tag{color:#c8507e;background:#c8507e12;border-color:#c8507e4d}@media (width<=600px){.featured-name{font-size:1.6rem}}.project-card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:16px;flex-direction:column;padding:2rem;transition:box-shadow .3s,transform .3s,border-color .3s;display:flex;box-shadow:0 1px 5px #0003}.project-card:hover{border-color:var(--color-card-border-hover);box-shadow:0 4px 16px #00000026, 0 1px 4px var(--color-card-glow);transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.card-name{color:var(--color-text);font-family:DM Sans,sans-serif;font-size:1.15rem;font-weight:600}.card-status{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex-shrink:0;font-size:.65rem}.card-description{color:var(--color-text-muted);flex:1;margin-bottom:1.25rem;font-size:.975rem;line-height:1.75}.card-stack{flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem;display:flex}.stack-tag{color:var(--color-primary);border:1px solid var(--color-pill-border);background:var(--color-pill-bg);border-radius:99px;padding:.25rem .8rem;font-family:DM Mono,monospace;font-size:.75rem}.card-footer{display:flex}.card-link{color:var(--color-primary);font-size:.8rem;transition:color .2s}.card-link:hover{color:var(--color-highlight)}.card-link-muted{color:var(--color-text-faint);font-size:.8rem}.work{grid-template-columns:repeat(2,1fr);gap:1.5rem;padding:4rem 0;animation:.7s ease-out .2s both fadeUp;display:grid}.work .project-card--featured{grid-column:1/-1}@media (width<=600px){.work{grid-template-columns:1fr}}.about{grid-template-columns:repeat(2,1fr);gap:1.75rem 3.5rem;padding:4rem 0;animation:.7s ease-out .35s both fadeUp;display:grid}.about p{color:var(--color-text-muted);font-size:1rem;line-height:1.85}@media (width<=640px){.about{grid-template-columns:1fr}}.contact{padding:4rem 0 6rem;animation:.7s ease-out .5s both fadeUp}.contact-email{color:var(--color-text);margin-bottom:1.5rem;font-family:DM Sans,sans-serif;font-size:1.5rem;font-weight:600;transition:color .2s;display:block}.contact-email:hover{color:var(--color-highlight)}.contact-links{gap:1.5rem;display:flex}.contact-link{color:var(--color-text-muted);letter-spacing:.03em;align-items:center;gap:.4rem;font-size:.8rem;transition:color .2s;display:flex}.contact-link:hover{color:var(--color-highlight)}.main{max-width:80rem;margin:0 auto;padding:0 3rem}.divider{align-items:center;gap:1.5rem;padding:.25rem 0;display:flex}.divider:before,.divider:after{content:"";background:var(--color-divider-line);flex:1;height:1px}.divider-mark{color:var(--color-divider-mark);font-size:.55rem}.theme-toggle{background:var(--color-surface);border:1px solid var(--color-card-border);color:var(--color-text-muted);cursor:pointer;z-index:100;border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:color .2s,border-color .2s,background .3s;display:flex;position:fixed;top:1.5rem;right:1.75rem}.theme-toggle:hover{color:var(--color-primary);border-color:var(--color-card-border-hover)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
