:root{--bg:#f3ecd9;--brown:#3a2d22;--blue:#7d9ec7;--blue-dark:#5a7fa8;--peach:#d88c6a;--teal:#8bb3ad;--yellow:#d7ba67;--text:#1c1612;--text-muted:#6b5a4a;--shadow:#3a2d222e;--grain-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");--hex-pale:#f3ebb8;--hex-gold:#e5c23a;--hex-stroke:#1c1612}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--brown);border:2px solid var(--bg);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--peach)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Lora,serif;position:relative;overflow-x:hidden}body:before{content:"";background-image:var(--grain-url);pointer-events:none;z-index:9999;opacity:.4;background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:9998;background:radial-gradient(#0000 60%,#3a2d221f 100%);position:fixed;inset:0}.page-reveal{background:var(--brown);z-index:99999;transform-origin:top;animation:1s cubic-bezier(.77,0,.18,1) .3s forwards revealOut;position:fixed;inset:0}@keyframes revealOut{0%{transform:scaleY(1)}to{transform:scaleY(0)}}nav{z-index:1000;-webkit-backdrop-filter:blur(12px);background:#f3ecd9bf;border-bottom:1.5px solid #3a2d221f;justify-content:space-between;align-items:center;padding:1rem 2.5rem;transition:background .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{border:2.5px solid var(--brown);background:var(--bg);width:44px;height:44px;color:var(--brown);box-shadow:3px 3px 0 var(--brown);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:14px;font-weight:500;transition:transform .2s,box-shadow .2s;display:flex}.nav-logo:hover{box-shadow:5px 5px 0 var(--brown);transform:translate(-2px,-2px)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--text);padding-bottom:2px;font-family:DM Mono,monospace;font-size:13px;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--peach);width:0;height:1.5px;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0}.nav-links a:hover:after{width:100%}.btn-resume{background:var(--blue);color:#fff;border:2px solid var(--brown);cursor:pointer;box-shadow:3px 3px 0 var(--brown);border-radius:24px;padding:.45rem 1.2rem;font-family:DM Mono,monospace;font-size:13px;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn-resume:hover{box-shadow:5px 5px 0 var(--brown);transform:translate(-2px,-2px)}.btn-resume:active{box-shadow:1px 1px 0 var(--brown);transform:translate(1px,1px)}section{max-width:1100px;margin:0 auto;padding:5rem 2.5rem}#hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.35fr);align-items:center;gap:1.5rem 2rem;max-width:1200px;margin:0 auto;padding-top:8rem;display:grid}.hero-left{max-width:380px}.hero-eyebrow{color:var(--peach);letter-spacing:.12em;text-transform:uppercase;opacity:0;margin-bottom:1rem;font-family:DM Mono,monospace;font-size:12px;animation:.6s 1.1s forwards fadeUp;transform:translateY(20px)}.hero-title{color:var(--text);opacity:0;font-family:Playfair Display,serif;font-size:clamp(1.7rem,3.2vw,2.8rem);font-weight:900;line-height:1.2;animation:.7s 1.2s forwards fadeUp;transform:translateY(30px)}.hero-typewriter{color:var(--peach);white-space:pre-wrap;word-break:break-word;min-height:1.2em;display:block}.hero-cursor{color:var(--peach);opacity:0;margin-left:2px;font-weight:400;display:inline-block}.hero-cursor.visible{opacity:1}.hero-role{color:var(--text-muted);font-size:.7em;font-style:italic;font-weight:400}.hero-sub{color:var(--text-muted);opacity:0;max-width:340px;margin-top:1rem;font-size:.82rem;line-height:1.65;animation:.6s 1.4s forwards fadeUp;transform:translateY(20px)}.hero-socials{opacity:0;gap:.75rem;margin-top:2rem;animation:.6s 1.6s forwards fadeUp;display:flex;transform:translateY(20px)}.social-btn{border:2px solid var(--brown);background:var(--bg);width:40px;height:40px;box-shadow:2px 2px 0 var(--brown);cursor:pointer;color:var(--brown);border-radius:50%;justify-content:center;align-items:center;font-size:16px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.social-btn:hover{box-shadow:4px 4px 0 var(--brown);transform:translate(-2px,-2px)}.hero-right{opacity:0;justify-content:flex-end;align-items:center;min-height:480px;padding-top:.5rem;animation:.8s 1.5s forwards fadeIn;display:flex}.hero-visual{justify-content:flex-end;align-items:flex-end;width:min(100%,720px);height:100%;margin-top:-3rem;padding:0;transition:transform .12s ease-out;display:flex;position:relative}.hero-pixel-art{z-index:1;image-rendering:auto;filter:drop-shadow(8px 12px #3a2d222e);width:min(115%,640px);max-width:none;height:auto;animation:4s ease-in-out infinite heroFloat;position:relative}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.section-label{color:var(--peach);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;font-family:DM Mono,monospace;font-size:12px}.section-title{color:var(--text);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700}.section-subtitle{color:var(--text-muted);margin-bottom:3rem;font-family:DM Mono,monospace;font-size:13px}.divider{background:linear-gradient(90deg, transparent, var(--brown), transparent);opacity:.2;max-width:1100px;height:1px;margin:0 auto}#about{max-width:1100px;margin:0 auto;padding:5rem 2.5rem}.about-card{border:2.5px solid var(--brown);box-shadow:6px 6px 0 var(--brown);background:#fff6;border-radius:14px;grid-template-columns:1.2fr .8fr;align-items:center;gap:2.5rem;padding:2.5rem;display:grid}.about-text{color:var(--text);font-size:1.05rem;line-height:1.8}.about-text p{margin-bottom:1.5rem}.about-text p:last-child{margin-bottom:0}.about-details{border-left:2px dashed #3a2d2240;padding-left:2.5rem}.about-info-item{margin-bottom:1.5rem}.about-info-item:last-child{margin-bottom:0}.about-info-title{color:var(--peach);text-transform:uppercase;margin-bottom:.25rem;font-family:DM Mono,monospace;font-size:12px}.about-info-value{color:var(--brown);font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700}.honeycomb-container{--hex-w:108px;--hex-h:124px;width:min(95vw,580px);height:min(95vw,580px);margin:2.5rem auto 0;position:relative}.honeycomb-cell{--hex-fill:var(--hex-pale);left:calc(50% + var(--hx));top:calc(50% + var(--hy));width:var(--hex-w);height:var(--hex-h);cursor:default;z-index:1;transition:transform .2s;position:absolute;transform:translate(-50%,-50%)}.honeycomb-cell.accent{--hex-fill:var(--hex-gold)}.honeycomb-cell:hover{z-index:2;transform:translate(-50%,-50%)translate(-3px,-3px)}.honeycomb-cell:hover .hex-shadow{transform:translate(11px,13px)}.hex-shadow,.hex-stroke,.hex-face{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);position:absolute;inset:0}.hex-shadow{background:var(--hex-stroke);z-index:0;transition:transform .2s;transform:translate(8px,10px)}.hex-stroke{background:var(--hex-stroke);z-index:1}.hex-face{background:var(--hex-fill);transform-origin:50%;z-index:2;color:var(--hex-stroke);justify-content:center;align-items:center;display:flex;transform:scale(.9)}.honeycomb-cell-content{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:.5rem;display:flex}.honeycomb-logo{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 3px #0000001f);width:38px;height:38px;margin-bottom:.3rem;transition:transform .2s}.honeycomb-cell:hover .honeycomb-logo{transform:scale(1.1)}.honeycomb-cell.flask .honeycomb-logo,.honeycomb-cell.github .honeycomb-logo,.honeycomb-cell.django .honeycomb-logo{filter:drop-shadow(0 1px 3px #0003)}.honeycomb-name{letter-spacing:.03em;text-align:center;max-width:80px;margin-bottom:.12rem;font-family:DM Mono,monospace;font-size:9.5px;font-weight:600;line-height:1.2}.honeycomb-desc{opacity:.65;text-transform:uppercase;letter-spacing:.08em;font-family:DM Mono,monospace;font-size:8px;font-weight:500}@keyframes honeycombPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.88)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.honeycomb-cell.animate-in{opacity:0;animation:.55s cubic-bezier(.22,1,.36,1) forwards honeycombPop}#projects{max-width:1100px;margin:0 auto;padding:5rem 2.5rem}.projects-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.project-card{border:2.5px solid var(--brown);box-shadow:5px 5px 0 var(--brown);background:var(--bg);cursor:pointer;border-radius:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;overflow:hidden}.project-card:hover{box-shadow:9px 11px 0 var(--brown);transform:translate(-4px,-6px)rotate(-.5deg)}.project-card.featured{flex-direction:column;grid-row:span 2;display:flex}.project-img{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.project-img-inner{justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;transition:transform .5s;display:flex}.project-card:hover .project-img-inner{transform:scale(1.05)}.project-body{flex-direction:column;flex:1;padding:1.25rem;display:flex}.project-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--brown);background:#3a2d221a;border-radius:20px;margin-bottom:.6rem;padding:3px 10px;font-family:DM Mono,monospace;font-size:10px;display:inline-block}.project-title{color:var(--text);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700}.project-desc{color:var(--text-muted);flex:1;font-size:.875rem;line-height:1.65}.project-actions{gap:.6rem;margin-top:1rem;display:flex}.btn{border:2px solid var(--brown);cursor:pointer;border-radius:20px;align-items:center;gap:.3rem;padding:.4rem 1rem;font-family:DM Mono,monospace;font-size:12px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary{background:var(--peach);color:var(--brown);box-shadow:2px 2px 0 var(--brown)}.btn-secondary{color:var(--brown);box-shadow:2px 2px 0 var(--brown);background:0 0}.btn:hover{box-shadow:4px 4px 0 var(--brown);transform:translate(-1px,-2px)}.btn:active{box-shadow:0 0 0 var(--brown);transform:translate(1px,1px)}.project-card.small .project-img{aspect-ratio:16/7}#contact{text-align:center;max-width:680px;margin:0 auto;padding:5rem 2.5rem}.contact-form{grid-template-columns:1fr 1fr;gap:.9rem;margin-top:2rem;display:grid}.form-input{color:var(--text);border:2px solid var(--brown);background:#ffffff80;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem;font-family:Lora,serif;font-size:.9rem;transition:box-shadow .25s,border-color .25s,background .25s}.form-input::placeholder{color:var(--text-muted);opacity:.7}.form-input:focus{border-color:var(--blue);background:#7d9ec714;box-shadow:0 0 0 4px #7d9ec72e}.form-span-2{grid-column:span 2}textarea.form-input{resize:vertical;min-height:110px}.btn-cta{background:var(--blue);color:#fff;border:2.5px solid var(--brown);cursor:pointer;box-shadow:4px 4px 0 var(--brown);border-radius:50px;grid-column:span 2;padding:1rem 2rem;font-family:DM Mono,monospace;font-size:15px;font-weight:500;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s;position:relative;overflow:hidden}.btn-cta:before{content:"";background:linear-gradient(120deg,#0000 30%,#ffffff26 50%,#0000 70%);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.btn-cta:hover{box-shadow:7px 8px 0 var(--brown);background:var(--blue-dark);transform:translate(-3px,-4px)}.btn-cta:hover:before{transform:translate(100%)}.btn-cta:active{box-shadow:2px 2px 0 var(--brown);transform:translate(1px,2px)}.contact-socials{justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.contact-email{color:var(--text-muted);margin-top:1rem;font-family:DM Mono,monospace;font-size:12px}.contact-email a{color:var(--text-muted);border-bottom:1px solid #0000;text-decoration:none;transition:color .2s,border-color .2s}.contact-email a:hover{color:var(--peach);border-bottom-color:var(--peach)}footer{text-align:center;color:var(--text-muted);border-top:1.5px solid #3a2d2226;padding:2rem;font-family:DM Mono,monospace;font-size:12px}footer span{color:var(--peach)}.tilt{transform-style:preserve-3d;transition:transform .1s}.toast{background:var(--brown);color:var(--bg);z-index:10000;opacity:0;pointer-events:none;border-radius:8px;padding:.75rem 1.25rem;font-family:DM Mono,monospace;font-size:13px;transition:opacity .3s,transform .3s;position:fixed;bottom:2rem;right:2rem;transform:translateY(20px);box-shadow:4px 4px #0003}.toast.show{opacity:1;transform:translateY(0)}@media (width<=768px){#hero{text-align:center;grid-template-columns:1fr;gap:2rem;padding-top:6rem}.hero-left{max-width:none;margin:0 auto}.hero-sub{max-width:420px;margin-left:auto;margin-right:auto;font-size:.88rem}.hero-typewriter{white-space:pre-wrap;word-break:break-word}.hero-right{display:none}.hero-socials{justify-content:center}.honeycomb-container{--hex-w:88px;--hex-h:102px;transform-origin:50%;width:min(95vw,580px);height:min(95vw,580px);margin:1.5rem auto -2.5rem;transform:scale(.78)}.hex-shadow{transform:translate(6px,8px)}.honeycomb-cell:hover .hex-shadow{transform:translate(8px,10px)}.about-card{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.about-details{border-top:2px dashed #3a2d2240;border-left:none;padding-top:1.5rem;padding-left:0}.projects-grid{grid-template-columns:1fr}.project-card.featured{grid-row:span 1}nav{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem}.nav-links{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:.75rem 1rem}.nav-links a{font-size:12px}.btn-resume{padding:.35rem .85rem;font-size:12px}.theme-toggle{width:30px;height:30px}.contact-form{grid-template-columns:1fr}.btn-cta,.form-span-2{grid-column:span 1}section,#hero,#skills,#projects,#contact,#experience{padding-left:1.2rem;padding-right:1.2rem}}[data-theme=dark]{--bg:#1a1410;--brown:#c8a878;--text:#f0e6d3;--text-muted:#9a8778;--shadow:#00000073;--hex-pale:#2d2018;--hex-gold:#c8920a;--hex-stroke:#e0cba8}[data-theme=dark] body:after{background:radial-gradient(#0000 60%,#00000059 100%)}[data-theme=dark] nav{background:#1a1410e6;border-bottom-color:#c8a87826}[data-theme=dark] .nav-logo,[data-theme=dark] .social-btn,[data-theme=dark] .theme-toggle,[data-theme=dark] .project-card,[data-theme=dark] .achievement-badge{background:#231a12}[data-theme=dark] .about-card,[data-theme=dark] .timeline-card{background:#231a12d9}[data-theme=dark] .form-input{color:var(--text);background:#231a12cc}[data-theme=dark] .form-input::placeholder{color:var(--text-muted);opacity:.7}[data-theme=dark] .skill-bar-track{background:#c8a8781a;border-color:#c8a87826}[data-theme=dark] .skill-bars-section{border-top-color:#c8a87833}[data-theme=dark] .flask .honeycomb-logo,[data-theme=dark] .github .honeycomb-logo,[data-theme=dark] .django .honeycomb-logo{filter:invert()drop-shadow(0 1px 3px #0003)}.scroll-progress-bar{background:linear-gradient(90deg, var(--peach), var(--blue));z-index:100000;pointer-events:none;border-radius:0 2px 2px 0;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.cursor-dot,.cursor-ring{pointer-events:none;z-index:99998;opacity:0;will-change:transform;transition:opacity .3s;position:fixed;top:0;left:0}.cursor-dot.visible,.cursor-ring.visible{opacity:1}.cursor-dot{background:var(--peach);border-radius:50%;width:8px;height:8px}.cursor-ring{border:2px solid var(--peach);border-radius:50%;width:36px;height:36px;transition:width .25s,height .25s,border-color .25s,opacity .3s}.cursor-ring.cursor-hover{border-color:var(--blue);background:#7d9ec714;width:52px;height:52px}.cursor-dot.cursor-hover{background:var(--blue)}.nav-scrolled{box-shadow:0 4px 24px #3a2d221a}.theme-toggle{border:2px solid var(--brown);background:var(--bg);cursor:pointer;width:36px;height:36px;color:var(--brown);box-shadow:2px 2px 0 var(--brown);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s,background .3s;display:flex}.theme-toggle:hover{box-shadow:4px 4px 0 var(--brown);transform:translate(-2px,-2px)}.download-badge{background:var(--peach);color:#fff;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:.35rem;padding:0 2px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.hero-cta-btn{background:var(--peach);color:var(--brown);border:2.5px solid var(--brown);box-shadow:4px 4px 0 var(--brown);opacity:0;border-radius:50px;align-items:center;gap:.5rem;margin-top:1.5rem;margin-bottom:.75rem;padding:.7rem 1.6rem;font-family:DM Mono,monospace;font-size:14px;font-weight:500;text-decoration:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;animation:.6s 1.7s forwards fadeUp;display:inline-flex}.hero-cta-btn:hover{box-shadow:7px 8px 0 var(--brown);transform:translate(-3px,-4px)}.hero-cta-btn:active{box-shadow:1px 1px 0 var(--brown);transform:translate(1px,1px)}#experience{max-width:1100px;margin:0 auto;padding:5rem 2.5rem}.timeline{flex-direction:column;margin-top:2.5rem;display:flex;position:relative}.timeline-item{grid-template-columns:48px 1fr;gap:0 1.5rem;display:grid}.timeline-connector{flex-direction:column;align-items:center;display:flex}.timeline-icon{background:var(--bg);border:2.5px solid var(--brown);width:44px;height:44px;box-shadow:3px 3px 0 var(--brown);color:var(--peach);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex}.timeline-item:hover .timeline-icon{box-shadow:5px 5px 0 var(--brown);transform:translate(-1px,-2px)}.timeline-line{background:linear-gradient(#3a2d224d,#3a2d220a);flex:1;width:2px;min-height:1.25rem;margin:4px 0}.timeline-card{border:2px solid var(--brown);box-shadow:4px 4px 0 var(--brown);background:#fff6;border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}.timeline-card:hover{box-shadow:6px 7px 0 var(--brown);transform:translate(-2px,-3px)}.timeline-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.timeline-title{color:var(--text);margin-bottom:.2rem;font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700}.timeline-org{color:var(--peach);font-family:DM Mono,monospace;font-size:12px}.timeline-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3rem;display:flex}.timeline-period{color:var(--text-muted);font-family:DM Mono,monospace;font-size:11px}.timeline-detail{background:var(--blue);color:#fff;border-radius:12px;padding:2px 8px;font-family:DM Mono,monospace;font-size:10px}.timeline-desc{color:var(--text-muted);margin-top:.5rem;font-size:.85rem;line-height:1.65}.timeline-type-badge{letter-spacing:.04em;border-radius:20px;margin-top:.75rem;padding:2px 10px;font-family:DM Mono,monospace;font-size:10px;display:inline-block}.type-education{color:var(--blue);background:#7d9ec726;border:1px solid #7d9ec74d}.type-activity{color:var(--peach);background:#d88c6a26;border:1px solid #d88c6a4d}.achievements-section{max-width:1100px;margin:0 auto;padding:5rem 0 5rem 2.5rem}.achievements-strip{cursor:grab;scrollbar-width:none;-ms-overflow-style:none;-webkit-user-select:none;user-select:none;gap:1rem;margin-top:1.5rem;padding:.5rem 2.5rem 1.5rem 0;display:flex;overflow-x:auto}.achievements-strip::-webkit-scrollbar{display:none}.achievement-badge{border:2.5px solid var(--brown);background:var(--bg);box-shadow:4px 4px 0 var(--brown);border-radius:16px;flex-shrink:0;align-items:center;gap:.9rem;min-width:210px;padding:1rem 1.4rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:flex;position:relative;overflow:hidden}.achievement-badge:hover{box-shadow:7px 7px 0 var(--brown);transform:translate(-3px,-4px)}.badge-glow{background:radial-gradient(circle at 30% 50%, var(--badge-color,var(--peach)), transparent 70%);opacity:.07;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.achievement-badge:hover .badge-glow{opacity:.18}.badge-icon{filter:drop-shadow(0 2px 4px #00000026);font-size:1.8rem;line-height:1}.badge-body{flex:1;min-width:0}.badge-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-family:Playfair Display,serif;font-size:.9rem;font-weight:700;overflow:hidden}.badge-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.15rem;font-family:DM Mono,monospace;font-size:10px;overflow:hidden}.skill-bars-section{border-top:1.5px dashed #3a2d2233;margin-top:3.5rem;padding-top:2.5rem}.skill-bars-label{color:var(--peach);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem;font-family:DM Mono,monospace;font-size:12px}.skill-bars-grid{grid-template-columns:1fr 1fr;gap:1.2rem 3.5rem;display:grid}.skill-bar-item{opacity:0;animation:.5s forwards slideInBar;transform:translate(-10px)}@keyframes slideInBar{to{opacity:1;transform:translate(0)}}.skill-bar-header{justify-content:space-between;margin-bottom:.4rem;display:flex}.skill-bar-name{color:var(--text);font-family:DM Mono,monospace;font-size:12px;font-weight:500}.skill-bar-pct{color:var(--peach);font-family:DM Mono,monospace;font-size:12px;font-weight:600}.skill-bar-track{background:#3a2d221a;border:1.5px solid #3a2d221f;border-radius:4px;height:8px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--peach), var(--blue));border-radius:4px;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.tech-pills{flex-wrap:wrap;gap:.35rem;margin:.65rem 0 .4rem;display:flex}.tech-pill{letter-spacing:.03em;opacity:.92;white-space:nowrap;border-radius:20px;padding:2px 8px;font-family:DM Mono,monospace;font-size:10px;font-weight:600}.toast-success{background:#2a6e47}.toast-error{background:#b83226}.btn-spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:.4rem;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn-sending{opacity:.75;cursor:not-allowed}.notfound-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.notfound-grid{pointer-events:none;background-image:linear-gradient(#3a2d2212 1px,#0000 1px),linear-gradient(90deg,#3a2d2212 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.notfound-content{z-index:1;text-align:center;padding:2rem;position:relative}.notfound-glitch{color:var(--peach);font-family:Playfair Display,serif;font-size:clamp(5rem,18vw,11rem);font-weight:900;line-height:1;animation:5s ease-in-out infinite glitchPulse;position:relative}.notfound-glitch:before,.notfound-glitch:after{content:attr(data-text);position:absolute;top:0;left:0;right:0}.notfound-glitch:before{color:var(--blue);clip-path:polygon(0 0,100% 0,100% 38%,0 38%);animation:5s step-end infinite glitchShift1}.notfound-glitch:after{color:var(--teal);clip-path:polygon(0 62%,100% 62%,100% 100%,0 100%);animation:5s step-end infinite glitchShift2}@keyframes glitchPulse{0%,88%,to{text-shadow:none}90%{text-shadow:3px 0 var(--blue),-3px 0 var(--peach)}92%{text-shadow:-3px 0 var(--blue),3px 0 var(--peach)}}@keyframes glitchShift1{0%,88%,to{opacity:0;transform:translate(0)}90%{opacity:.75;transform:translate(-4px,2px)}92%{opacity:.75;transform:translate(4px,-2px)}}@keyframes glitchShift2{0%,88%,to{opacity:0;transform:translate(0)}91%{opacity:.75;transform:translate(4px,2px)}93%{opacity:.75;transform:translate(-4px,-2px)}}.notfound-title{color:var(--text);margin:.5rem 0 1rem;font-family:Playfair Display,serif;font-size:clamp(1.4rem,4vw,2.2rem);font-weight:700}.notfound-sub{color:var(--text-muted);max-width:380px;margin:0 auto 2rem;font-family:Lora,serif;font-size:1rem;line-height:1.7}.notfound-terminal{background:var(--brown);color:#7bff8a;letter-spacing:.06em;border-radius:8px;align-items:center;margin-bottom:2rem;padding:.55rem 1.1rem;font-family:DM Mono,monospace;font-size:13px;display:inline-flex}.nt-prompt{color:var(--peach)}.nt-cmd{color:#7bff8a}.nt-blink{color:#7bff8a;margin-left:2px;animation:.8s step-end infinite blinkCursor}@keyframes blinkCursor{50%{opacity:0}}.notfound-btn{background:var(--peach);color:var(--brown);border:2.5px solid var(--brown);box-shadow:4px 4px 0 var(--brown);border-radius:50px;padding:.75rem 2rem;font-family:DM Mono,monospace;font-size:14px;text-decoration:none;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;display:inline-block}.notfound-btn:hover{box-shadow:7px 8px 0 var(--brown);transform:translate(-3px,-4px)}.notfound-btn:active{box-shadow:1px 1px 0 var(--brown);transform:translate(1px,1px)}@media (width<=768px){#experience,.achievements-section{padding-left:1.2rem;padding-right:1.2rem}.timeline-item{grid-template-columns:36px 1fr;gap:0 .85rem}.timeline-icon{width:36px;height:36px}.timeline-header{flex-direction:column;gap:.4rem}.timeline-meta{flex-direction:row;align-items:flex-start;gap:.5rem}.skill-bars-grid{grid-template-columns:1fr;gap:1rem}.achievement-badge{min-width:180px;padding:.8rem 1rem}.hero-cta-btn{padding:.6rem 1.2rem;font-size:13px}.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-col{display:none}.about-stats{grid-template-columns:1fr 1fr}}.nav-links a.nav-active{color:var(--peach)}.nav-links a.nav-active:after{width:100%}.back-to-top{background:var(--peach);width:44px;height:44px;color:var(--brown);border:2.5px solid var(--brown);box-shadow:3px 3px 0 var(--brown);cursor:pointer;z-index:9000;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(16px)scale(.85)}.back-to-top.btt-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.back-to-top:hover{box-shadow:5px 5px 0 var(--brown);transform:translateY(-3px)scale(1.05)}.back-to-top:active{box-shadow:1px 1px 0 var(--brown);transform:translateY(1px)scale(.97)}.hero-eyebrow{align-items:center;gap:.5rem;display:flex}.availability-dot{background:#4caf50;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block;position:relative}.availability-dot:before{content:"";background:#4caf5059;border-radius:50%;animation:2s ease-out infinite pulseRing;position:absolute;inset:-3px}@keyframes pulseRing{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2)}}.about-stats{border:2px solid var(--brown);box-shadow:4px 4px 0 var(--brown);background:#ffffff59;border-radius:14px;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem;padding:1.75rem 2rem;display:grid}[data-theme=dark] .about-stats{background:#231a1299}.stat-item{text-align:center;border-right:1.5px dashed #3a2d2233;flex-direction:column;align-items:center;padding:.5rem;display:flex}.stat-item:last-child{border-right:none}[data-theme=dark] .stat-item{border-right-color:#c8a8782e}.stat-value{color:var(--peach);margin-bottom:.35rem;font-family:Playfair Display,serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;line-height:1}.stat-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px;line-height:1.3}footer{color:var(--text-muted);text-align:left;border-top:1.5px solid #3a2d2226;padding:0;font-family:DM Mono,monospace;font-size:12px}[data-theme=dark] footer{border-top-color:#c8a87826}.footer-inner{grid-template-columns:1.4fr .8fr 1fr;gap:3rem;max-width:1100px;margin:0 auto;padding:3rem 2.5rem 2rem;display:grid}.footer-brand{flex-direction:column;gap:.75rem;display:flex}.footer-logo{border:2.5px solid var(--brown);background:var(--bg);width:44px;height:44px;color:var(--brown);box-shadow:3px 3px 0 var(--brown);border-radius:50%;justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:14px;font-weight:500;display:flex}.footer-tagline{color:var(--text-muted);font-family:Lora,serif;font-size:.85rem;line-height:1.65}.footer-socials{gap:.5rem;margin-top:.25rem;display:flex}.footer-social-icon{width:34px;height:34px;color:var(--text-muted);border:1.5px solid #3a2d2240;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:color .2s,border-color .2s,transform .2s;display:flex}.footer-social-icon:hover{color:var(--peach);border-color:var(--peach);transform:translateY(-2px)}.footer-col{flex-direction:column;gap:.6rem;display:flex}.footer-col-title{letter-spacing:.12em;text-transform:uppercase;color:var(--peach);margin-bottom:.35rem;font-size:11px;font-weight:500}.footer-link{color:var(--text-muted);font-size:12px;text-decoration:none;transition:color .2s,transform .2s;display:inline-block}.footer-link:hover{color:var(--text);transform:translate(3px)}.footer-resume-link{color:var(--peach);margin-top:.5rem}.footer-resume-link:hover{color:var(--text)}.footer-bottom{max-width:1100px;color:var(--text-muted);border-top:1px solid #3a2d221a;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.25rem 2.5rem;font-size:11px;display:flex}[data-theme=dark] .footer-bottom{border-top-color:#c8a8781a}.footer-made{align-items:center;gap:.35rem;display:flex}.footer-heart{color:#e05;font-size:13px;animation:1.6s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}@media (width<=768px){.about-stats{grid-template-columns:1fr 1fr;gap:.75rem;padding:1.25rem}.stat-item{border-bottom:1.5px dashed #3a2d2226;border-right:none;padding-bottom:.75rem}.stat-item:nth-child(2n),.stat-item:nth-last-child(-n+2){border-bottom:none}.footer-inner{grid-template-columns:1fr;gap:2rem;padding:2rem 1.5rem 1.5rem}.footer-col{display:flex}.footer-bottom{text-align:center;flex-direction:column;gap:.5rem;padding:1rem 1.5rem}.back-to-top{width:40px;height:40px;bottom:1.25rem;right:1.25rem}.cp-trigger{display:none!important}.hero-greeting{font-size:12px}}body:before{content:"";z-index:99999;pointer-events:none;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;position:fixed;inset:0}.hero-greeting{color:var(--text-muted);opacity:0;background:#3a2d220f;border:1.5px solid #3a2d221f;border-radius:50px;align-items:center;gap:.45rem;margin-bottom:.85rem;padding:.3rem .85rem;font-family:DM Mono,monospace;font-size:13px;animation:.5s .3s forwards fadeUp;display:inline-flex}[data-theme=dark] .hero-greeting{background:#c8a8780f;border-color:#c8a8781f}.hero-greeting-emoji{font-size:15px;line-height:1}.hero-greeting-text{letter-spacing:.02em}.copy-email-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;vertical-align:middle;background:0 0;border:1.5px solid #3a2d2233;border-radius:6px;justify-content:center;align-items:center;margin-left:.4rem;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex}.copy-email-btn:hover{color:var(--peach);border-color:var(--peach);background:#d88c6a14;transform:translateY(-1px)}.copy-email-btn.copied{color:#4caf50;background:#4caf5014;border-color:#4caf50}.cp-trigger{color:var(--text-muted);cursor:pointer;background:#3a2d220f;border:1.5px solid #3a2d2226;border-radius:8px;flex-shrink:0;align-items:center;gap:.4rem;padding:.32rem .65rem;font-family:DM Mono,monospace;font-size:11px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.cp-trigger:hover{color:var(--brown);border-color:var(--brown);background:#3a2d221a}.cp-trigger kbd{color:var(--text-muted);background:#3a2d221a;border:1px solid #3a2d2226;border-radius:4px;padding:1px 4px;font-family:DM Mono,monospace;font-size:9px}[data-theme=dark] .cp-trigger{background:#c8a8780f;border-color:#c8a87826}[data-theme=dark] .cp-trigger kbd{background:#c8a8781a;border-color:#c8a87826}.cp-overlay{z-index:100001;-webkit-backdrop-filter:blur(6px);background:#1e140c8c;justify-content:center;align-items:flex-start;padding-top:clamp(5vh,12vh,120px);animation:.18s cpFadeIn;display:flex;position:fixed;inset:0}@keyframes cpFadeIn{0%{opacity:0}to{opacity:1}}.cp-modal{background:var(--bg);border:2px solid var(--brown);width:min(560px,94vw);box-shadow:8px 8px 0 var(--brown), 0 24px 60px #0000004d;border-radius:16px;animation:.2s cubic-bezier(.34,1.56,.64,1) cpSlideIn;overflow:hidden}@keyframes cpSlideIn{0%{opacity:0;transform:translateY(-18px)scale(.97)}to{opacity:1;transform:none}}.cp-header{border-bottom:1.5px solid #3a2d221f;align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:flex}[data-theme=dark] .cp-header{border-bottom-color:#c8a8781f}.cp-search-icon{color:var(--text-muted);flex-shrink:0}.cp-input{color:var(--text);caret-color:var(--peach);background:0 0;border:none;outline:none;flex:1;font-family:DM Mono,monospace;font-size:14px}.cp-input::placeholder{color:var(--text-muted);opacity:.7}.cp-esc-key{color:var(--text-muted);cursor:pointer;background:#3a2d2214;border:1.5px solid #3a2d2226;border-radius:6px;flex-shrink:0;padding:2px 7px;font-family:DM Mono,monospace;font-size:10px;transition:background .2s}.cp-esc-key:hover{background:#3a2d2226}.cp-list{scrollbar-width:thin;scrollbar-color:var(--brown) transparent;max-height:320px;margin:0;padding:.4rem 0;list-style:none;overflow-y:auto}.cp-list::-webkit-scrollbar{width:4px}.cp-list::-webkit-scrollbar-thumb{background:var(--brown);border-radius:2px}.cp-empty{text-align:center;color:var(--text-muted);padding:2rem;font-family:DM Mono,monospace;font-size:13px}.cp-item{cursor:pointer;border-radius:0;align-items:center;gap:.75rem;padding:.7rem 1.1rem;transition:background .12s;display:flex}.cp-item:hover,.cp-selected{background:#3a2d220f}[data-theme=dark] .cp-item:hover,[data-theme=dark] .cp-selected{background:#c8a87814}.cp-icon{text-align:center;flex-shrink:0;width:24px;font-size:16px}.cp-label{color:var(--text);flex:1;font-family:DM Mono,monospace;font-size:13px}.cp-enter{color:var(--text-muted);opacity:0;font-size:12px;transition:opacity .15s}.cp-selected .cp-enter{opacity:1}.cp-foot{color:var(--text-muted);border-top:1.5px solid #3a2d221a;gap:1.25rem;padding:.6rem 1.1rem;font-family:DM Mono,monospace;font-size:10px;display:flex}[data-theme=dark] .cp-foot{border-top-color:#c8a8781a}.cp-foot kbd{background:#3a2d2214;border:1px solid #3a2d221f;border-radius:4px;margin-right:3px;padding:1px 5px;font-family:inherit}[data-theme=dark] .cp-foot kbd{background:#c8a87814;border-color:#c8a8781f}
