body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{color-scheme:only dark!important}body,html[data-darkreader-mode] body,html[data-darkreader-scheme] body{background:linear-gradient(135deg,#0d0809,#1a0505 50%,#0d0809)!important;background-size:400% 400%!important;color:#fffffe!important;filter:none!important}html[data-darkreader-mode] .btn,html[data-darkreader-mode] .highlight,html[data-darkreader-mode] .name,html[data-darkreader-mode] h2{filter:none!important}html[data-darkreader-mode] .particles-canvas,html[data-darkreader-scheme] .particles-canvas{filter:none!important;opacity:1!important}html[data-darkreader-mode] .card,html[data-darkreader-mode] .contact-card,html[data-darkreader-mode] .education-card,html[data-darkreader-mode] .skill-category{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffff0d!important;border:1px solid #ffffff1a!important}html[data-darkreader-mode] .navbar,html[data-darkreader-scheme] .navbar{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#0e0e10e6!important}.particles-canvas{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.about.section--warm,.education .degree{color:#e6edf3}.skills .heatmap-label{color:#8b949e}.skills .heatmap-tooltip{color:#e6edf3}.projects .bento-card .bento-card-inner,.skills .heatmap-tooltip{background:#161b22;border:1px solid #30363d}.projects .bento-card .bento-card-inner h3{color:#c15f3c}.projects .bento-card .bento-card-inner p{color:#8b949e}.projects .bento-card .bento-card-inner .project-link,.projects .bento-card .bento-card-inner .tech-tag{color:#e6edf3}.projects .bento-card .bento-card-inner .project-link:hover{color:#c15f3c}.projects .bento-card .bento-card-inner:hover{border-color:#c15f3c}.resume{align-items:center;text-align:center}.resume h2{margin-bottom:2rem}.resume .resume-intro{color:#b3b3b3;color:var(--text-muted,#b3b3b3);line-height:1.6;margin:0 auto 1.5rem;max-width:520px}.contact h2{color:#e6edf3}.contact .contact-subtitle{color:#8b949e}.contact .contact-email{color:#c15f3c}.contact .contact-socials a{color:#8b949e}.contact .contact-socials a:hover{color:#c15f3c}.footer{background:#161b22;border-top:1px solid #30363d}.footer .footer-section h3{color:#e6edf3}.footer .footer-section h4,.footer .footer-section p,.footer .footer-section ul li a{color:#8b949e}.footer .footer-section ul li a:hover{color:#c15f3c}.footer .footer-socials a{color:#8b949e}.footer .footer-socials a:hover{color:#c15f3c}.footer .footer-bottom{border-top:1px solid #30363d}.footer .footer-bottom p{color:#8b949e}.footer .footer-bottom .made-with .heart-icon{color:#c15f3c}.footer .scroll-top{background:#161b22;border:1px solid #30363d;color:#8b949e}.footer .scroll-top:hover{border-color:#c15f3c;color:#c15f3c}.stats-section{border-bottom:1px solid #30363d;border-top:1px solid #30363d}.stats-item{background:#161b22;border:1px solid #30363d}.stats-number{color:#c15f3c}.stats-label{color:#8b949e}.testimonial-quote{color:#e6edf3}.testimonial-author,.testimonial-quote:before{color:#c15f3c}.testimonial-role{color:#8b949e}.marquee-section{border-bottom:1px solid #30363d;border-top:1px solid #30363d}.marquee-item,.marquee-item:after{color:#8b949e}@property --border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes rotateBorder{to{--border-angle:360deg}}:root{--bg:#0d1117;--bg-secondary:#161b22;--border:#30363d;--card-bg:#161b22;--text:#e6edf3;--subtext:#8b949e;--accent:#c15f3c;--accent-soft:#c15f3c33;--accent-soft-bg:#c15f3c1a;--accent-glow:#c15f3c59;--bg-warm:#f4f3ee;--text-warm:#1f2328;--accent-blue:#58a6ff;--sidebar-width:260px;--navbar-height:24px;color-scheme:dark}*{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;margin:0;padding:0}h1,h2,h3{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.mono,code{font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace}html{color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:24px;scroll-padding-top:var(--navbar-height)}body{background:#0d1117;background:var(--bg);color:#e6edf3;color:var(--text);cursor:default;overflow-x:hidden;position:relative}body:before{background-image:linear-gradient(#ffffff05 1px,#0000 0),linear-gradient(90deg,#ffffff05 1px,#0000 0);background-size:60px 60px;z-index:-3}body:after,body:before{content:"";inset:0;pointer-events:none;position:fixed}body:after{background:radial-gradient(800px circle at 20% 10%,#c15f3c12 0,#0000 60%),radial-gradient(600px circle at 80% 60%,#58a6ff0d 0,#0000 60%),radial-gradient(900px circle at 50% 90%,#c15f3c0a 0,#0000 60%);z-index:-2}.section{display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:100px 10%;position:relative;scroll-margin-top:24px;scroll-margin-top:var(--navbar-height);width:100%}@media(max-width:768px){.section{min-height:auto;padding:60px 5%}}.section--warm{background:#0000;color:#e6edf3;color:var(--text)}main{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;padding:0 clamp(2rem,5vw,4rem);width:100%}.btn{border-radius:8px;display:inline-block;letter-spacing:.01em;padding:12px 28px;transition:all .3s ease}.btn-primary{background:var(--accent);border:1px solid #c15f3c;border:1px solid var(--accent)}.btn-primary:hover{box-shadow:0 8px 24px #c15f3c59;box-shadow:0 8px 24px var(--accent-glow);filter:brightness(1.1)}.btn-secondary{border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-download{border:1px solid #c15f3c;border:1px solid var(--accent);color:#c15f3c;color:var(--accent)}.btn-download:hover{background:#c15f3c33;background:var(--accent-soft)}h2{-webkit-text-fill-color:#e6edf3;-webkit-text-fill-color:var(--text);background:none;color:#e6edf3;color:var(--text);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:2rem}@keyframes gradientFlow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}html[data-darkreader-mode] body,html[data-darkreader-scheme] body{background:#0d1117!important;background:var(--bg)!important;color:#e6edf3!important;color:var(--text)!important}.navbar{background:#161b22;border-bottom:1px solid #30363d;left:0;position:fixed;right:0;top:0;transform:translateY(0);transition:transform .3s ease;z-index:1000}.navbar.navbar--hidden{pointer-events:none;transform:translateY(-100%)}.navbar.navbar--visible{transform:translateY(0)}.navbar-inner{align-items:center;display:flex;height:56px;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 clamp(1rem,4vw,2.5rem)}.navbar-logo{background:none;border:none;color:#c15f3c;cursor:pointer;font-family:JetBrains Mono,Fira Code,SF Mono,Cascadia Code,monospace;font-size:1.25rem;font-weight:700;letter-spacing:.04em;padding:0;transition:opacity .2s ease}.navbar-logo:hover{opacity:.8}.navbar-links{align-items:center;display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.nav-link{background:none;border:none;border-radius:6px;color:#8b949e;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:500;padding:.375rem .75rem;position:relative;transition:color .15s ease,background .15s ease;white-space:nowrap}.nav-link:hover{background:#ffffff0a;color:#e6edf3}.nav-link:after{background:#c15f3c;border-radius:2px;bottom:-1px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .2s ease;width:0}.nav-link--active{color:#e6edf3}.nav-link--active:after{width:calc(100% - 1rem)}.nav-link:focus-visible{outline:2px solid #c15f3c;outline-offset:2px}.navbar-resume{border:1px solid #c15f3c;border-radius:6px;color:#c15f3c;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.8125rem;font-weight:600;padding:.3rem .875rem;text-decoration:none;transition:background .15s ease,color .15s ease}.navbar-resume:hover{background:#c15f3c1f;color:#ce7e62}.navbar-resume:focus-visible{outline:2px solid #c15f3c;outline-offset:2px}.navbar-hamburger{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;padding:.5rem;z-index:1001}.navbar-hamburger span{background:#8b949e;border-radius:2px;display:block;height:2px;transition:transform .25s ease,opacity .25s ease,background .15s ease;width:20px}.navbar-hamburger:hover span{background:#e6edf3}.navbar-hamburger--open span:first-child{transform:translateY(7px) rotate(45deg)}.navbar-hamburger--open span:nth-child(2){opacity:0}.navbar-hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-mobile{display:none}@media(max-width:768px){.navbar-links,.navbar-resume:not(.navbar-resume--mobile){display:none}.navbar-hamburger{display:flex}.navbar-mobile{align-items:center;background:#161b22;display:flex;flex-direction:column;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:999}.navbar-mobile--open{opacity:1;pointer-events:auto}.navbar-mobile__links{align-items:center;display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.navbar-mobile__links .nav-link{font-size:1.125rem;padding:.625rem 1.25rem}.navbar-mobile__links .nav-link:after{bottom:0}.navbar-mobile .navbar-resume--mobile{font-size:1rem;margin-top:1.5rem;padding:.5rem 1.5rem}}.hero{background:#0000;justify-content:center;min-height:100vh;overflow:hidden;padding:max(clamp(3rem,11vh,6.5rem),100px) clamp(2rem,5vw,6rem) clamp(3rem,11vh,6.5rem)}.hero,.hero-inner{align-items:center;display:flex;position:relative}.hero-inner{gap:clamp(2.5rem,6vw,5rem);justify-content:space-between;max-width:1200px;width:100%;z-index:1}.hero-left{align-items:center;flex-shrink:0}.hero-content,.hero-left{display:flex;flex-direction:column;gap:1.5rem}.hero-content{align-items:flex-start;max-width:clamp(380px,50vw,620px)}.hero-kicker{color:#8b949e;color:var(--subtext,#8b949e);font-family:SF Mono,Fira Code,monospace;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}.hero-heading{color:#e6edf3;color:var(--text,#e6edf3);font-family:ui-serif,Georgia,Cambria,serif;font-size:clamp(2.5rem,4vw,4rem);font-weight:700;line-height:1.1;margin:0;white-space:nowrap}.hero-heading__name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e6edf3,#c15f3c);background:linear-gradient(135deg,var(--text,#e6edf3) 0,var(--accent,#c15f3c) 100%);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#8b949e;color:var(--subtext,#8b949e);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.1rem;line-height:1.8;max-width:540px}.hero-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.04em;padding:.85rem 2.2rem;text-decoration:none;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn:focus-visible{outline:2px solid #c15f3c;outline:2px solid var(--accent,#c15f3c);outline-offset:2px}.btn-primary{background:#c15f3c;background:var(--accent,#c15f3c);border-color:#c15f3c;border-color:var(--accent,#c15f3c);box-shadow:0 8px 20px #c15f3c4d;color:#fff}.btn-primary:hover{background:#d4704f;box-shadow:0 12px 28px #c15f3c66;transform:translateY(-2px)}.btn-secondary{background:#0000;border:1px solid #30363d;border:1px solid var(--border,#30363d);color:#e6edf3;color:var(--text,#e6edf3)}.btn-secondary:hover{border-color:#c15f3c;border-color:var(--accent,#c15f3c);box-shadow:0 8px 20px #c15f3c26;color:#c15f3c;color:var(--accent,#c15f3c);transform:translateY(-2px)}.btn-download{background:#0000;border:1px solid #58a6ff;border:1px solid var(--accent-blue,#58a6ff);color:#58a6ff;color:var(--accent-blue,#58a6ff)}.btn-download:hover{background:#58a6ff1a;box-shadow:0 8px 20px #58a6ff33;transform:translateY(-2px)}.hero-photo{flex-shrink:0;margin:0}.hero-photo__frame{border:2px solid #c15f3c;border:2px solid var(--accent,#c15f3c);border-radius:20px;box-shadow:0 0 30px #c15f3c40,0 0 60px #c15f3c1a;height:280px;overflow:hidden;padding:0;position:relative;width:280px}.hero-photo__frame img{border-radius:18px;filter:saturate(1.05) contrast(1.02);height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.hero-photo__frame:hover img{transform:scale(1.03)}.hero-socials{display:flex;gap:1.25rem;justify-content:center}.hero-socials a{color:#8b949e;color:var(--subtext,#8b949e);font-size:1.5rem;transition:color .3s,transform .3s}.hero-socials a:hover{color:#c15f3c;color:var(--accent,#c15f3c);transform:translateY(-3px) scale(1.08)}@media(max-width:1100px){.hero{padding:clamp(3rem,10vh,5.5rem) clamp(2rem,6vw,5rem)}.hero-inner{gap:clamp(2rem,5vw,4rem)}}@media(max-width:900px){.hero{padding:100px clamp(1.5rem,6vw,3rem) clamp(2rem,8vw,4rem);text-align:center}.hero-inner{align-items:center;flex-direction:column-reverse;gap:2rem}.hero-left{gap:1rem}.hero-content{align-items:center}.hero-photo__frame{border-radius:16px;height:180px;width:180px}.hero-photo__frame img{border-radius:16px}.hero-heading{font-size:clamp(1.5rem,5.5vw,2.2rem);white-space:normal}.hero-subtitle{font-size:.95rem}.hero-kicker{font-size:.75rem}.hero-buttons{align-items:center;flex-direction:column;gap:.75rem}.hero-buttons .btn{font-size:.8rem;max-width:240px;padding:.7rem 1.5rem;width:100%}.hero-socials a{font-size:1.2rem}}.stats-section{border-bottom:1px solid var(--border);border-top:1px solid var(--border);padding:3rem 2rem;position:relative}.stats-grid{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin:0 auto;max-width:900px}.stats-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:.5rem;min-width:160px;padding:1.5rem 2rem}.stats-number{color:var(--accent);font-family:ui-serif,Georgia,Cambria,serif;font-size:2.4rem;font-weight:800;letter-spacing:-.02em}.stats-label{color:var(--subtext);font-family:SF Mono,Fira Code,monospace;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}@media(max-width:768px){.stats-grid{gap:1rem}.stats-item{min-width:130px;padding:1rem 1.5rem}.stats-number{font-size:1.8rem}}.marquee-section{border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:2rem 0}.marquee-track{animation:marqueeScroll 30s linear infinite;display:flex;white-space:nowrap;width:max-content}.marquee-track--reverse{animation-direction:reverse}@keyframes marqueeScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marquee-item{color:var(--subtext);font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:.85rem;padding:0 2rem;position:relative}.marquee-item:after{color:var(--subtext);content:"·";opacity:.4;position:absolute;right:0}.about.section--warm{background:#0000;color:var(--text)}.about .about-wrapper{margin:0 auto;max-width:1100px;width:100%}.about .about-section-title{color:#e6edf3;color:var(--text,#e6edf3);font-family:ui-serif,Georgia,Cambria,serif;font-size:clamp(2rem,3.5vw,2.8rem);margin-bottom:3rem;text-align:center}.about-content{grid-gap:clamp(2rem,4vw,4rem);align-items:start;display:grid;gap:clamp(2rem,4vw,4rem);grid-template-columns:3fr 2fr;margin-bottom:3.5rem}.about-text .about-quote{border:none;color:#e6edf3;color:var(--text,#e6edf3);font-family:ui-serif,Georgia,Cambria,serif;font-size:clamp(1.3rem,2.2vw,1.6rem);font-style:normal;font-weight:500;line-height:1.6;margin:0 0 2rem;padding:0}.about-text .about-quote .highlight{color:#c15f3c;color:var(--accent,#c15f3c);font-weight:700}.about-text p{color:#8b949e;color:var(--subtext,#8b949e);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem}.about-text p strong{color:#e6edf3;color:var(--text,#e6edf3)}.about-metrics{gap:1.25rem}.about-metrics,.metric-card{display:flex;flex-direction:column}.metric-card{background:#0d1117;background:var(--bg,#0d1117);border:1px solid #30363d;border:1px solid var(--border,#30363d);border-radius:12px;gap:.4rem;padding:1.5rem;text-align:center;transition:border-color .3s ease,box-shadow .3s ease}.metric-card:hover{border-color:#c15f3c;border-color:var(--accent,#c15f3c);box-shadow:0 8px 24px #00000026}.metric-value{color:#c15f3c;color:var(--accent,#c15f3c);font-family:ui-serif,Georgia,Cambria,serif;font-size:2.5rem;font-weight:700;line-height:1.1}.metric-label{color:#8b949e;color:var(--subtext,#8b949e);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.highlights{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.highlight-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161b22;background:var(--card-bg,#161b22);border:1px solid #00000014;border-radius:16px;display:flex;flex-direction:column;gap:1.2rem;padding:2rem 1.75rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.highlight-item:hover{border-color:#c15f3c;border-color:var(--accent,#c15f3c);box-shadow:0 12px 32px #0000001a}.highlight-item .highlight-icon{align-items:center;background:#0d1117;background:var(--bg,#0d1117);border-radius:14px;box-shadow:0 4px 12px #0000001f;color:#c15f3c;color:var(--accent,#c15f3c);display:inline-flex;font-size:1.5rem;height:56px;justify-content:center;width:56px}.highlight-item .highlight-copy{display:flex;flex-direction:column;gap:.5rem}.highlight-item .highlight-copy h3{color:#e6edf3;color:var(--text,#e6edf3);font-family:ui-serif,Georgia,Cambria,serif;font-size:1.25rem;margin:0}.highlight-item .highlight-copy p{color:#8b949e;color:var(--subtext,#8b949e);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.95rem;line-height:1.65;margin:0}.highlight-item[data-variant=ai] .highlight-icon{color:#d35a5a}.highlight-item[data-variant=modern] .highlight-icon{color:#58a6ff;color:var(--accent-blue,#58a6ff)}@media(max-width:900px){.about-content{gap:2.5rem;grid-template-columns:1fr}.about-metrics{flex-direction:row;flex-wrap:wrap;gap:1rem;justify-content:center}.metric-card{flex:1 1 140px;max-width:200px}}@media(max-width:768px){.highlights{grid-template-columns:1fr}.about-text .about-quote{font-size:1.2rem}.about-text p{font-size:.95rem}.metric-value{font-size:2rem}}.education{align-items:center}.education h2{margin-bottom:4rem;text-align:center}.education .education-timeline{margin:0 auto 4rem;max-width:960px;position:relative}.education .timeline-line{background:#30363d;background:var(--border,#30363d);bottom:0;left:50%;position:absolute;top:0;transform:translateX(-50%);width:1px}.education .timeline-item{padding-bottom:3rem;position:relative;width:50%}.education .timeline-item.left{align-self:flex-start;margin-left:0;padding-right:3rem}.education .timeline-item.right{margin-left:50%;padding-left:3rem}.education .timeline-dot{background:#c15f3c;background:var(--accent,#c15f3c);border-radius:50%;height:12px;position:absolute;top:2rem;width:12px;z-index:1}.left .education .timeline-dot{right:-6px}.right .education .timeline-dot{left:-6px}.education .education-card{background:#161b22;background:var(--card-bg,#161b22);border:1px solid #30363d;border:1px solid var(--border,#30363d);border-radius:12px;padding:2rem}.education .card-header{align-items:center;display:flex;gap:1rem;margin-bottom:.75rem}.education .card-logo{flex-shrink:0;height:48px;object-fit:contain;width:48px}.education .degree{color:var(--text);font-family:ui-serif,Georgia,Times New Roman,serif;font-size:1.3rem;line-height:1.3;margin:0}.education .school{color:#c15f3c;color:var(--accent,#c15f3c);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.95rem;margin:.15rem 0 0}.education .card-meta{align-items:center;color:#8b949e;color:var(--subtext,#8b949e);display:flex;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8rem;gap:.5rem;margin-bottom:1rem}.education .card-meta .separator{opacity:.5}.education .highlights{list-style:none;margin:0;padding:0}.education .highlights li{color:#8b949e;color:var(--subtext,#8b949e);font-size:.85rem;line-height:1.5;padding:.35rem 0 .35rem 1.25rem;position:relative}.education .highlights li:before{background:#c15f3c;background:var(--accent,#c15f3c);border-radius:50%;content:"";height:5px;left:0;position:absolute;top:.7em;width:5px}@media(max-width:768px){.education .timeline-line{left:6px;transform:none}.education .timeline-item{margin-left:0;width:100%}.education .timeline-item,.education .timeline-item.left{padding-left:2.5rem;padding-right:0}.education .timeline-item.right{margin-left:0;padding-left:2.5rem}.education .timeline-dot{left:0!important;right:auto!important}}.testimonial{padding:5rem 10%;text-align:center}.testimonial-quote{color:var(--text);font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.6rem;font-style:italic;line-height:1.7;margin:0 auto;max-width:700px}.testimonial-quote:before{color:var(--accent);content:"“";display:block;font-size:4rem;font-style:normal;line-height:1;margin-bottom:.5rem}.testimonial-author{color:var(--accent);font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:.85rem;margin-top:1.5rem}.testimonial-role{color:var(--subtext);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:.8rem;margin-top:.25rem}.projects{padding:clamp(80px,12vw,120px) 0}.projects h2{font-family:ui-serif,Georgia,Cambria,serif;margin-bottom:3rem;text-align:center}.projects .bento-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:1100px;padding:0 1.5rem}.projects .bento-card .bento-card-inner{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;height:100%;padding:2rem;transition:border-color .35s ease,transform .35s ease,box-shadow .35s ease}.projects .bento-card .bento-card-inner h3{color:var(--accent);font-family:ui-serif,Georgia,Cambria,serif;font-size:1.4rem;margin-bottom:1rem}.projects .bento-card .bento-card-inner p{color:var(--subtext);flex-grow:1;line-height:1.7;margin-bottom:1.5rem}.projects .bento-card .bento-card-inner .tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.projects .bento-card .bento-card-inner .tech-tag{background:#c15f3c1a;border:1px solid #c15f3c33;border-radius:6px;color:var(--text);font-family:SF Mono,Fira Code,monospace;font-size:.75rem;padding:4px 10px}.projects .bento-card .bento-card-inner .project-links{display:flex;gap:.75rem}.projects .bento-card .bento-card-inner .project-link{align-items:center;color:var(--text);display:flex;font-size:.85rem;gap:.4rem;text-decoration:none;transition:color .25s ease}.projects .bento-card .bento-card-inner .project-link:hover{color:var(--accent)}.projects .bento-card .bento-card-inner .live-dot{background:#3fb950;border-radius:50%;display:inline-block;height:6px;margin-right:4px;width:6px}.projects .bento-card .bento-card-inner:hover{border-color:var(--accent);box-shadow:0 12px 40px #c15f3c26;transform:translateY(-4px)}.projects .bento-card--hero{grid-column:span 2}@media(max-width:768px){.projects{padding:clamp(64px,18vw,90px) 0}.projects .bento-grid{grid-template-columns:1fr}.projects .bento-card--hero{grid-column:span 1}}.skills{align-items:center}.skills h2{font-family:ui-serif,Georgia,Cambria,serif;margin-bottom:3rem;text-align:center}.skills .heatmap-container{margin:0 auto;max-width:900px;padding:0 1.5rem;position:relative}.skills .heatmap-row{align-items:center;display:flex;gap:4px;margin-bottom:4px}.skills .heatmap-label{color:var(--subtext);flex-shrink:0;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;padding-right:12px;text-align:right;width:140px}.skills .heatmap-cells{display:flex;gap:4px}.skills .heatmap-cell{border-radius:3px;cursor:pointer;height:16px;transition:transform .2s ease,box-shadow .2s ease;width:16px}.skills .heatmap-cell:hover{box-shadow:0 0 8px #c15f3c80;transform:scale(1.4)}.skills .level-0{background:#c15f3c0d}.skills .level-1{background:#c15f3c33}.skills .level-2{background:#c15f3c73}.skills .level-3{background:#c15f3cb3}.skills .level-4{background:#c15f3c}.skills .heatmap-tooltip{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:SF Mono,Fira Code,monospace;font-size:.75rem;padding:6px 10px;pointer-events:none;position:fixed;white-space:nowrap;z-index:100}@media(max-width:768px){.skills .heatmap-label{font-size:.65rem;padding-right:8px;width:90px}.skills .heatmap-cell{height:12px;width:12px}}.contact{padding:clamp(80px,12vw,140px) 1.5rem;text-align:center}.contact .contact-content{margin:0 auto;max-width:600px}.contact h2{color:var(--text);font-family:ui-serif,Georgia,Cambria,serif;font-size:3rem;margin-bottom:1rem}.contact h2:after{display:none}.contact .contact-subtitle{color:var(--subtext);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:1.1rem;margin-bottom:2rem}.contact .contact-email{color:var(--accent);display:inline-block;font-family:SF Mono,Fira Code,monospace;font-size:1.2rem;text-decoration:none;transition:-webkit-text-decoration .2s ease;transition:text-decoration .2s ease;transition:text-decoration .2s ease,-webkit-text-decoration .2s ease}.contact .contact-email:hover{text-decoration:underline}.contact .contact-socials{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.contact .contact-socials a{color:var(--subtext);font-size:1.5rem;text-decoration:none;transition:color .25s ease}.contact .contact-socials a:hover{color:var(--accent)}@media(max-width:768px){.contact h2{font-size:2.2rem}.contact .contact-email{font-size:1rem}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:3rem 10%}.footer .footer-content{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1100px}.footer .footer-section h3{color:var(--text);font-family:ui-serif,Georgia,Cambria,serif;font-size:1.1rem;margin-bottom:.5rem}.footer .footer-section h4{color:var(--subtext);font-size:.85rem;letter-spacing:.08em;margin-bottom:.75rem;text-transform:uppercase}.footer .footer-section p{color:var(--subtext);font-size:.85rem;line-height:1.6;max-width:300px}.footer .footer-section ul{list-style:none}.footer .footer-section ul li{margin-bottom:.4rem}.footer .footer-section ul li a{color:var(--subtext);font-size:.85rem;text-decoration:none;transition:color .25s ease}.footer .footer-section ul li a:hover{color:var(--accent)}.footer .footer-socials{display:flex;gap:1rem}.footer .footer-socials a{color:var(--subtext);font-size:1.2rem;transition:color .25s ease}.footer .footer-socials a:hover{color:var(--accent)}.footer .footer-bottom{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem;text-align:center}.footer .footer-bottom p{color:var(--subtext);font-size:.8rem}.footer .footer-bottom .made-with{font-size:.75rem;margin-top:.5rem}.footer .footer-bottom .made-with .heart-icon{color:var(--accent);margin:0 2px}.footer .scroll-top{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;bottom:2rem;color:var(--subtext);cursor:pointer;display:grid;height:40px;place-items:center;position:fixed;right:2rem;transition:all .25s ease;width:40px;z-index:50}.footer .scroll-top:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:768px){.footer{padding:2rem 5%}.footer .footer-content{flex-direction:column;gap:1.5rem}}.cursor-dot{background-color:#c15f3c;background-color:var(--accent,#c15f3c);border-radius:50%;height:8px;left:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s ease,width .2s ease,height .2s ease;width:8px;will-change:transform;z-index:100000}.cursor-dot--hidden{opacity:0}.cursor-ring{border:1.5px solid #c15f3c66;border-radius:50%;height:36px;left:0;mix-blend-mode:difference;pointer-events:none;position:fixed;top:0;transition:width .3s cubic-bezier(.25,.46,.45,.94),height .3s cubic-bezier(.25,.46,.45,.94),border-color .3s ease,background-color .3s ease;width:36px;will-change:transform;z-index:99999}.cursor-ring--link{background-color:#c15f3c1f;border-color:#c15f3c99;height:50px;width:50px}.cursor-ring--text{height:24px;width:24px}@media(pointer:fine){*{cursor:none!important}}@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none!important}}
/*# sourceMappingURL=main.8255e6f3.css.map*/