:root{--bg:#100d0a;--bg-soft:#1a1611;--text:#fff;--muted:#d6cfc4;--accent:#f0a35c;--accent-soft:#f0a35c29;--border:#ffffff24;--rule:#ffffff29;--glass-bg:#ffffff0e;--glass-bg-strong:#ffffff16;--glass-border:#ffffff24;--glass-blur:blur(28px) saturate(180%);--glass-shadow:0 8px 32px #00000061, inset 0 1px 0 #ffffff17;--font-head:"Sora", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:18px;--radius-sm:12px;--maxw:1140px}html{scroll-behavior:smooth;font-size:106.25%}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.65;position:relative}body:before{content:"";z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3{font-family:var(--font-head);line-height:1.18}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,4vw,26px)}.accent-text{color:var(--accent)}.eyebrow{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:.8rem}.card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--glass-shadow)}.btn{font-family:var(--font-body);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);border-radius:999px;align-items:center;gap:8px;padding:13px 24px;font-size:.98rem;font-weight:600;transition:background .2s,transform .2s,border-color .2s;display:inline-flex}.btn:hover{background:var(--glass-bg-strong);transform:translateY(-2px)}.btn-primary{background:var(--text);color:#0b0b0c;border-color:#0000}.btn-primary:hover{background:#fff}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.section{padding:clamp(58px,9vw,110px) 0;scroll-margin-top:92px}.section-head{align-items:baseline;gap:18px;margin-bottom:48px;display:flex}.section-index{font-family:var(--font-mono);color:var(--accent);font-size:1rem}.section-title{letter-spacing:-.025em;white-space:nowrap;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:700}.section-line{background:var(--rule);flex:1;height:1px}.chip{font-family:var(--font-mono);color:var(--text);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);white-space:nowrap;border-radius:999px;padding:5px 13px;font-size:.84rem}.chip-row{flex-wrap:wrap;gap:9px;display:flex}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(26px)}.reveal-visible{opacity:1;transform:none}@media (width<=560px){html{font-size:100%}.section-head{gap:12px;margin-bottom:32px}.section-title{white-space:normal}.btn{padding:11px 18px;font-size:.94rem}.chip{padding:4px 11px;font-size:.8rem}}@media (prefers-reduced-motion:reduce){.reveal,.btn{transition:none}}.navbar{z-index:50;padding:0 18px;position:sticky;top:14px}.navbar-inner{justify-content:space-between;align-items:center;gap:14px;display:flex}.brand,.nav-links{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;padding:13px 26px;box-shadow:0 10px 34px #00000057,inset 0 1px #ffffff24}.brand{font-family:var(--font-head);font-size:1.51rem;font-weight:800;line-height:1}.brand-dot{color:var(--accent)}.nav-toggle{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:1.46rem;display:none}.nav-links{align-items:center;gap:26px;display:flex}.nav-links a{color:var(--muted);font-size:1.03rem;font-weight:500;transition:color .2s;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-links a:after{content:"";background:var(--accent);border-radius:2px;width:0;height:2px;transition:width .25s;position:absolute;bottom:-6px;left:0}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-trips{font-family:var(--font-mono);color:var(--accent)!important}@media (width<=860px){.navbar{padding:0 12px}.brand{padding:11px 20px;font-size:1.3rem}.nav-toggle{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:0 10px 34px #00000057,inset 0 1px #ffffff24}.nav-links{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#100d0ab8;border:1px solid #ffffff29;border-radius:22px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 24px 20px;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 10px 34px #0006}.nav-links.open{display:flex}.nav-links a{width:100%;padding:10px 0}.nav-links a:after{display:none}}.footer{border-top:1px solid var(--border);margin-top:20px;padding:28px 0}.footer-inner{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;font-size:.95rem;display:flex}.footer-built{font-family:var(--font-mono);font-size:.87rem}.footer-links{gap:18px;display:flex}.footer-links a:hover{color:var(--accent)}.hero{align-items:center;min-height:calc(100vh - 88px);display:flex;position:relative}.hero-inner{padding-top:48px;padding-bottom:48px}.hero-eyebrow{margin-bottom:24px}.hero-name{letter-spacing:-.035em;text-wrap:balance;max-width:12ch;font-size:clamp(3.1rem,10.5vw,6.4rem);font-weight:700;line-height:1}.hero-rule{background:var(--accent);border-radius:2px;width:72px;height:2px;margin:32px 0 24px}.hero-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:30px;display:flex}.hero-role{font-family:var(--font-mono);color:var(--accent);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:999px;padding:7px 16px;font-size:.92rem;animation:.4s both role-in}.hero-location{font-family:var(--font-mono);color:var(--muted);font-size:.92rem}.hero-about{max-width:56ch;color:var(--muted);margin-bottom:42px;font-size:1.18rem;line-height:1.72}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}@keyframes role-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.hero{min-height:auto;padding-top:96px;padding-bottom:24px}}@media (width<=560px){.hero-name{letter-spacing:-.03em;max-width:100%;font-size:clamp(2.5rem,12vw,3.4rem)}.hero-about{margin-bottom:30px;font-size:1.05rem}.hero-rule{margin:24px 0 20px}.hero-actions{gap:9px}.hero-actions .btn{flex:auto;justify-content:center}}@media (prefers-reduced-motion:reduce){.hero-role{animation:none}}.edu-card{padding:30px}.edu-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.edu-card h3{margin-bottom:4px;font-size:1.29rem}.edu-degree{color:var(--muted)}.edu-meta{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.edu-gpa{font-family:var(--font-head);font-size:1.4rem;font-weight:800}.edu-period{color:var(--muted);font-size:.95rem}.edu-course-label{font-family:var(--font-mono);color:var(--muted);margin-bottom:10px;font-size:.9rem}.exp-timeline{border-left:2px solid var(--border);padding-left:24px;position:relative}.exp-card{padding:30px;position:relative}.exp-card:before{content:"";background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;position:absolute;top:38px;left:-31px}.exp-header{flex-wrap:wrap;justify-content:space-between;gap:20px;margin-bottom:18px;display:flex}.exp-card h3{margin-bottom:4px;font-size:1.29rem}.exp-team{color:var(--muted);font-size:1.03rem}.exp-meta{color:var(--muted);flex-direction:column;align-items:flex-end;font-size:.95rem;display:flex}.exp-stack{margin-bottom:20px}.exp-highlights{flex-direction:column;gap:12px;list-style:none;display:flex}.exp-more{cursor:pointer;font-family:var(--font-mono);color:var(--accent);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:7px 16px;font-size:.9rem;transition:background .2s,border-color .2s;display:inline-flex}.exp-more:hover{background:var(--glass-bg-strong);border-color:var(--accent)}.exp-more:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.exp-more-caret{font-size:1.1rem;line-height:.6;transition:transform .25s}@media (width<=560px){.exp-timeline{padding-left:15px}.exp-card{padding:22px 18px}.exp-card:before{width:10px;height:10px;top:28px;left:-21px}.exp-meta{flex-flow:wrap;align-items:flex-start;gap:10px}.exp-header{gap:10px;margin-bottom:14px}}@media (prefers-reduced-motion:reduce){.exp-more-caret{transition:none}}.exp-more[aria-expanded=true] .exp-more-caret{transform:rotate(180deg)}.exp-highlights li{color:var(--muted);padding-left:22px;font-size:1.06rem;position:relative}.exp-highlights li:before{content:"▹";color:var(--accent);position:absolute;left:0}.exp-cert{font-family:var(--font-mono);color:var(--accent);border-bottom:1px dashed var(--accent);margin-top:20px;font-size:.95rem;display:inline-block}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:start;gap:24px;display:grid}.project-featured{flex-direction:column;gap:24px;margin-bottom:24px;display:flex}.project-card{flex-direction:column;justify-content:space-between;padding:28px;transition:transform .25s,border-color .25s;display:flex}.project-card:hover{border-color:var(--accent);transform:translateY(-6px)}.project-title-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.install-cmd{cursor:pointer;color:var(--accent);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:999px;align-items:center;gap:10px;padding:6px 14px;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.install-cmd:hover{background:var(--glass-bg-strong);border-color:var(--accent);transform:translateY(-1px)}.install-cmd:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.install-cmd code{font-family:var(--font-mono);letter-spacing:-.01em;font-size:.86rem}.install-icon{color:var(--muted);font-size:.9rem}.install-cmd:hover .install-icon{color:var(--accent)}.install-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.project-card h3{margin-bottom:4px;font-size:1.23rem}.project-subtitle{color:var(--accent);font-family:var(--font-mono);margin-bottom:16px;font-size:.9rem}.project-card.featured{border-color:var(--accent);padding:34px}.project-card.featured h3{font-size:1.62rem}.project-card.featured .project-subtitle{margin-bottom:20px;font-size:1.01rem}.project-card.featured .project-points{gap:16px}.project-points{flex-direction:column;gap:12px;list-style:none;display:flex}.project-points li{padding-left:20px;font-size:1.03rem;position:relative}.project-points li:before{content:"▹";color:var(--accent);position:absolute;left:0}.point-heading{color:var(--text);font-weight:600;display:block}.point-toggle{width:100%;font-family:inherit;font-size:inherit;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:14px;padding:0;display:flex}.point-toggle:hover{color:var(--accent)}.point-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.toggle-caret{color:var(--accent);flex-shrink:0;font-size:1.57rem;line-height:.6;transition:transform .25s}.project-points li.open .toggle-caret{transform:rotate(180deg)}.point-collapse{visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .32s,visibility .32s;display:grid}.project-points li.open .point-collapse{visibility:visible;grid-template-rows:1fr}.point-collapse>.point-content{min-height:0;overflow:hidden}.point-content{color:var(--muted);padding-top:4px}.project-footer{margin-top:22px}.project-links{font-family:var(--font-mono);gap:16px;margin-top:16px;font-size:.95rem;display:flex}.project-links a{color:var(--accent)}@media (width<=560px){.project-card{padding:22px 18px}.project-card.featured{padding:24px 20px}.project-card.featured h3{font-size:1.4rem}.project-card:hover{transform:none}.install-cmd{padding:6px 12px}.install-cmd code{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.point-collapse,.toggle-caret{transition:none}}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px;display:grid}.skills-card{padding:26px}.skills-card h3{color:var(--text);margin-bottom:16px;font-size:1.12rem}.ach-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px;display:grid}.ach-card{height:100%;padding:26px;transition:transform .25s,border-color .25s}.ach-card:hover{border-color:var(--accent);transform:translateY(-4px)}.ach-stat{font-family:var(--font-head);margin-bottom:8px;font-size:2.24rem;font-weight:800;display:block}.ach-card h3{margin-bottom:6px;font-size:1.1rem}.ach-card p{color:var(--muted);font-size:.99rem}.lead-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;display:grid}.lead-card{gap:16px;padding:26px;display:flex}.lead-icon{font-size:1.9rem;line-height:1}.lead-card h3{margin-bottom:4px;font-size:1.12rem}.lead-org{font-family:var(--font-mono);color:var(--accent);margin-bottom:10px;font-size:.87rem}.lead-detail{color:var(--muted);font-size:1.01rem}.hobby-grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:20px;margin-bottom:28px;display:grid}.hobby-card{padding:26px;transition:transform .25s}.hobby-card:hover{transform:translateY(-4px)}.hobby-icon{margin-bottom:12px;font-size:2.02rem;display:block}.hobby-card h3{margin-bottom:6px;font-size:1.12rem}.hobby-card p{color:var(--muted);font-size:1.01rem}.hobby-cta{border-left:2px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:30px;display:flex}.hobby-cta h3{margin-bottom:4px}.hobby-cta p{color:var(--muted);font-size:1.03rem}.contact-box{text-align:center;max-width:640px;margin:0 auto;padding:20px 0 10px}.contact-box h3{margin-bottom:14px;font-size:clamp(1.57rem,3vw,2.24rem)}.contact-box>p{color:var(--muted);margin-bottom:30px}.contact-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:26px;display:flex}.contact-location{color:var(--muted);font-size:1.01rem}.photo-tile{aspect-ratio:4/3;border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;border-radius:12px;padding:0;transition:transform .25s,border-color .25s;position:relative;overflow:hidden}.photo-tile:hover{border-color:var(--accent);transform:scale(1.03)}.photo-tile img{object-fit:cover;width:100%;height:100%}.photo-placeholder{cursor:default;background:var(--bg-soft);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.photo-placeholder span{opacity:.7;font-size:1.79rem}.photo-placeholder small{font-family:var(--font-mono);color:var(--muted);font-size:.78rem}.photo-placeholder:hover{transform:none}.lightbox{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09090aeb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{border-radius:12px;max-width:min(90vw,1100px);max-height:85vh;box-shadow:0 20px 80px #0009}.lb-close,.lb-nav{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.57rem;line-height:1;transition:background .2s;display:flex;position:absolute}.lb-close:hover,.lb-nav:hover{background:#ffffff2e}.lb-close{top:20px;right:20px}.lb-prev{left:20px}.lb-next{right:20px}.lb-count{font-family:var(--font-mono);color:var(--muted);font-size:.95rem;position:absolute;bottom:20px}.moment-modal{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09090ad1;justify-content:center;align-items:center;padding:20px;animation:.2s modal-fade;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:900px;max-height:88vh;padding:32px;animation:.25s modal-rise;position:relative;overflow-y:auto}.modal-close{border:1px solid var(--border);width:40px;height:40px;color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:50%;font-size:1.46rem;transition:background .2s;position:absolute;top:16px;right:16px}.modal-close:hover{background:#ffffff26}.modal-title{margin:12px 0 4px;font-size:clamp(1.57rem,3vw,2.13rem)}.modal-meta{font-family:var(--font-mono);color:var(--muted);margin-bottom:16px;font-size:.92rem}.modal-story{color:var(--muted);max-width:700px;margin-bottom:24px;font-size:1.06rem}.modal-grid{grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:12px;display:grid}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.life-eyebrow{font-family:var(--font-mono);color:var(--accent);margin-bottom:10px;font-size:1.06rem}.life-title{margin-bottom:12px;font-size:clamp(2.24rem,5vw,3.58rem);font-weight:800}.life-intro{color:var(--muted);max-width:560px;margin-bottom:22px}.life-insta{margin-bottom:34px}.life-filters{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.filter-btn{font-family:var(--font-mono);color:var(--muted);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;border-radius:999px;padding:8px 20px;font-size:.92rem;transition:color .2s,border-color .2s,background .2s}.filter-btn:hover{color:var(--text);border-color:var(--accent)}.filter-btn.active{background:var(--accent);color:#fff;text-shadow:0 1px 3px #00000059;border-color:#0000;font-weight:700}.life-grid{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));grid-auto-rows:190px;grid-auto-flow:dense;gap:16px;display:grid}.moment-tile{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;text-align:left;padding:0;transition:transform .25s,border-color .25s;position:relative;overflow:hidden}.moment-tile:hover{border-color:var(--accent);transform:translateY(-4px)}.tile-big{grid-area:span 2/span 2}.tile-wide{grid-column:span 2}@media (width<=560px){.tile-big,.tile-wide{grid-area:span 1/span 1}}.moment-tile img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.moment-tile:hover img{transform:scale(1.06)}.tile-fallback{background:var(--bg-soft);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.tile-fallback span{opacity:.8;font-size:2.69rem}.tile-category{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:var(--accent);background:#09090a8c;position:absolute;top:12px;left:12px}.tile-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);background:#09090a8c;padding:10px 16px 11px;position:absolute;bottom:0;left:0;right:0}.tile-overlay h2{color:#fff;text-shadow:0 1px 6px #0009;font-size:1.18rem}.tile-overlay p{font-family:var(--font-mono);color:#e6e2dc;text-shadow:0 1px 6px #000000e6;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}
