:root{color-scheme:light dark;--bg:#faf9f7;--fg:#242424;--card:#fff;--muted-bg:#eceae7;--muted:#737373;--border:#e3e0dc;--primary:#242424;--primary-fg:#fff;--accent:#d16b32;--radius:10px;--shadow:0 18px 45px rgba(0,0,0,.1)}@media(prefers-color-scheme:dark){:root{--bg:#181818;--fg:#f5f5f5;--card:#242424;--muted-bg:#2e2e2e;--muted:#aaa;--border:#383838;--primary:#f1f1f1;--primary-fg:#181818;--accent:#e4834c;--shadow:0 18px 45px rgba(0,0,0,.35)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1120px,calc(100% - 32px));margin:auto}.container-narrow{width:min(900px,calc(100% - 32px))}.section{padding:96px 0}.section-muted{background:var(--muted-bg)}.section-heading{text-align:center;max-width:700px;margin:0 auto 58px}.section-heading h2{font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.1;margin:0 0 16px}.section-heading p,.about-copy p{color:var(--muted);margin:0}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;position:relative}.brand{font-size:1.45rem;font-weight:800}.desktop-nav{display:flex;gap:30px;align-items:center}.desktop-nav>a:not(.button):hover,.brand:hover{color:var(--accent)}.menu-toggle{display:none;width:42px;height:42px;border:0;background:none;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--fg);margin:5px}.mobile-nav{position:absolute;top:64px;left:0;right:0;padding:18px;background:var(--bg);border:1px solid var(--border);border-top:0}.mobile-nav a{display:block;padding:10px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;border-radius:var(--radius);border:0;font-weight:700;cursor:pointer;transition:.2s ease}.button-small{padding:9px 22px}.button-primary{background:var(--primary);color:var(--primary-fg)}.button-primary:hover{opacity:.86;transform:translateY(-1px)}.button-outline{border:2px solid var(--fg)}.button-outline:hover{background:var(--muted-bg)}.hero{min-height:calc(100vh - 64px);display:grid;place-items:center}.hero-content{text-align:center;max-width:900px}.eyebrow{display:inline-block;padding:8px 16px;border-radius:999px;background:var(--muted-bg);font-size:.9rem;font-weight:700}.hero h1{font-size:clamp(2.7rem,7vw,4.5rem);line-height:1.08;margin:24px 0}.hero h1 span{color:var(--accent)}.hero p{font-size:clamp(1rem,2vw,1.25rem);color:var(--muted);max-width:700px;margin:0 auto 34px}.hero-actions{display:flex;gap:16px;justify-content:center}.scroll-indicator{display:block;margin:70px auto 0;font-size:2rem;animation:bounce 1.5s infinite}@keyframes bounce{50%{transform:translateY(8px)}}.filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:46px}.filter{border:1px solid var(--border);background:var(--card);color:var(--fg);padding:9px 16px;border-radius:999px;cursor:pointer;font-weight:700}.filter.active{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:.3s}.project-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-4px)}.project-image{height:192px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.project-card:hover img{transform:scale(1.08)}.project-body{padding:24px}.project-body h3{margin:0 0 8px;font-size:1.25rem}.project-body>p{font-size:.92rem;color:var(--muted);margin:0 0 18px}.project-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.project-stats small{display:block;text-transform:uppercase;color:var(--muted);font-size:.68rem}.project-stats strong{color:var(--accent)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tags span{font-size:.75rem;font-weight:700;padding:5px 10px;background:var(--muted-bg);border-radius:999px}.project-button{width:100%}.empty-state{text-align:center;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:72px}.about-copy h3,.contact-info h3{font-size:1.6rem;margin-top:0}.about-copy p+p{margin-top:16px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-card,.skill-card,.experience-card,.contact-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.stat-card{padding:26px;text-align:center}.stat-card strong{display:block;color:var(--accent);font-size:2rem}.stat-card span{font-size:.86rem;color:var(--muted)}.subheading{text-align:center;font-size:1.6rem;margin:0 0 30px}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:72px}.skill-card{padding:24px}.skill-card h4{margin:0 0 15px}.skill-card ul{list-style:none;margin:0;padding:0}.skill-card li{font-size:.88rem;color:var(--muted);margin:8px 0}.skill-card li:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:9px}.timeline{display:grid;gap:16px}.experience-card{padding:24px;display:grid;grid-template-columns:1fr auto}.experience-card h4{margin:0}.experience-card strong{color:var(--accent)}.experience-card time{color:var(--muted);font-size:.86rem}.experience-card p{grid-column:1/-1;color:var(--muted);font-size:.9rem;margin:10px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-card{padding:32px}.form-success{padding:14px;margin-bottom:20px;background:#dcfce7;color:#166534;border:1px solid #86efac;border-radius:8px}.contact-card form{display:grid;gap:18px}.contact-card label{font-size:.88rem;font-weight:700}.contact-card input,.contact-card textarea{display:block;width:100%;margin-top:7px;padding:11px 13px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);outline:none}.contact-card input:focus,.contact-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.contact-card textarea{resize:vertical}.submit-button:disabled{opacity:.55}.contact-info{display:flex;flex-direction:column;justify-content:space-between}.contact-info dl{display:grid;gap:22px}.contact-info dt{font-size:.75rem;color:var(--muted)}.contact-info dd{margin:4px 0 0;font-weight:700;font-size:1.05rem}.accent-text{color:var(--accent)}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-grid a{padding:13px;background:var(--card);border:1px solid var(--border);border-radius:8px;font-weight:700}.social-grid a:hover{border-color:var(--accent)}.footer{background:var(--primary);color:var(--primary-fg)}.footer-grid{padding:52px 0;display:grid;grid-template-columns:2fr 1fr 1fr;gap:42px}.footer-grid h3{font-size:1.5rem}.footer-grid h3,.footer-grid h4{margin-top:0}.footer-grid p{opacity:.82}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer-bottom{border-top:1px solid color-mix(in srgb,var(--primary-fg) 20%,transparent);padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:.85rem}.footer-bottom div{display:flex;gap:22px}@media(max-width:900px){.projects-grid,.skills-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{grid-template-columns:1fr}.contact-info{gap:40px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:700px){.section{padding:72px 0}.desktop-nav{display:none}.menu-toggle{display:block}.hero-actions{flex-direction:column;align-items:stretch}.projects-grid,.skills-grid{grid-template-columns:1fr}.stats-grid{gap:10px}.stat-card{padding:20px 12px}.experience-card{grid-template-columns:1fr}.experience-card time{margin-top:6px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.footer-bottom div{flex-wrap:wrap}.contact-card{padding:22px}}
