@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;600&display=swap);body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.topnav{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#151c26d9;border-bottom:1px solid var(--border);box-sizing:border-box;display:flex;font-family:IBM Plex Mono,monospace;font-size:14px;gap:4px;justify-content:center;left:0;padding:0;position:fixed;right:0;top:0;width:100%;z-index:100}.topnav a{color:var(--text-secondary);display:block;letter-spacing:.03em;padding:16px 20px;position:relative;text-align:center;text-decoration:none;transition:color .2s}.topnav a:after{background-color:var(--accent);border-radius:2px;bottom:10px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .2s ease;width:0}.topnav a:hover{background-color:initial;color:var(--text)}.topnav a:hover:after{width:calc(100% - 40px)}.topnav a.active{background-color:initial;color:var(--accent)}.topnav a.active:after{width:calc(100% - 40px)}@media screen and (max-width:768px){body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.topnav{border-bottom:none;border-top:1px solid var(--border);bottom:0;font-size:11px;gap:0;justify-content:space-evenly;left:0;padding:0 4px env(safe-area-inset-bottom);position:fixed;right:0;top:auto}.topnav a{align-items:center;display:flex;flex:0 0 auto;justify-content:center;letter-spacing:.06em;min-height:44px;padding:14px 10px;text-align:center}.topnav a:after{bottom:auto;height:2px;top:0}.topnav a.active:after,.topnav a:hover:after{width:24px}}:root{--bg:#151c26;--surface:#1c2531;--surface-2:#111820;--border:#263140;--border-strong:#33404f;--accent:#7fe0c9;--accent-hover:#6cd4bb;--accent-contrast:#0e1620;--accent-dim:#7fe0c926;--text:#f2f6f9;--text-soft:#c7d1dc;--text-secondary:#8b97a7;--text-muted:#6b7686;--font-body:"Outfit",Arial,sans-serif;--font-mono:"IBM Plex Mono",monospace;--max-width:1100px;--radius:8px}*,:after,:before{box-sizing:border-box}iframe,img,table,video{max-width:100%}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;background-color:#151c26;background-color:var(--bg);color:#f2f6f9;color:var(--text);font-family:Outfit,Arial,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.6;margin:0;max-width:100vw;padding-top:49px}.container{display:flex;flex-wrap:wrap;justify-content:center;margin:20px auto;max-width:1100px;max-width:var(--max-width);padding:0 24px}.aboutcontainer{margin:40px auto;max-width:800px;padding:0 24px 100px}.centered-container{align-items:center;background-color:#151c26;background-color:var(--bg);color:#f2f6f9;color:var(--text);display:flex;flex-direction:column}.center,.row{display:flex;flex-wrap:wrap;justify-content:center}.column{flex:1 0 21%;margin:10px;padding-bottom:10px}.standard{background-color:#151c26;background-color:var(--bg);color:#f2f6f9;color:var(--text)}h1,h2,h3,h4,h5{font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-weight:600;letter-spacing:-.02em;margin:0}p{color:#f2f6f9;color:var(--text);font-size:17px;letter-spacing:.01px;line-height:1.7;margin:10px 0}.p3,p{text-align:center}.p3{font-size:14px;letter-spacing:.5px;line-height:1.6}.lead-text{color:#8b97a7;color:var(--text-secondary);font-size:18px;line-height:1.7;margin:0 auto 16px;max-width:680px;text-align:center}.header{background-color:#151c26;background-color:var(--bg);border-bottom:1px solid #263140;border-bottom:1px solid var(--border);color:#f2f6f9;color:var(--text);font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-weight:600;padding:16px 32px;width:100%}.card,.header{text-align:center}.card{background-color:#1c2531;background-color:var(--surface);border-radius:8px;border-radius:var(--radius);box-shadow:0 4px 16px #00000080;margin:8px}.projectImgs{display:inline-block;margin-left:auto;margin-right:auto;max-height:40%;max-width:40%}.progress-container{background-color:#111820;background-color:var(--surface-2);border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-bar{background-color:#7fe0c9;background-color:var(--accent);height:100%;transition:width .5s ease-in-out}footer{background-color:#151c26;background-color:var(--bg);border-top:1px solid #263140;border-top:1px solid var(--border);color:#8b97a7;color:var(--text-secondary);font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:14px;padding:16px 0;width:100%}.certsTxt,footer{text-align:center}.certsTxt{padding-bottom:25px;padding-top:25px}.cert-image{margin-right:20px;max-width:200px}.button{background-color:initial;border:1px solid #7fe0c9;border:1px solid var(--accent);border-radius:8px;border-radius:var(--radius);color:#7fe0c9;color:var(--accent);cursor:pointer;display:inline-block;font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:13px;padding:8px 18px;text-decoration:none;transition:background-color .2s,color .2s}.button:hover{background-color:#7fe0c9;background-color:var(--accent);color:#0e1620;color:var(--accent-contrast)}.centered-badge{display:flex;justify-content:center;width:100%}@media screen and (max-width:900px){.container{padding:10px;width:90%}.aboutcontainer{padding:0 16px 60px}p{font-size:16px}.p3{font-size:10px}.center{max-width:95%}.header{padding:12px}.row{align-items:center;flex-direction:column}.column{padding:5px;width:100%}.card{padding:15px;width:100%}.cert-image{max-width:100px}}.projects-section{margin:0 auto;max-width:1100px;padding:0 0 80px;width:100%}.projects-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.project-card{background:var(--surface-2);border-radius:10px;cursor:pointer;height:340px;isolation:isolate;overflow:hidden;position:relative}.project-card--featured{grid-column:1/-1;height:460px}.pc-media{inset:0;position:absolute;z-index:1}.pc-image{display:block;filter:brightness(.7) saturate(.8);height:100%;margin:0;max-height:none;max-width:none;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.4,0,.2,1),filter .7s ease;width:100%}.project-card:hover .pc-image{filter:brightness(.55) saturate(.6);transform:scale(1.07)}.pc-overlay{background:linear-gradient(180deg,#0000,#00000026 25%,#000000b3 60%,#000000f7);inset:0;position:absolute;transition:background .5s ease;z-index:2}.project-card:hover .pc-overlay{background:linear-gradient(180deg,#00000040,#00000080 40%,#000000eb 70%,#000000fa)}.pc-glow{background:radial-gradient(circle,#7fe0c9 0,#0000 70%);background:radial-gradient(circle,var(--accent,#7fe0c9) 0,#0000 70%);border-radius:50%;bottom:-60px;height:240px;left:-60px;opacity:.1;pointer-events:none;position:absolute;transition:opacity .5s ease,transform .5s ease;width:240px;z-index:3}.project-card:hover .pc-glow{opacity:.22;transform:scale(1.2)}.pc-index{-webkit-text-stroke:1px #ffffff38;color:#ffffff24;font-family:IBM Plex Mono,monospace;font-size:110px;font-weight:700;line-height:1;pointer-events:none;position:absolute;right:16px;text-shadow:0 2px 10px #0006;top:-8px;transition:color .5s ease;-webkit-user-select:none;user-select:none;z-index:4}.project-card:hover .pc-index{color:#ffffff38}.pc-shimmer{background:linear-gradient(105deg,#0000 35%,hsla(0,0%,100%,.035) 50%,#0000 65%);inset:0;pointer-events:none;position:absolute;transform:translateX(-120%);transition:transform 0s;z-index:5}.project-card:hover .pc-shimmer{transform:translateX(220%);transition:transform .85s cubic-bezier(.4,0,.2,1)}.pc-content{bottom:0;left:0;padding:28px 28px 24px;position:absolute;right:0;transform:translateY(0);transition:transform .45s cubic-bezier(.4,0,.2,1);z-index:6}.project-card:hover .pc-content{transform:translateY(-6px)}.pc-meta{align-items:center;display:flex;gap:10px;margin-bottom:10px}.pc-category{color:#7fe0c9;color:var(--accent,#7fe0c9);letter-spacing:.18em;opacity:.9;text-transform:uppercase}.pc-category,.pc-year{font-family:IBM Plex Mono,monospace;font-size:9.5px}.pc-year{color:#ffffff47;letter-spacing:.08em}.pc-year:before{color:#fff3;content:"·";margin-right:10px}.pc-title{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0 0 4px}.project-card--featured .pc-title{font-size:26px}.pc-status{border:1px solid #7fe0c9;border:1px solid var(--accent,#7fe0c9);border-radius:20px;color:#7fe0c9;color:var(--accent,#7fe0c9);display:inline-block;font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:500;letter-spacing:.08em;margin-left:10px;padding:3px 9px;text-transform:uppercase;vertical-align:middle}.pc-role{color:#fff6;font-size:12px;letter-spacing:.01em}.pc-desc,.pc-role{font-family:Outfit,sans-serif;margin:0;text-align:left}.pc-desc{color:#ffffff94;font-size:13px;line-height:1.65;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s ease .08s,margin .35s ease}.project-card:hover .pc-desc{margin:10px 0 0;max-height:90px;opacity:1}.project-card--featured .pc-desc{margin:10px 0 0;max-height:72px;opacity:.6}.project-card--featured:hover .pc-desc{opacity:1}.pc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:0;margin-top:12px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1) .05s,opacity .3s ease .12s,margin .3s ease}.project-card:hover .pc-tags{margin-bottom:14px;max-height:60px;opacity:1}.project-card--featured .pc-tags{margin-bottom:14px;max-height:60px;opacity:.8}.project-card--featured:hover .pc-tags{opacity:1}.pc-tag{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:3px;color:#ffffff80;font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.05em;padding:3px 9px;transition:background .2s,border-color .2s,color .2s}.project-card:hover .pc-tag{background:#ffffff17;border-color:#ffffff29;color:#ffffffb3}.pc-cta{align-items:center;color:#7fe0c9;color:var(--accent,#7fe0c9);display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;gap:7px;letter-spacing:.03em;opacity:0;text-decoration:none;transform:translateX(-10px);transition:opacity .3s ease .18s,transform .3s ease .18s,color .2s ease}.project-card:hover .pc-cta{opacity:1;transform:translateX(0)}.project-card--featured .pc-cta{opacity:.75;transform:translateX(0)}.project-card--featured:hover .pc-cta{opacity:1}.pc-arrow{display:inline-block;transition:transform .2s ease}.pc-cta:hover .pc-arrow{transform:translateX(4px)}.pc-line{background:#7fe0c9;background:var(--accent,#7fe0c9);bottom:0;height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left center;transition:transform .55s cubic-bezier(.4,0,.2,1);width:100%;z-index:7}.project-card:hover .pc-line{transform:scaleX(1)}@media (max-width:768px){.projects-grid{gap:12px;grid-template-columns:1fr}.project-card,.project-card--featured{height:340px}.project-card--featured{grid-column:auto}.pc-index{font-size:80px}.pc-image{filter:brightness(.55) saturate(.75)}.pc-overlay{background:linear-gradient(180deg,#00000059,#0000008c 20%,#000000d9 55%,#000000fa)}.pc-desc{margin:8px 0 0;max-height:80px;opacity:.6}.pc-tags{margin-bottom:12px;max-height:60px;opacity:.8}.pc-cta{opacity:.8;transform:translateX(0)}.pc-content{padding:20px}.pc-title{font-size:17px}.project-card--featured .pc-title{font-size:20px}}.section-heading{align-items:center;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;text-align:center}.section-heading .section-label{margin-bottom:0}.section-title{color:var(--text);font-size:clamp(22px,3vw,30px);line-height:1.2}.cert-carousel-wrapper{box-sizing:border-box;margin:0 auto;max-width:800px;padding:0 50px;width:100%}.cert-carousel-viewport{overflow:hidden;width:100%}.cert-carousel-container{display:flex;gap:12px}.cert-carousel-slide{align-items:center;display:flex;flex-basis:calc(33.333% - 8px);flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0}.cert-carousel-card{background-color:initial;background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;border-radius:8px;height:160px;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s;width:100%}.cert-carousel-card:hover{box-shadow:0 8px 24px #00000080;transform:translateY(-3px)}.cert-carousel-label{padding:10px 4px 0;text-align:center;width:100%}.cert-carousel-label span{word-wrap:break-word;color:var(--text-muted);display:block;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.04em;line-height:1.5}.cert-carousel-controls{gap:20px;margin-top:16px}.cert-carousel-btn,.cert-carousel-controls{align-items:center;display:flex;justify-content:center}.cert-carousel-btn{background:#0000;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-secondary);cursor:pointer;font-size:16px;height:36px;transition:border-color .2s,color .2s;width:36px}.cert-carousel-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cert-carousel-btn:disabled{cursor:default;opacity:.3}.cert-carousel-counter{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.05em;min-width:48px;text-align:center}@media (max-width:768px){.cert-carousel-slide{flex-basis:calc(50% - 6px);flex-grow:0;flex-shrink:0}.cert-carousel-wrapper{padding-top:20px}.cert-carousel-btn{height:44px;width:44px}}@media (max-width:480px){.cert-carousel-slide{flex:0 0 100%}.cert-carousel-label span{font-size:11px}}.pyramid-container{align-items:center;display:flex;justify-content:center;padding:16px 0 8px}.pyramid{gap:15px}.layer,.pyramid{align-items:center;display:flex;flex-direction:column}.layer{border-radius:12px;box-sizing:initial;color:#fff;font-weight:700;height:80px;justify-content:center;padding:15px;position:relative;text-align:center;transition:transform .3s ease,box-shadow .3s ease;width:450px}.layer:hover{box-shadow:0 8px 15px #0003;transform:scale(1.05)}.database{background-color:#4caf50}.backend{background-color:#2196f3;width:400px}.frontend{background-color:#f44336;width:350px}.hosting{background-color:#9e9e9e;width:300px}.backend-icon,.database-icon{font-size:40px}.frontend-icon{font-size:45px}.hosting-icon{font-size:30px}.icon-group{display:flex;gap:10px;justify-content:center}.pyramid h3{font-size:18px;margin:5px 0}@media (max-width:768px){.pyramid{padding:0 16px;width:100%}.layer,.pyramid{box-sizing:border-box}.layer{height:auto;min-height:72px;padding:12px;width:100%!important}.pyramid-container{padding:8px 0}}.homeImgsContainer{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);width:100%}.homeImgsContainer a{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;display:flex;height:120px;justify-content:center;padding:32px;transition:border-color .2s}.homeImgsContainer a:hover{border-color:var(--border-strong)}.HomeLogos{display:block;height:100%;max-height:100%;max-width:100%;object-fit:contain;width:100%}@media screen and (max-width:768px){.homeImgsContainer{gap:10px;grid-template-columns:repeat(2,1fr);padding:4px 0}.homeImgsContainer a{height:96px;padding:24px}}.github-contributions{border-top:1px solid var(--border);margin:0 auto;max-width:1100px;padding:60px 24px;width:100%}.contributions-total{color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;margin:0;text-align:center}.contributions-total strong{color:var(--accent);font-weight:500}.contributions-layout{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 92px}.contributions-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:22px}.contributions-chart{grid-gap:6px 8px;display:grid;gap:6px 8px;grid-template-columns:28px minmax(0,1fr);grid-template-rows:16px auto;width:100%}.contributions-months{color:var(--text-muted);display:grid;font-family:var(--font-mono);font-size:9px;grid-template-columns:repeat(var(--contribution-weeks),minmax(0,1fr));line-height:1;min-width:0}.contributions-months span{white-space:nowrap}.contributions-weekdays{grid-gap:3px;color:var(--text-muted);display:grid;font-family:var(--font-mono);font-size:9px;gap:3px;grid-template-rows:repeat(7,minmax(0,1fr));line-height:1}.contributions-weekdays span{align-items:center;display:flex}.contributions-grid{grid-gap:3px;display:grid;gap:3px;grid-auto-flow:column;grid-template-columns:repeat(var(--contribution-weeks),minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));min-width:0}.contribution-cell,.contribution-cell-placeholder{aspect-ratio:1;border-radius:2px;display:block;min-width:0;width:100%}.contribution-cell{outline:1px solid hsla(0,0%,100%,.025);outline-offset:-1px}.contribution-cell:hover{outline-color:var(--text-soft)}.contribution-level-0{background-color:var(--surface-2)}.contribution-level-1{background-color:#7fe0c947}.contribution-level-2{background-color:#7fe0c97a}.contribution-level-3{background-color:#7fe0c9b8}.contribution-level-4{background-color:var(--accent)}.contributions-years{display:flex;flex-direction:column;gap:6px}.contributions-years button{background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:12px;padding:8px 12px;text-align:left;transition:color .2s,background-color .2s,border-color .2s}.contributions-years button:hover{border-color:var(--border);color:var(--text)}.contributions-years button.is-active{background:var(--accent);color:var(--accent-contrast)}.contributions-footer{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:9px;gap:16px;justify-content:space-between;margin-top:16px}.contributions-error a,.contributions-footer a{color:var(--text-secondary);text-underline-offset:3px}.contributions-error a:hover,.contributions-footer a:hover{color:var(--accent)}.contributions-legend{align-items:center;display:flex;gap:4px}.contributions-legend .contribution-cell{height:10px;width:10px}.contributions-status{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:12px;gap:10px;justify-content:center;min-height:116px;text-align:center}.contributions-loader{animation:contributions-spin .8s linear infinite;border:2px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent);height:12px;width:12px}.contributions-error{flex-direction:column}@keyframes contributions-spin{to{transform:rotate(1turn)}}@media screen and (max-width:768px){.github-contributions{padding:40px 16px}.contributions-layout{display:flex;flex-direction:column-reverse;gap:12px}.contributions-years{flex-direction:row-reverse;gap:6px;width:100%}.contributions-years button{flex:1 1;min-height:40px;text-align:center}.contributions-card{padding:14px;width:100%}.contributions-chart{gap:4px;grid-template-columns:18px minmax(0,1fr)}.contributions-grid,.contributions-weekdays{gap:2px}.contributions-months,.contributions-weekdays{font-size:8px}.contributions-weekdays .weekday-optional{visibility:hidden}}@media screen and (max-width:390px){.contributions-card{padding-left:10px;padding-right:10px}.contributions-grid{gap:1px}.contributions-footer>a{display:none}}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:800px;padding:100px 24px 80px;text-align:center}.hero-label{color:var(--accent);font-size:11px;letter-spacing:.2em;margin-bottom:24px}.hero-label,.hero-name{font-family:IBM Plex Mono,monospace}.hero-name{color:var(--text);font-size:clamp(40px,7vw,80px);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-bottom:16px}.hero-title{color:var(--text-secondary);font-size:clamp(16px,2.5vw,22px);font-weight:400;letter-spacing:.01em;margin:0 0 20px}.hero-sub,.hero-title{font-family:Outfit,sans-serif}.hero-sub{color:var(--text-muted);font-size:16px;line-height:1.7;margin:0 auto 28px;max-width:560px;text-align:center}.hero-location{align-items:center;color:var(--text-muted);display:inline-flex;font-family:IBM Plex Mono,monospace;font-size:12px;gap:8px;letter-spacing:.05em;margin-bottom:36px}.hero-dot{animation:pulse 2s ease-in-out infinite;background-color:var(--accent);border-radius:50%;display:inline-block;height:7px;width:7px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.hero-btn-primary{background-color:var(--accent);border-radius:6px;color:var(--accent-contrast);display:inline-block;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.02em;padding:12px 28px;text-decoration:none;transition:background-color .2s,transform .15s}.hero-btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.hero-btn-secondary{background-color:initial;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);display:inline-block;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:400;letter-spacing:.02em;padding:12px 24px;text-decoration:none;transition:border-color .2s,color .2s,transform .15s}.hero-btn-secondary:hover{border-color:var(--text-muted);color:var(--text-soft);transform:translateY(-1px)}.home-section{align-items:center;border-top:1px solid var(--border);display:flex;flex-direction:column;margin:0 auto;max-width:1100px;padding:60px 24px;width:100%}.projects-home-section{padding-top:40px}.contributions-section{align-items:stretch}.contributions-section>.section-label{align-self:center}.section-label{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.2em;margin-bottom:28px}@media screen and (max-width:900px){.hero{padding:70px 20px 60px}.home-section{padding:40px 16px}}@media screen and (max-width:768px){.hero-actions{align-items:stretch;flex-direction:column}.hero-btn-primary,.hero-btn-secondary{padding-bottom:14px;padding-top:14px;text-align:center}}.footer-links{display:flex;gap:24px;justify-content:center;margin-bottom:8px}.footer-link{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--accent)}.footer-copy{color:var(--border-strong);font-family:IBM Plex Mono,monospace;font-size:11px}.contact-container{margin:0 auto;max-width:600px;padding:80px 24px 100px}.contact-header{border-bottom:1px solid var(--border);margin-bottom:40px;padding-bottom:48px;text-align:center}.contact-label{color:var(--accent);font-size:11px;letter-spacing:.2em;margin-bottom:20px}.contact-label,.contact-title{font-family:IBM Plex Mono,monospace}.contact-title{color:var(--text);font-size:clamp(28px,5vw,42px);font-weight:600;letter-spacing:-.03em;margin-bottom:12px}.contact-sub{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:15px;margin:0;text-align:center}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.contact-form{gap:20px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px;text-align:left;width:100%}.form-group label{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.form-group input,.form-group textarea{background-color:var(--surface);border:1px solid var(--border-strong);border-radius:6px;box-sizing:border-box;color:var(--text-soft);font-family:Outfit,sans-serif;font-size:15px;outline:none;padding:12px 14px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{min-height:120px;resize:vertical}.contact-container button,.contact-form button[type=submit]{align-self:flex-start;background-color:var(--accent);border:none;border-radius:6px;color:var(--accent-contrast);cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.03em;margin-top:4px;padding:12px 28px;transition:background-color .2s,transform .15s}.contact-container button:hover,.contact-form button[type=submit]:hover{background-color:var(--accent-hover);transform:translateY(-1px)}@media screen and (max-width:640px){.contact-container{padding:60px 16px 80px}.form-row{grid-template-columns:1fr}.form-group input,.form-group textarea{font-size:16px;width:100%}}.about-page{margin:0 auto;max-width:800px;padding:0 24px 100px}.about-header{border-bottom:1px solid var(--border);padding:80px 0 60px;text-align:center}.about-header-label{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.2em;margin-bottom:20px}.about-header-name{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:clamp(32px,6vw,56px);font-weight:600;letter-spacing:-.03em;margin-bottom:12px}.about-header-sub{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:16px;margin:0 0 24px;text-align:center}.about-links{display:flex;gap:16px;justify-content:center}.about-link{border:1px solid var(--border-strong);border-radius:6px;color:var(--text-secondary);font-family:IBM Plex Mono,monospace;font-size:13px;padding:8px 16px;text-decoration:none;transition:color .2s,border-color .2s}.about-link:hover{border-color:var(--accent);color:var(--accent)}.about-section{border-bottom:1px solid var(--border);padding:48px 0}.about-section:last-child{border-bottom:none}.about-section-title{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.1em;margin-bottom:28px;text-transform:uppercase}.about-section-intro{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:15px;line-height:1.7;margin:0 0 28px}.ds-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.ds-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:24px 20px;transition:border-color .2s}.ds-card:hover{border-color:var(--border-strong)}.ds-card-icon{align-items:center;color:var(--accent);display:flex;font-size:20px;margin-bottom:12px;opacity:.8}.ds-card-icon svg{height:20px;width:20px}.ds-card-title{color:var(--text-soft);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.02em;margin-bottom:10px}.ds-card-desc{color:var(--text-muted);font-family:Outfit,sans-serif;font-size:13px;line-height:1.65}.skills-grid{display:flex;flex-direction:column;gap:24px}.skill-category-title{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background-color:var(--surface);border:1px solid var(--border-strong);border-radius:4px;color:var(--text-soft);font-family:IBM Plex Mono,monospace;font-size:12px;padding:4px 12px;transition:border-color .2s,color .2s}.skill-tag:hover{border-color:var(--accent);color:var(--accent)}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{grid-gap:24px;border-bottom:1px solid var(--border);display:grid;gap:24px;grid-template-columns:180px 1fr;padding:28px 0}.timeline-item:last-child{border-bottom:none}.timeline-meta{display:flex;flex-direction:column;gap:4px;padding-top:2px}.timeline-date{color:var(--text-muted);font-size:11px;letter-spacing:.03em}.timeline-company,.timeline-date{font-family:IBM Plex Mono,monospace}.timeline-company{color:var(--accent);font-size:12px;font-weight:500}.timeline-role{color:var(--text-soft);font-family:Outfit,sans-serif;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:10px}.timeline-desc{color:var(--text-secondary);margin:0 0 10px;text-align:left}.timeline-desc,.timeline-list{font-family:Outfit,sans-serif;font-size:14px;line-height:1.7}.timeline-list{color:var(--text-muted);margin:8px 0 0;padding-left:20px}.timeline-list li{margin-bottom:4px}.timeline-link{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s}.timeline-link:hover{color:var(--accent)}@media screen and (max-width:640px){.about-page{padding:0 16px 60px}.about-header{padding:60px 0 40px}.ds-cards,.timeline-item{grid-template-columns:1fr}.timeline-item{gap:6px}.timeline-meta{align-items:baseline;flex-direction:row;gap:12px}}@media screen and (max-width:900px) and (min-width:641px){.ds-cards{grid-template-columns:1fr 1fr}}.certs-page{font-family:Outfit,sans-serif;margin:0 auto;max-width:860px;padding:0 24px 100px}.certs-header{border-bottom:1px solid var(--border);padding:80px 0 60px;text-align:center}.certs-label{color:var(--accent);font-size:11px;letter-spacing:.2em;margin-bottom:20px}.certs-label,.certs-title{font-family:IBM Plex Mono,monospace}.certs-title{color:var(--text);font-size:clamp(28px,5vw,48px);font-weight:600;letter-spacing:-.03em;margin-bottom:16px}.certs-sub{color:var(--text-muted);font-size:16px;line-height:1.7;margin:0 auto;max-width:560px;text-align:center}.certs-list{display:flex;flex-direction:column;gap:0;margin-top:40px}.cert-card{grid-gap:20px;align-items:center;border-bottom:1px solid var(--border);border-radius:6px;display:grid;gap:20px;grid-template-columns:48px 100px 1fr 28px;padding:20px 16px;text-decoration:none;transition:background-color .15s}.cert-card:hover{background-color:var(--surface-2)}.cert-card:hover .cert-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.cert-card-index{color:var(--border-strong);font-family:IBM Plex Mono,monospace;font-size:11px;text-align:right}.cert-card-img{background-color:var(--surface-2);border-radius:4px;display:block;height:70px;margin:0;max-height:none;max-width:none;object-fit:contain;padding:4px;width:100px}.cert-card-info{display:flex;flex-direction:column;gap:6px}.cert-card-name{color:var(--text-soft);font-family:Outfit,sans-serif;font-size:15px;font-weight:500;line-height:1.3}.cert-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.cert-card-authority{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:11px}.cert-card-dot{color:var(--border-strong);font-size:12px}.cert-card-area,.cert-card-date{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:11px}.cert-card-arrow{color:var(--border-strong);font-size:16px;justify-self:end;transition:color .15s,transform .15s}@media screen and (max-width:640px){.certs-page{padding:0 16px 60px}.certs-header{padding:60px 0 40px}.cert-card{gap:12px;grid-template-columns:36px 72px 1fr 20px;padding:16px 8px}.cert-card-img{height:50px;width:72px}.cert-card-name{font-size:13px}}.ai-chat-fab{align-items:center;background-color:var(--accent);border:none;border-radius:50px;bottom:28px;box-shadow:0 4px 24px #7fe0c959;color:var(--accent-contrast);cursor:pointer;display:flex;font-family:IBM Plex Mono,monospace;gap:10px;padding:14px 20px;position:fixed;right:28px;transition:background-color .2s,transform .2s,box-shadow .2s,padding .2s;z-index:200}.ai-chat-fab:hover{background-color:var(--accent-hover);box-shadow:0 6px 32px #7fe0c980;transform:translateY(-2px)}.ai-chat-fab--open{background-color:var(--surface-2);border:1px solid var(--border-strong);border-radius:50%;box-shadow:0 4px 16px #00000080;color:var(--accent);padding:14px 16px}.ai-chat-fab--open:hover{background-color:var(--surface);box-shadow:0 6px 20px #0009;transform:translateY(-2px)}.ai-chat-fab-icon{flex-shrink:0;height:20px;width:20px}.ai-chat-fab-label{font-size:13px;font-weight:500;letter-spacing:.02em;white-space:nowrap}.ai-chat-window{animation:chat-slide-up .2s ease;background-color:var(--surface-2);border:1px solid var(--border);border-radius:16px;bottom:90px;box-shadow:0 16px 48px #000000b3;display:flex;flex-direction:column;max-height:520px;overflow:hidden;position:fixed;right:28px;width:360px;z-index:200}@keyframes chat-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-chat-header{align-items:center;background-color:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px}.ai-chat-header-info{align-items:center;display:flex;gap:8px}.ai-chat-header-dot{animation:pulse 2s ease-in-out infinite;background-color:var(--accent);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.ai-chat-header-title{color:var(--text-soft);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.03em}.ai-chat-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;transition:color .2s}.ai-chat-close:hover{color:var(--text)}.ai-chat-messages{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.ai-chat-msg{word-wrap:break-word;border-radius:12px;font-family:Outfit,sans-serif;font-size:14px;line-height:1.55;max-width:85%;padding:10px 14px}.ai-chat-msg--assistant{align-self:flex-start;background-color:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text-soft)}.ai-chat-msg--user{align-self:flex-end;background-color:var(--accent);border-bottom-right-radius:4px;color:var(--accent-contrast);font-weight:500}.ai-chat-typing{align-items:center;display:flex;gap:4px;padding:12px 14px}.ai-chat-typing span{animation:typing-bounce 1.2s ease-in-out infinite;background-color:var(--text-muted);border-radius:50%;height:6px;width:6px}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{background-color:var(--text-muted);transform:translateY(0)}30%{background-color:var(--accent);transform:translateY(-5px)}}.ai-chat-suggestions{display:flex;flex-direction:column;flex-shrink:0;gap:6px;padding:0 16px 12px}.ai-chat-suggestion{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.02em;padding:7px 12px;text-align:left;transition:border-color .15s,color .15s}.ai-chat-suggestion:hover{border-color:var(--accent);color:var(--accent)}.ai-chat-form{background-color:var(--surface);border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.ai-chat-input{background-color:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-soft);flex:1 1;font-family:Outfit,sans-serif;font-size:14px;outline:none;padding:9px 12px;transition:border-color .2s}.ai-chat-input:focus{border-color:var(--accent)}.ai-chat-input:disabled{opacity:.5}.ai-chat-send{align-items:center;align-self:center;background-color:var(--accent);border:none;border-radius:8px;color:var(--accent-contrast);cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:36px;justify-content:center;transition:background-color .2s,transform .15s;width:36px}.ai-chat-send:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px)}.ai-chat-send:disabled{cursor:default;opacity:.3}@media (max-width:768px){.ai-chat-fab{border-radius:50%;bottom:calc(76px + env(safe-area-inset-bottom));gap:0;padding:14px;right:16px}.ai-chat-fab-label{display:none}.ai-chat-window{bottom:calc(136px + env(safe-area-inset-bottom));left:16px;max-height:calc(100vh - 220px);right:16px;width:auto}.ai-chat-input{font-size:16px}}
/*# sourceMappingURL=main.26799a87.css.map*/