@import"https://fonts.googleapis.com/css2?family=Inconsolata:wght@200..900&family=Karla:ital,wght@0,200..800;1,200..800&family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&family=Space+Grotesk:wght@300..700&display=swap";:root{--bg-color: #141a17;--surface: #1e2b24;--surface-2: #26332b;--primary: #52b788;--accent: #95d5b2;--text-color: #f0ebe3;--muted: #8a9e94;--font-heading: "Source Code Pro", monospace;--font-body: "Space Grotesk", sans-serif;--font-mono: "Inconsolata", monospace;--text-xs: .68rem;--text-sm: .75rem;--text-base: .8rem;--text-md: .875rem;--text-lg: 1.1rem;--text-xl: 1.4rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--leading-tight: 1.3;--leading-normal: 1.7;--leading-relaxed: 1.85;--tracking-tight: .03em;--tracking-normal: .05rem;--tracking-wide: .1rem;--card-padding-x: 2rem;--card-padding-y: 1.6rem;--card-gap: .75rem;--page-padding-x: 2rem;--page-margin-top: 2.5rem}body{background-color:var(--bg-color);padding:0;margin:0;color:var(--text-color);font-family:var(--font-heading);font-size:var(--text-base);line-height:var(--leading-normal);text-align:left}p{margin:0;font-size:var(--text-base);line-height:var(--leading-normal)}h1{font-family:var(--font-heading);color:var(--text-color);font-size:var(--text-2xl)}a{text-decoration:none;color:var(--text-color)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 5rem;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #0006;background-color:#1e2b24bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}header{display:flex;align-items:center;gap:.8rem}nav{display:flex;align-items:center;gap:4rem}nav a{text-decoration:none;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}nav a:hover,nav a.active{color:var(--primary);border-color:var(--primary)}.footer{border-top:1px solid rgba(255,255,255,.08);background-color:#1e2b24bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 5rem 1.5rem;font-family:var(--font-heading);margin-top:4rem}.footer-logo{font-size:1.4rem;font-weight:800;color:var(--text-color);letter-spacing:.05em}.footer-tagline{display:block;font-size:.75rem;color:var(--muted);margin-top:.3rem;letter-spacing:.08em}.footer-links{display:flex;justify-content:space-evenly;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:var(--card-padding-y)}.footer-link{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted);text-decoration:none;letter-spacing:.04em;transition:color .2s ease}.footer-link svg{font-size:1rem;color:var(--accent);flex-shrink:0;transition:color .2s ease}.footer-link:hover{color:var(--accent)}.footer-link:hover svg{color:var(--primary)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;gap:1rem;flex-wrap:wrap}.footer-muted{font-size:.7rem;color:var(--muted);letter-spacing:.05em}.footer-status{display:flex;align-items:center;gap:.4rem}.status-dot{width:7px;height:7px;border-radius:50%;background-color:var(--accent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@media(max-width:768px){.footer{padding:2rem 1.5rem 1.5rem}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{align-items:flex-start}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.4rem}}.hero{display:flex;width:100%;background-color:var(--surface);border-radius:12px;border:1px solid var(--accent);box-shadow:2px 2px 20px 5px #000c,0 0 0 1px var(--primary);overflow:hidden}.hero-text{flex:1;display:flex;flex-direction:column;gap:.8rem;padding:var(--card-padding-y) var(--card-padding-x);font-family:var(--font-heading);font-size:var(--text-base);letter-spacing:var(--tracking-wide)}.hero-text p{margin:0;display:flex;align-items:center;gap:1rem}.hero-tag{color:var(--accent);font-weight:600;opacity:.85}.hero-name{color:#fff;font-weight:800;font-size:var(--text-2xl)}.hero-location{display:flex;align-items:center;gap:.3rem;color:var(--muted);font-size:var(--text-sm);opacity:.75}.hero-divider{border:none;border-top:1px solid rgba(255,255,255,.07);margin:0}.intro-label{color:var(--accent);font-weight:600;min-width:120px;opacity:.85;flex-shrink:0}.hero-image{width:220px;flex-shrink:0;border-left:1px solid rgba(149,213,178,.25);padding:1.5rem;display:flex;align-items:center}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;border-radius:8px;border:var(--accent) solid 1px;box-shadow:0 10px 25px #0000001a}@media(max-width:768px){.hero{flex-direction:column-reverse}.hero-image{width:100%;height:220px;border-left:none;border-bottom:1px solid rgba(149,213,178,.25);padding:1rem}.hero-image img{height:100%}.hero-text{padding:1.5rem}.hero-text p{flex-wrap:wrap;gap:.3rem}.intro-label{min-width:unset}}.card{display:flex;flex-direction:column;width:400px;background:var(--surface);border-radius:16px;border:1px solid var(--surface-2);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #0006,0 0 0 1px var(--primary);border-color:var(--primary)}.card-thumb{width:100%;height:180px;background:var(--surface-2);position:relative;overflow:hidden}.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;filter:brightness(.85)}.card:hover .card-thumb img{filter:brightness(1)}.card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.7rem;color:var(--muted);flex-direction:column;gap:.5rem;background:linear-gradient(135deg,var(--surface-2) 0%,#1a2820 100%)}.thumb-icon{font-size:2rem;opacity:.25}.card-type{position:absolute;top:12px;left:12px;font-family:var(--font-mono);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);background:#141a17d9;padding:.3rem .65rem;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(82,183,136,.25)}.card-body{flex:1;padding:1.4rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.card-title{font-size:1.1rem;font-weight:700;color:var(--text);line-height:1.3;text-align:left}.card-desc{font-size:.875rem;color:var(--muted);line-height:1.7;text-align:left}.card-desc .long{color:#fff}.card-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.badge{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--primary);background:#52b7881a;border:1px solid rgba(82,183,136,.25);padding:.25rem .6rem;border-radius:4px;letter-spacing:.03em}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--surface-2);background:#0000001a}.card-link{display:flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--primary);text-decoration:none;letter-spacing:.04em;transition:color .2s,gap .2s}.card-link:hover{color:var(--accent)}.card-github{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);text-decoration:none;transition:color .2s}.card-github:hover{color:var(--text)}.projectsDiv{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem;margin-top:2rem}.projectsDiv--expanded{gap:2rem;margin-top:0}.projectsDiv--expanded .card{flex:1 1 400px}.projectsDiv--expanded .card-thumb{height:240px}.projects-home{margin-top:3rem}.small-header{font-size:1rem}.about-bio{line-height:var(--leading-normal);font-size:var(--text-base)}.edu-timeline{display:flex;flex-direction:column;gap:0;margin-top:.3rem}.edu-period{display:grid;grid-template-columns:90px 1fr;gap:0 1.2rem;padding-bottom:1.2rem}.edu-period:last-child{padding-bottom:0}.edu-header{font-style:italic;font-weight:500;margin-bottom:0}.edu-year{color:var(--accent);opacity:.6;font-size:var(--text-xs);padding-top:3px;white-space:nowrap}.edu-content{border-left:1px solid rgba(82,183,136,.3);padding-left:1.2rem;position:relative;display:flex;flex-direction:column;gap:.3rem}.edu-content:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.7}.edu-title{color:#fff;font-weight:600;font-size:.82rem}.edu-desc{opacity:.65;font-size:var(--text-xs);line-height:var(--leading-normal)}.course-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.3rem}.course-pill{border:1px solid rgba(82,183,136,.3);color:var(--text-color);padding:.15rem .5rem;border-radius:3px;font-size:var(--text-xs);opacity:.75}.course-pill--highlight{border-color:var(--primary);color:var(--primary);opacity:1}.progression-block{border-top:1px solid rgba(82,183,136,.2);padding-top:1rem;margin-top:.3rem;display:flex;flex-direction:column;gap:.6rem}.progression{display:grid;grid-template-columns:1fr auto 1fr;gap:.6rem;align-items:center}.prog-label{color:var(--accent);font-size:var(--text-xs);opacity:.6;margin-bottom:.2rem}.prog-then{opacity:.45;font-size:.72rem}.prog-arrow{color:var(--accent);font-size:.9rem}.prog-now{color:var(--accent);font-size:.72rem}@media(max-width:768px){.edu-period{grid-template-columns:70px 1fr}.progression{grid-template-columns:1fr}.prog-arrow{transform:rotate(90deg);text-align:center}}.about-desc{opacity:.6;font-size:var(--text-base)}.photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 140px;gap:.6rem}.photo-card{border-radius:10px;border:1px solid rgba(82,183,136,.3);overflow:hidden;position:relative;background:#0000004d}.photo-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-card--big{grid-column:1;grid-row:1 / 3}.photo-card--top{grid-column:2;grid-row:1}.photo-card--bottom{grid-column:2;grid-row:2}.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);opacity:.2}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:.5rem .8rem;background:linear-gradient(transparent,#0a140ee6);font-size:var(--text-xs);color:var(--text-color)}.photo-caption-label{display:block;color:var(--accent);font-size:.6rem;opacity:.7}@media(max-width:768px){.photo-grid{grid-template-columns:1fr;grid-template-rows:220px 160px 160px}.photo-card--big{grid-column:1;grid-row:1}.photo-card--top{grid-column:1;grid-row:2}.photo-card--bottom{grid-column:1;grid-row:3}}.about-page{display:flex;flex-direction:column;font-family:var(--font-heading);letter-spacing:var(--tracking-normal);font-size:var(--text-base)}.about-page,.about-page *{text-align:left}@media(max-width:768px){.about-card{padding:1.3rem 1.5rem}}.scroll-top{position:fixed;bottom:2rem;right:2rem;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--accent);box-shadow:2px 2px 20px 5px #000c,0 0 0 1px var(--primary);color:var(--accent);font-size:1rem;border-radius:8px;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,color .2s,border-color .2s;pointer-events:none;z-index:99}.scroll-top--visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-top:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-3px)}.navbar{opacity:0;animation:fadeInDown .5s ease forwards;animation-delay:0s}.hero{opacity:0;animation:fadeInDown .6s ease forwards;animation-delay:.2s}.projectsDiv{opacity:0;animation:fadeInDown .6s ease forwards;animation-delay:.3s}.footer{opacity:0;animation:fadeInUp .5s ease forwards;animation-delay:1.1s}.available{color:var(--surface);background-color:var(--accent);padding:.1rem .4rem;border-radius:3px}.contact-link{display:inline-flex;align-self:flex-start;align-items:center;gap:.45rem;font-weight:600;color:var(--accent);text-decoration:none;letter-spacing:.04em;transition:color .2s,gap .2s}.contact-link:hover{color:var(--primary)}.contact-link .arrow{display:inline-block;transition:transform .3s ease;animation:nudge 5s ease-in-out infinite}.contact-link:hover .arrow{transform:translate(4px);transition:transform .4s cubic-bezier(.34,1.56,.64,1);animation:none}@keyframes nudge{0%,to{transform:translate(0)}90%{transform:translate(0)}92%{transform:translate(-4px)}94%{transform:translate(3px)}96%{transform:translate(-4px)}98%{transform:translate(3px)}}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background-color:var(--accent);animation:pulse 2s ease-in-out infinite;flex-shrink:0}.about-label{color:var(--accent);font-weight:600;opacity:.85}.about-card{background-color:var(--surface);border-radius:12px;border:1px solid var(--accent);box-shadow:2px 2px 20px 5px #000c,0 0 0 1px var(--primary);padding:var(--card-padding-y) var(--card-padding-x);display:flex;flex-direction:column;gap:.65rem}.about-card--slim{padding:1.1rem var(--card-padding-x)}.about-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;opacity:.55;font-size:var(--text-xs)}.meta-sep{opacity:.4}.header-name{font-size:var(--text-2xl);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);font-weight:bolder}.page-content{max-width:900px;width:90%;margin:var(--page-margin-top) auto 4rem;display:flex;flex-direction:column;gap:1.5rem}
