:root{--accent:#4caf50;--accent-dark:#6cc070;--accent-soft:#1c2b1d;--on-accent:#0c140d;--bg:#121512;--surface:#1a1e1a;--text:#e8ebe8;--text-muted:#a3aba5;--border:#2b312c;--shadow:0 8px 24px #0006;--radius:12px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);margin:0;font-size:1.0625rem;line-height:1.65}#root{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;margin:0 auto}h1,h2{letter-spacing:-.02em;text-wrap:balance;line-height:1.2}h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3rem)}h2{margin:0 0 .5rem;font-size:1.25rem}p{margin:0 0 1rem}a{color:var(--accent)}a:hover{color:var(--accent-dark)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}ul{margin:0;padding:0;list-style:none}.site-header{z-index:10;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:0 1.5rem;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;padding-top:.9rem;padding-bottom:.9rem;display:flex}.page-title-pipe{margin-left:.5rem;margin-right:.5rem}.brand{letter-spacing:-.01em;color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}.brand:hover{color:var(--accent)}.brand-no-hover{letter-spacing:-.01em;color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}.nav-list{gap:1.5rem;display:flex}.nav-link{color:var(--text-muted);border-bottom:2px solid #0000;padding:.25rem 0;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-block}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--accent);border-bottom-color:var(--accent)}.main{flex-direction:column;flex:1;display:flex}.lead{color:var(--text-muted);max-width:60ch;font-size:1.2rem}.hero-portrait{border-radius:50%;width:100%}.hero-portrait-about{width:30%;min-width:160px}.hero{padding:clamp(1.5rem,8vw,5rem) 0}.hero h1{font-size:clamp(2.5rem,8vw,4.25rem)}.not-found-container{padding:clamp(1.5rem,8vw,5rem)}.eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1.5px solid var(--accent);border-radius:999px;padding:.7rem 1.3rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-block}.button-primary{background:var(--accent);color:var(--on-accent)}.button-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--on-accent)}.button-secondary{color:var(--accent)}.button-secondary:hover{background:var(--accent-soft)}.background-wrapper{background-position:50%;background-size:cover;flex:1 0 auto;justify-content:left;align-items:start;padding:1.5rem;display:flex}.background-wrapper-home{background-image:url(/assets/home/images/background.webp)}.frosted-card{color:#fff;-webkit-backdrop-filter:blur(8px);background-color:#40404080;border:1px solid #fff3;border-radius:12px;max-width:520px;padding:clamp(1.25rem,6vw,40px)}.frosted-card-home{max-width:520px}.background-wrapper-projects{background-image:url(/assets/projects/images/background.webp)}.projects-container{width:100%}.frosted-card-projects{max-width:480px;padding:10px 20px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(560px,100%),1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.card{color:#fff;-webkit-backdrop-filter:blur(8px);background-color:#40404080;border:1px solid #fff3;border-radius:12px;flex-direction:column;padding:1.5rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-3px)}.card p{color:var(--text-muted);font-size:1rem}.card .tags{margin-top:auto}.card-link{margin-top:1.1rem;font-weight:600;text-decoration:none}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:.15rem .7rem;font-size:.85rem;font-weight:500}.background-wrapper-about{background-image:url(/assets/about/images/background.webp)}.frosted-card-about{max-width:800px}.prose{max-width:68ch}.prose h2{margin-top:2.5rem;margin-bottom:.85rem}.contact-list{flex-wrap:wrap;gap:1.5rem;display:flex}.contact-list li{flex-direction:row;align-items:center;display:flex}.contact-list a{margin-left:1rem;font-weight:600}.contact-list img{width:32px}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);padding:1.5rem;font-size:.9rem}.site-footer p{margin:0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
