@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&family=Valley+Sans:ital,wght@0,100..900;1,100..900&display=swap";:root{--bg-primary:#0a0a0a;--bg-secondary:#222;--accent:#0082b4 ;--text-primary:#f7f0f0;--text-secondary:#a0a0a0;--accent-hover:#095b9e;--border:#06447e;--nav:#032f531a;--font-heading:"Space Grotesk", sans-serif;--font-body:"Valley Sans", sans-serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:2rem;--text-2xl:3rem}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-anchor:none}.background-orbs{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.orb{background:var(--accent);filter:blur(100px);opacity:.18;border-radius:50%;position:absolute}.orb-1{width:350px;height:350px;animation:22s ease-in-out infinite drift1;top:5%;left:10%}.orb-2{width:300px;height:300px;animation:26s ease-in-out infinite drift2;top:55%;left:75%}.orb-3{width:320px;height:320px;animation:30s ease-in-out infinite drift3;top:85%;left:25%}@keyframes drift1{0%,to{transform:translate(0)}50%{transform:translate(60px,40px)}}@keyframes drift2{0%,to{transform:translate(0)}50%{transform:translate(-50px,60px)}}@keyframes drift3{0%,to{transform:translate(0)}50%{transform:translate(40px,-50px)}}body{background-color:var(--bg-primary)}#hero{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.name-title{color:var(--text-primary);margin-bottom:var(--space-2);font-family:var(--font-heading);font-size:var(--text-2xl);animation:.6s ease-out .15s forwards fadeUp}.description{color:var(--text-secondary);margin-bottom:var(--space-4);font-family:var(--font-body);font-size:var(--text-lg);animation:.6s ease-out .3s forwards fadeUp}.view-work{color:var(--text-primary);background-color:var(--accent);cursor:pointer;padding:var(--space-1) var(--space-3);border-radius:var(--space-2);border:1px solid #0000;text-decoration:none;transition:box-shadow .3s,transform .4s,border .3s;animation:.6s ease-out .45s forwards fadeUp}.view-work:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 16px #34438980}.hero-img{object-fit:cover;width:160px;height:160px;margin-bottom:var(--space-3);border:1px solid #0000;border-radius:50%;transition:box-shadow .3s;animation:.6s ease-out forwards fadeUp,3s ease-in-out .6s infinite float;box-shadow:0 0 20px 10px #095b7e59}.hero-img:hover{box-shadow:0 0 40px 8px #095b7e59}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;padding:var(--space-4);background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-secondary);border-radius:var(--space-2);border:1px solid var(--border);padding:var(--space-4);scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-secondary);width:100%;max-width:700px;max-height:90vh;animation:.25s ease-out scaleIn;overflow-y:auto}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background-color:var(--bg-secondary);border-radius:var(--space-1)}.modal-content::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:var(--space-1)}.modal-content::-webkit-scrollbar-thumb:hover{background-color:var(--accent-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--space-2);width:100%;margin-bottom:var(--space-3)}.modal-title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-2)}.card-container{background-color:var(--bg-secondary);padding:var(--space-3);border-radius:var(--space-2);cursor:pointer;transition:transform .2s,box-shadow .2s}@media (width<=500px){.card-container{max-width:100%}}.card-container:hover{border:1px solid var(--border);transform:translateY(-4px);box-shadow:0 4px 16px #3443894d}.title{font-family:var(--font-body);font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-2)}.read-more,.read-less{color:var(--accent)}.tech{align-items:center;gap:var(--space-1);flex-direction:row;display:flex}.tech-icon{width:100%;height:var(--space-4);margin-right:var(--space-1)}.tech-row{gap:var(--space-1);margin-top:var(--space-2);margin-bottom:var(--space-2);display:flex}.expand-wrapper{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.expand-wrapper.expanded{grid-template-rows:1fr}.expand-inner{overflow:hidden}.desc,.role,.highlight{font-family:var(--font-body);color:var(--text-primary)}.project-img{aspect-ratio:14/10;object-fit:cover;border-radius:var(--space-2);width:100%;margin-bottom:var(--space-2);transition:transform .3s,filter .3s}.card-container:hover .project-img{filter:brightness(1.1);transform:scale(1.03)}.view-btn{align-items:center;gap:var(--space-1);white-space:nowrap;color:var(--text-primary);background-color:var(--bg-primary);padding:var(--space-1) var(--space-2);border-radius:var(--space-2);cursor:pointer;text-decoration:none;display:inline-flex}.view-btn:hover{background-color:var(--accent-hover);text-decoration:none}.view-buttons{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.view-btn-icon{width:18px;height:18px}@media (width<=400px){.projects-grid{grid-template-columns:1fr}}#projects{margin:0px var(--space-4)}.projects-title{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-3);padding:var(--space-2)}.projects-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}@media (width<=400px){.projects-grid{grid-template-columns:1fr}}#about,#contact{background-color:var(--bg-secondary);border-radius:var(--space-2);padding:var(--space-4);margin:var(--space-4);border:1px solid #0000;transition:transform .3s,box-shadow .3s,border .3s}#about{margin-top:0;margin-bottom:0}#about:hover,#contact:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 16px #3443894d}.intro{font-family:var(--font-body);color:var(--text-primary);margin-bottom:var(--space-2)}.resume-btn{background-color:var(--accent);padding:var(--space-1) var(--space-2);border-radius:var(--space-1);cursor:pointer;color:var(--text-primary);border:none;text-decoration:none;transition:transform .3s}.resume-btn:hover{background-color:var(--accent-hover);transform:translateY(-2px)}h2{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text-primary)}.link-pill{align-items:center;display:flex}.link-name{color:var(--text-primary);margin-bottom:var(--space-2);text-decoration:none}.link-icon{width:20px;height:20px;margin-right:var(--space-2);margin-bottom:var(--space-2)}#experience{background-color:var(--bg-secondary);border-radius:var(--space-2);padding:var(--space-4);margin:var(--space-4);border:1px solid #0000;transition:transform .3s,border .3s,box-shadow .3s}#experience:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 16px #3443894d}.timeline{padding-left:var(--space-4);position:relative}.timeline:before{content:"";background-color:var(--border);width:2px;position:absolute;top:0;bottom:0;left:0}.timeline-item{margin-bottom:var(--space-4);position:relative}.timeline-dot{left:calc(-1 * var(--space-4) - 5px);background-color:var(--accent);border-radius:50%;width:12px;height:12px;transition:transform .2s,background-color .2s;position:absolute;top:4px}.featured .timeline-title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--text-primary)}.featured .timeline-desc{color:var(--text-primary)}.featured .timeline-dot{background-color:var(--accent);width:14px;height:14px}.muted .timeline-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-secondary)}.muted .timeline-desc{color:var(--text-secondary);font-size:var(--text-sm)}.muted .timeline-dot{background-color:var(--border);width:8px;height:8px}.timeline-context{font-family:var(--font-body);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-1);display:block}.timeline-date{color:var(--accent);font-size:var(--text-sm);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px;display:block}.timeline-content{background-color:var(--bg-primary);border-radius:var(--space-2);padding:var(--space-3);transition:transform .2s,box-shadow .2s}.timeline-content:hover{border:1px solid var(--border)}.timeline-item:hover .timeline-content{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.timeline-item:hover .timeline-dot{background-color:var(--accent-hover);transform:scale(1.3)}#skills{background-color:var(--bg-secondary);border-radius:var(--space-2);padding:var(--space-4);margin:var(--space-4);border:1px solid #0000;transition:transform .3s,box-shadow .3s,border .3s}#skills:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 16px #3443894d}.skill-group{background-color:var(--bg-primary);border-radius:var(--space-2);padding:var(--space-1) var(--space-3);margin:var(--space-1);border:1px solid #0000;transition:transform .3s,box-shadow .3s,border .3s}.skill-group:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 16px #3443894d}.skill-pill{align-items:center;gap:var(--space-1);background-color:var(--bg-secondary);color:var(--text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);border:1px solid #0000;transition:transform .3s,box-shadow .3s,border .3s;display:inline-flex}.skill-pill:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 16px #3443894d}.skill-pills{gap:var(--space-1);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.skill-category{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--accent);margin-bottom:var(--space-2)}.skill-pill-icon{width:16px;height:16px}#languages{background-color:var(--bg-secondary);margin:var(--space-4);padding:var(--space-4);border-radius:var(--space-2);border:1px solid #0000;margin-top:0;margin-bottom:0;transition:transform .3s,box-shadow .3s,border .3s}#languages:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 16px #3443894d}.language-item{justify-content:space-between;gap:var(--space-2);width:100%;color:var(--accent);border-color:var(--accent);border-radius:var(--space-2);margin:var(--space-2);background-color:var(--bg-primary);padding:var(--space-1) var(--space-2);border:1px solid #0000;align-items:center;transition:transform .3s,border .3s,box-shadow .3s;display:flex}.language-item:hover{border-color:var(--border);transform:translateY(-2px);box-shadow:0 4px 16px #3443894d}.language-level{color:var(--text-secondary)}.navbar{z-index:250;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;display:grid;position:sticky;top:0}.navbar:before{content:"";background-color:var(--nav);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:-1;position:absolute;inset:0}.nav-logo{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--text-primary);justify-self:start;text-decoration:none}.nav-links{padding:var(--space-1);gap:var(--space-3);border-bottom:1px solid #0000;justify-self:center;display:flex}.nav-links a{font-family:var(--font-body);color:var(--text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--space-2);background-color:#0000;text-decoration:none;transition:background-color .2s,color .2s}.nav-links a:hover{background-color:var(--bg-secondary)}.nav-toggle{color:var(--text-primary);font-size:var(--text-lg);cursor:pointer;background:0 0;border:none;display:none}@media (width<=700px){.navbar{grid-template-columns:auto auto;justify-content:space-between}.nav-toggle{display:block}.nav-links{background-color:var(--bg-secondary);justify-self:unset;z-index:300;flex-direction:column;width:70%;max-width:300px;height:100vh;transition:transform .3s;position:fixed;top:0;right:0;transform:translate(100%)}.nav-links.open{transform:translate(0)}.nav-overlay{z-index:150;background:#00000080;position:fixed;inset:0}}.languages-about-row{gap:var(--space-1);display:flex}@media (width<=700px){.languages-about-row{flex-direction:column}}.languages-about-row>section{flex:1}@media (width<=500px){#skills,#experience,#about,#contact,.footer{margin:var(--space-2);padding:var(--space-2)}}.footer{background-color:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--space-2);padding:var(--space-2) var(--space-4);text-align:left;margin:0px var(--space-4);border-top:1px solid var(--bg-primary)}
