:root{--accent:#b3262d;--accent-dark:#7f1d1d;--accent-soft:#f4e6e7;--text:#0f172a;--text-muted:#475569;--surface:#fff;--surface-alt:#f8fafc;--border:#e2e8f0;--shadow:0 20px 40px #0f172a14;--header-bg:#f8fafceb;--header-border:var(--border)}[data-theme=dark]{--accent:#d94a4f;--accent-dark:#f2a3a6;--accent-soft:#d94a4f24;--text:#e6eef8;--text-muted:#9fb0c8;--surface:#071124;--surface-alt:#051022;--border:#ffffff0f;--shadow:0 20px 40px #02061799;--header-bg:#071124d9;--header-border:#ffffff0f}*{box-sizing:border-box}body{font-family:var(--font-atkinson);color:var(--text);background:var(--surface-alt);margin:0;padding:0;font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}p{margin:0 0 1.25rem}img{max-width:100%;height:auto}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 2rem}main{padding:6.5rem 0 9rem}.site-header{z-index:20;background:var(--header-bg);border-bottom:1px solid var(--header-border);backdrop-filter:blur(10px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 0;display:flex}.logo{color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:inline-flex}.logo-icon{border-radius:.25rem;width:28px;height:28px}.nav-links{flex-wrap:wrap;gap:1.25rem;display:flex}.nav-link{color:var(--text-muted);font-weight:500;transition:color .2s}.nav-link:hover{color:var(--text)}.button{background:var(--accent);color:#fff;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 12px 24px #b3262d33}.button:hover{transform:translateY(-1px);box-shadow:0 16px 30px #b3262d40}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:none}.button.ghost{color:var(--text);border-color:var(--border);box-shadow:none;background:0 0;padding:.5rem 1rem}.theme-toggle{padding:.45rem .9rem;font-size:1rem}.header-controls{justify-content:center;align-items:center;gap:.5rem;display:flex}@keyframes toggle-spin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(220deg)scale(1.08)}to{transform:rotate(0)scale(1)}}.theme-toggle.anim{animation:.42s cubic-bezier(.2,.8,.2,1) toggle-spin}[data-theme=dark] .button{box-shadow:0 10px 22px #00000073}[data-theme=dark] .button:hover{box-shadow:0 14px 28px #0000008c}html.theme-ready .site-header,html.theme-ready html,html.theme-ready body,html.theme-ready .card,html.theme-ready .project-card,html.theme-ready .contact-card,html.theme-ready .resume-card{transition:background-color .32s,color .32s,border-color .32s,box-shadow .32s}.section{border-top:1px solid var(--border);padding:5rem 0}.section:first-of-type{border-top:none;padding-top:0}.section-title{margin-bottom:1.5rem;font-size:clamp(1.8rem,3vw,2.4rem)}.section-lead{color:var(--text-muted);max-width:700px;margin-bottom:2rem}.hero{align-items:center;gap:2.5rem;display:grid}.hero-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem}.hero-title{margin:0 0 1rem;font-size:clamp(2.6rem,4vw,4rem)}.hero-lead{margin-bottom:1rem;font-size:1.2rem}.cta-group{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.25rem;padding:.75rem 2rem 2rem}.card-title{margin-bottom:.5rem;font-size:1.1rem}.pill{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.project-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.25rem;gap:1.25rem;padding:.75rem 2rem 2rem;display:grid}.project-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.project-impact{color:var(--text-muted)}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.skills-list{color:var(--text-muted);gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.bullet-list{color:var(--text-muted);margin:1.5rem 0 0;padding-left:1.2rem}.bullet-list li{margin-bottom:.6rem}.resume-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.25rem;justify-content:space-between;align-items:center;gap:2rem;padding:.75rem 2.25rem 2.25rem;display:flex}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.contact-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:.25rem;padding:.75rem 2rem 2rem}.contact-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.85rem}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:2.5rem 0}.footer-inner{text-align:center;gap:.75rem;display:grid}.footer-title{margin:0;font-weight:600}.footer-note{color:var(--text-muted);margin:0}.footer-link{color:var(--accent-dark);font-weight:600}.footer-year{color:var(--text-muted);margin:0}.language-choice{place-items:center;min-height:100vh;padding:2rem;display:grid}.language-card{background:var(--surface);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow);border-radius:.25rem;max-width:620px;padding:.75rem 3rem 3rem}.language-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}@media (width<=900px){.site-header{position:static}.header-inner{text-align:center;flex-direction:column;align-items:center;padding-inline:0}.header-inner .nav-links{justify-content:center}.header-controls{width:100%}.resume-card{flex-direction:column;align-items:flex-start}}@media (width<=640px){.container{padding-left:.875rem;padding-right:.875rem}.header-inner{gap:.85rem;padding:1rem 0}.nav-links{justify-content:center;gap:.8rem}.header-controls{gap:.4rem}main{padding:3.5rem 0 4rem}.hero{gap:2rem}.language-card{padding:.75rem 2rem 2rem}}.sr-only{clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}
