@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:#000000d9;border-bottom:1px solid #1a1a1a;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:#888;display:block;letter-spacing:.03em;padding:16px 20px;position:relative;text-align:center;text-decoration:none;transition:color .2s}.topnav a:after{background-color:#00e676;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:#f0f0f0}.topnav a:hover:after{width:calc(100% - 40px)}.topnav a.active{background-color:initial;color:#00e676}.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 #1a1a1a;bottom:0;font-size:11px;gap:0;left:0;padding:0 0 env(safe-area-inset-bottom);position:fixed;right:0;top:auto}.topnav a{flex:1 1;letter-spacing:.06em;padding:14px 0;text-align:center}.topnav a:after{bottom:auto;height:2px;top:0}.topnav a.active:after,.topnav a:hover:after{width:40%}}:root{--bg:#000;--surface:#0d0d0d;--surface-2:#161616;--border:#222;--accent:#00e676;--accent-dim:#00e67626;--text:#f0f0f0;--text-secondary:#888;--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:#000;background-color:var(--bg);color:#f0f0f0;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:#000;background-color:var(--bg);color:#f0f0f0;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:#000;background-color:var(--bg);color:#f0f0f0;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:#f0f0f0;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:#888;color:var(--text-secondary);font-size:18px;line-height:1.7;margin:0 auto 16px;max-width:680px;text-align:center}.header{background-color:#000;background-color:var(--bg);border-bottom:1px solid #222;border-bottom:1px solid var(--border);color:#f0f0f0;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:#0d0d0d;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:#161616;background-color:var(--surface-2);border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-bar{background-color:#00e676;background-color:var(--accent);height:100%;transition:width .5s ease-in-out}footer{background-color:#000;background-color:var(--bg);border-top:1px solid #222;border-top:1px solid var(--border);color:#888;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 #00e676;border:1px solid var(--accent);border-radius:8px;border-radius:var(--radius);color:#00e676;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:#00e676;background-color:var(--accent);color:#000}.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-header{display:flex;flex-direction:column;gap:8px;margin-bottom:40px;padding:0 4px}.projects-eyebrow{color:#00e676;display:block;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.22em}.projects-heading{color:#f0f0f0;font-family:IBM Plex Mono,monospace;font-size:clamp(28px,4vw,44px);font-weight:600;letter-spacing:-.03em;line-height:1}.projects-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.project-card{background:#080808;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,#00e676 0,#0000 70%);background:radial-gradient(circle,var(--accent,#00e676) 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{color:hsla(0,0%,100%,.035);font-family:IBM Plex Mono,monospace;font-size:110px;font-weight:700;line-height:1;pointer-events:none;position:absolute;right:16px;top:-8px;transition:color .5s ease;-webkit-user-select:none;user-select:none;z-index:4}.project-card:hover .pc-index{color:#ffffff0f}.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:#00e676;color:var(--accent,#00e676);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:#f2f2f2;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-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:#00e676;color:var(--accent,#00e676);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:#00e676;background:var(--accent,#00e676);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-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}}.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:#555;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 #333;border-radius:50%;color:#888;cursor:pointer;font-size:16px;height:36px;transition:border-color .2s,color .2s;width:36px}.cert-carousel-btn:hover:not(:disabled){border-color:#00e676;color:#00e676}.cert-carousel-btn:disabled{cursor:default;opacity:.3}.cert-carousel-counter{color:#555;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}}@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:#0d0d0d;border:1px solid #1e1e1e;border-radius:8px;box-sizing:border-box;display:flex;height:120px;justify-content:center;padding:24px;transition:border-color .2s}.homeImgsContainer a:hover{border-color:#333}.HomeLogos{display:block;height:100%;max-height:100%;max-width:100%;object-fit:contain;width:100%}.logo-superloop{padding:8px}.logo-ibm{padding:18px}.logo-envizi{padding:12px}.logo-blackhawk,.logo-tbd{padding:10px}.logo-codecamp{padding:14px}.logo-susfc,.logo-usyd{padding:8px}@media screen and (max-width:768px){.homeImgsContainer{gap:10px;grid-template-columns:repeat(2,1fr);padding:4px 0}.homeImgsContainer a{height:96px;padding:18px}.logo-superloop{padding:6px}.logo-ibm{padding:14px}.logo-envizi{padding:10px}.logo-blackhawk,.logo-tbd{padding:8px}.logo-codecamp{padding:12px}.logo-susfc,.logo-usyd{padding:6px}}.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:#00e676;font-size:11px;letter-spacing:.2em;margin-bottom:24px}.hero-label,.hero-name{font-family:IBM Plex Mono,monospace}.hero-name{color:#f0f0f0;font-size:clamp(40px,7vw,80px);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-bottom:16px}.hero-title{color:#888;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:#666;font-size:16px;line-height:1.7;margin:0 auto 28px;max-width:560px;text-align:center}.hero-location{align-items:center;color:#555;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:#00e676;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:#00e676;border-radius:6px;color:#000;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:#00c853;transform:translateY(-1px)}.hero-btn-secondary{background-color:initial;border:1px solid #222;border-radius:6px;color:#555;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:#555;color:#ccc;transform:translateY(-1px)}.home-section{align-items:center;border-top:1px solid #111;display:flex;flex-direction:column;margin:0 auto;max-width:1100px;padding:60px 24px;width:100%}.projects-section{border-top:none;padding-top:40px}.section-label{color:#00e676;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.2em;margin-bottom:28px}@media screen and (max-width:768px){.hero{padding:70px 20px 60px}.hero-actions{align-items:stretch;flex-direction:column}.hero-btn-primary,.hero-btn-secondary{text-align:center}.home-section{padding:40px 16px}}.footer-links{display:flex;gap:24px;justify-content:center;margin-bottom:8px}.footer-link{color:#555;font-family:IBM Plex Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s}.footer-link:hover{color:#00e676}.footer-copy{color:#333;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 #1a1a1a;margin-bottom:40px;padding-bottom:48px;text-align:center}.contact-label{color:#00e676;font-size:11px;letter-spacing:.2em;margin-bottom:20px}.contact-label,.contact-title{font-family:IBM Plex Mono,monospace}.contact-title{color:#f0f0f0;font-size:clamp(28px,5vw,42px);font-weight:600;letter-spacing:-.03em;margin-bottom:12px}.contact-sub{color:#666;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:#555;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.form-group input,.form-group textarea{background-color:#0d0d0d;border:1px solid #2a2a2a;border-radius:6px;box-sizing:border-box;color:#e0e0e0;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:#00e676}.form-group textarea{min-height:120px;resize:vertical}.contact-container button,.contact-form button[type=submit]{align-self:flex-start;background-color:#00e676;border:none;border-radius:6px;color:#000;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:#00c853;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{width:100%}}.about-page{margin:0 auto;max-width:800px;padding:0 24px 100px}.about-header{border-bottom:1px solid #1a1a1a;padding:80px 0 60px;text-align:center}.about-header-label{color:#00e676;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.2em;margin-bottom:20px}.about-header-name{color:#f0f0f0;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:#666;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 #2a2a2a;border-radius:6px;color:#888;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:#00e676;color:#00e676}.about-section{border-bottom:1px solid #1a1a1a;padding:48px 0}.about-section:last-child{border-bottom:none}.about-section-title{color:#00e676;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:#666;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:#0a0a0a;border:1px solid #1e1e1e;border-radius:8px;padding:24px 20px;transition:border-color .2s}.ds-card:hover{border-color:#333}.ds-card-icon{align-items:center;color:#00e676;display:flex;font-size:20px;margin-bottom:12px;opacity:.8}.ds-card-icon svg{height:20px;width:20px}.ds-card-title{color:#d0d0d0;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.02em;margin-bottom:10px}.ds-card-desc{color:#555;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:#555;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:#0d0d0d;border:1px solid #2a2a2a;border-radius:4px;color:silver;font-family:IBM Plex Mono,monospace;font-size:12px;padding:4px 12px;transition:border-color .2s,color .2s}.skill-tag:hover{border-color:#00e676;color:#00e676}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{grid-gap:24px;border-bottom:1px solid #111;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:#555;font-size:11px;letter-spacing:.03em}.timeline-company,.timeline-date{font-family:IBM Plex Mono,monospace}.timeline-company{color:#00e676;font-size:12px;font-weight:500}.timeline-role{color:#e0e0e0;font-family:Outfit,sans-serif;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:10px}.timeline-desc{color:#777;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:#666;margin:8px 0 0;padding-left:20px}.timeline-list li{margin-bottom:4px}.timeline-link{color:#555;font-family:IBM Plex Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s}.timeline-link:hover{color:#00e676}.about-list{color:#777;font-family:Outfit,sans-serif;font-size:15px;line-height:1.8;margin:0;padding-left:20px}.about-list li{margin-bottom:6px}@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 #1a1a1a;padding:80px 0 60px;text-align:center}.certs-label{color:#00e676;font-size:11px;letter-spacing:.2em;margin-bottom:20px}.certs-label,.certs-title{font-family:IBM Plex Mono,monospace}.certs-title{color:#f0f0f0;font-size:clamp(28px,5vw,48px);font-weight:600;letter-spacing:-.03em;margin-bottom:16px}.certs-sub{color:#666;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 #111;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:#0a0a0a}.cert-card:hover .cert-card-arrow{color:#00e676;transform:translate(2px,-2px)}.cert-card-index{color:#333;font-family:IBM Plex Mono,monospace;font-size:11px;text-align:right}.cert-card-img{background-color:#111;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:#e0e0e0;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:#00e676;font-family:IBM Plex Mono,monospace;font-size:11px}.cert-card-dot{color:#333;font-size:12px}.cert-card-area{color:#555}.cert-card-area,.cert-card-date{font-family:IBM Plex Mono,monospace;font-size:11px}.cert-card-date{color:#444}.cert-card-arrow{color:#333;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:#00e676;border:none;border-radius:50px;bottom:28px;box-shadow:0 4px 24px #00e67659;color:#000;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:#00c853;box-shadow:0 6px 32px #00e67680;transform:translateY(-2px)}.ai-chat-fab--open{background-color:#111;border:1px solid #2a2a2a;border-radius:50%;box-shadow:0 4px 16px #00000080;color:#00e676;padding:14px 16px}.ai-chat-fab--open:hover{background-color:#1a1a1a;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:#0a0a0a;border:1px solid #222;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:#0d0d0d;border-bottom:1px solid #1a1a1a;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:#00e676;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:#d0d0d0;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.03em}.ai-chat-close{background:none;border:none;color:#555;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;transition:color .2s}.ai-chat-close:hover{color:#f0f0f0}.ai-chat-messages{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:16px;scrollbar-color:#222 #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:#141414;border:1px solid #1e1e1e;border-bottom-left-radius:4px;color:#c8c8c8}.ai-chat-msg--user{align-self:flex-end;background-color:#00e676;border-bottom-right-radius:4px;color:#000;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:#444;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:#444;transform:translateY(0)}30%{background-color:#00e676;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 #222;border-radius:6px;color:#666;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:#00e676;color:#00e676}.ai-chat-form{background-color:#0d0d0d;border-top:1px solid #1a1a1a;display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.ai-chat-input{background-color:#111;border:1px solid #2a2a2a;border-radius:8px;color:#e0e0e0;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:#00e676}.ai-chat-input:disabled{opacity:.5}.ai-chat-send{align-items:center;align-self:center;background-color:#00e676;border:none;border-radius:8px;color:#000;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:#00c853;transform:translateY(-1px)}.ai-chat-send:disabled{cursor:default;opacity:.3}@media (max-width:768px){.ai-chat-fab{bottom:80px;right:16px}.ai-chat-window{bottom:144px;left:16px;max-height:calc(100vh - 160px);right:16px;width:auto}}
/*# sourceMappingURL=main.6c80e3ab.css.map*/