*,*:before,*:after{box-sizing:border-box}:root{color-scheme:dark;--bg: #0b1120;--bg-soft: #0f172a;--surface: rgba(15, 23, 42, .78);--surface-strong: rgba(30, 41, 59, .96);--text: #f8fafc;--muted: #b7c2d8;--accent: #38bdf8;--accent-strong: #0ea5e9;--border: rgba(148, 163, 184, .25);--border-strong: rgba(148, 163, 184, .45);--shadow: 0 30px 60px rgba(15, 23, 42, .45);--grid: rgba(56, 189, 248, .08)}html,body{margin:0;padding:0;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at top,#1b2a4a 0%,var(--bg) 55%);color:var(--text);scroll-behavior:smooth}body{min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px;opacity:.35;pointer-events:none;z-index:-2}body:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 20%,rgba(56,189,248,.25),transparent 45%),radial-gradient(circle at 85% 0%,rgba(14,165,233,.2),transparent 40%);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{display:flex;flex-direction:column;gap:5rem}.container{width:min(1120px,90%);margin:0 auto}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(16px);background:#0a0f1abf;border-bottom:1px solid var(--border)}.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;font-weight:600;letter-spacing:.02em}.brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#38bdf8e6,#22d3ee);color:#06101e;font-weight:700}.nav-links{display:flex;gap:1.5rem;font-size:.95rem;color:var(--muted)}.nav-links a{position:relative;padding:.25rem 0}.nav-links a:after{content:"";position:absolute;left:0;bottom:-.2rem;width:0;height:2px;background:var(--accent);transition:width .2s ease}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta{font-size:.85rem}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;align-items:center;padding-top:3rem}.hero-content h1{font-size:clamp(2.4rem,3vw + 1rem,3.8rem);line-height:1.1;margin:0 0 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--accent);font-weight:600}.eyebrow.muted{color:var(--muted)}.lead{font-size:1.1rem;color:var(--muted);line-height:1.8;margin-bottom:1.75rem}.cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.button{padding:.75rem 1.6rem;border-radius:999px;border:1px solid transparent;font-weight:600;transition:.2s ease;display:inline-flex;align-items:center;gap:.5rem}.button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#0b1120;box-shadow:var(--shadow)}.button.primary:hover{transform:translateY(-2px)}.button.ghost{border-color:var(--border);color:var(--text);background:transparent}.button.ghost:hover{border-color:var(--accent);color:var(--accent)}.hero-tags{display:flex;flex-wrap:wrap;gap:.6rem}.hero-panel{display:grid;gap:1.5rem}.profile-card{background:var(--surface);padding:1.8rem;border-radius:22px;border:1px solid var(--border);box-shadow:var(--shadow);display:grid;gap:1.5rem}.profile-card h2{margin:.2rem 0 .6rem}.profile-photo{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--border-strong);background:var(--surface-strong);aspect-ratio:1 / 1}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.profile-role{color:var(--accent);font-weight:600}.profile-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--muted);font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat-card{background:var(--surface);border-radius:16px;border:1px solid var(--border);padding:1.2rem}.stat-value{font-size:1.4rem;font-weight:600;margin:0}.stat-label{margin:.4rem 0 0;color:var(--muted);font-size:.85rem}.section{padding:1rem 0}.section-header{max-width:760px;margin-bottom:2.5rem}.section-header.compact{margin-bottom:1.5rem}.section-header h2{margin:.5rem 0 1rem;font-size:clamp(1.8rem,1.5vw + 1.2rem,2.6rem)}.section-subtitle{color:var(--muted);line-height:1.7}.filters{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.filter-button{border:1px solid var(--border);background:#0f172a80;color:var(--muted);padding:.45rem 1rem;border-radius:999px;cursor:pointer;font-size:.85rem;transition:.2s ease}.filter-button[aria-pressed=true]{background:#38bdf82e;border-color:var(--accent);color:var(--text)}.filter-button:hover{border-color:var(--accent);color:var(--text)}.skills-grid,.projects-grid{display:grid;gap:1.5rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.skill-card,.project-card,.timeline-item,.contact-card{background:var(--surface);border-radius:18px;border:1px solid var(--border);padding:1.6rem}.skill-card{background:var(--surface);border-radius:18px;border:1px solid var(--border);padding:1.6rem;display:flex;flex-direction:column}.skill-card h3{margin:0;line-height:1.3}.skill-top{display:flex;flex-direction:column;min-height:4.2em}.skill-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.skill-pct{font-size:.8rem;color:var(--accent);font-weight:600}.proficiency-bar{width:100%;height:6px;border-radius:999px;background:#94a3b826;overflow:hidden;margin-top:auto;margin-bottom:.75rem}.proficiency-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width .8s ease}.skill-card ul{margin:1rem 0 0;padding-left:1.2rem;color:var(--muted);line-height:1.8}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.project-card{display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;inset:0;border-left:3px solid var(--accent);opacity:.4;pointer-events:none}.project-meta{font-size:.85rem;color:var(--muted);display:flex;gap:.5rem;align-items:center}.project-impact{font-weight:600;color:var(--text)}.project-link{align-self:flex-start;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--border);color:var(--accent);font-size:.85rem;font-weight:600;transition:.2s ease}.project-link:hover{border-color:var(--accent);color:var(--text);background:#38bdf81f}.tag-list,.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{padding:.35rem .75rem;border-radius:999px;font-size:.75rem;color:var(--muted);border:1px solid var(--border)}.split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.timeline{display:grid;gap:1rem}.timeline-item{display:flex;justify-content:space-between;gap:1.5rem;align-items:center}.timeline-time{color:var(--muted);font-size:.9rem;white-space:nowrap}.contact-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;align-items:start}.contact-links{display:grid;gap:1rem}.contact-links a{padding:.9rem 1rem;border-radius:14px;border:1px solid var(--border);display:flex;flex-direction:column;gap:.35rem;background:#0f172a8c;transition:.2s ease}.contact-links a:hover{border-color:var(--accent);transform:translateY(-2px)}.contact-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-info .contact-links{margin-top:.5rem}.contact-form h3{margin:0 0 1.2rem}.contact-form label{display:block;margin-bottom:1rem}.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}.contact-form input,.contact-form textarea{width:100%;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border);background:#0f172a8c;color:var(--text);font-family:inherit;font-size:.95rem;transition:border-color .2s ease;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#94a3b880}.contact-form .button{margin-top:.5rem}.form-hint{font-size:.75rem;color:var(--muted);margin-top:1rem}.form-hint code{background:#38bdf826;padding:.15rem .4rem;border-radius:4px;font-size:.75rem;color:var(--accent)}.form-hint a{color:var(--accent);text-decoration:underline}.form-success{display:none;padding:.75rem 1rem;border-radius:12px;background:#22c55e26;border:1px solid rgba(34,197,94,.35);color:#86efac;font-size:.9rem;margin-bottom:1rem}.form-error{display:none;padding:.75rem 1rem;border-radius:12px;background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:.9rem;margin-bottom:1rem}.field-error{display:block;font-size:.8rem;color:#fca5a5;margin-top:.25rem;min-height:1.2em}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#ef444480}.scroll-top{position:fixed;bottom:2rem;right:2rem;z-index:20;width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);cursor:pointer;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;backdrop-filter:blur(12px)}.scroll-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-top:hover{border-color:var(--accent);color:var(--accent)}.footer{border-top:1px solid var(--border);padding:2rem 0;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(16px);transition:.6s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:960px){.nav-links{display:none}.timeline-item{flex-direction:column;align-items:flex-start}.contact-card{grid-template-columns:1fr}}@media print{.site-header,.scroll-top,.filters,body:before,body:after,.nav-cta{display:none!important}body{background:#fff;color:#000;font-size:12pt}.skill-card,.project-card,.timeline-item,.contact-card,.profile-card,.stat-card{background:#fff;border:1px solid #ccc;box-shadow:none;break-inside:avoid;color:#000}.tag,.project-link,.filter-button{border-color:#999;color:#333}.eyebrow,.profile-role,.project-link{color:#2563eb}.button{border-color:#999;color:#333;background:#f5f5f5}.button.primary{background:#2563eb;color:#fff}.muted,.section-subtitle,.stat-label,.timeline-time,.project-meta,.profile-meta{color:#555}.proficiency-bar{background:#e5e5e5}a{color:#2563eb}.contact-form input,.contact-form textarea{border-color:#ccc;background:#fff;color:#333}}
