:root{--bg-body:#19202e;--bg-section:#1e2738;--bg-inner:#0000001a;--bg-nav:#00000026;--text:#a5b3ce;--text-heading:#fff;--text-light:#d7dde9;--text-muted:#8497bc;--accent:#fe655c;--accent-hover:#fe4d43;--cta:#4f6591;--cta-hover:#5a74a3;--highlight:#629feb;--border:#fff3;--border-light:#ffffff26;--badge-bg:#465981;--stack-bg:#0003;--input-bg:#00000026;--profile-border:#1e2738;--overlay:#00000080;--logo-bg:#0000001a;--skill-border:#ffffff4d;--quote-mark:#ffffff1a;--dot-bg:#ffffff4d;--dot-active:#fffc}[data-theme=light]{--bg-body:#f0f2f5;--bg-section:#fff;--bg-inner:#00000008;--bg-nav:#0000000d;--text:#5a6270;--text-heading:#1e2738;--text-light:#3a4150;--text-muted:#7a8599;--border:#0000001a;--border-light:#00000014;--badge-bg:#e2e8f0;--stack-bg:#0000000d;--input-bg:#00000008;--profile-border:#fff;--overlay:#0000004d;--logo-bg:#0000000a;--skill-border:#00000026;--quote-mark:#00000014;--dot-bg:#0003;--dot-active:#0009}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-body);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}img{max-width:100%;height:auto}p{margin-top:0;margin-bottom:1rem}h1,h2,h3,h4,h5,h6{color:var(--text-heading);margin-top:0;margin-bottom:.5rem;font-weight:600;line-height:1.2}ul{padding-left:1.2rem}button{font-family:inherit}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.limit-max-width{max-width:800px}.app-container{min-height:100vh;display:flex}.side-panel{z-index:200;align-items:center;height:100vh;padding-left:1rem;transition:transform .3s;display:flex;position:fixed;top:0;left:0;transform:translate(0)}.side-panel.closed{transform:translate(-100%)}.main-nav{background:var(--bg-nav);border-radius:6px;flex-direction:column;align-items:center;gap:0;padding:1rem .5rem;display:flex}.main-nav .nav-link{color:var(--text);border-radius:4px;flex-direction:column;align-items:center;padding:.7rem .6rem;text-decoration:none;transition:color .2s;display:flex}.main-nav .nav-link:hover{color:var(--text-heading);text-decoration:none}.main-nav .nav-link.active{color:var(--accent)}.main-nav .icon-holder{justify-content:center;align-items:center;min-height:25px;font-size:1.125rem;display:flex}.main-nav .nav-text{text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:.6rem;font-weight:600}.nav-close{color:var(--text);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:.6rem;font-size:1.2rem;display:none}.nav-close:hover{color:var(--text-heading)}.top-bar{z-index:210;min-height:60px;padding-top:1rem;position:relative}.top-bar-inner{justify-content:space-between;align-items:center;padding:0 1rem;display:flex;position:relative}.menu-toggler{color:var(--text);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.6rem;display:block}.menu-toggler:hover{color:var(--text-heading)}.top-left{align-items:center;gap:.5rem;display:flex}.top-center{align-items:center;gap:.75rem;display:flex}.theme-toggle{background:var(--bg-nav);border:1px solid var(--border);cursor:pointer;border-radius:50px;align-items:center;gap:0;padding:3px;line-height:1;display:inline-flex}.toggle-icon{width:28px;height:28px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;transition:background .2s,color .2s;display:flex}.toggle-icon.active{background:var(--cta);color:#fff}.social-list{align-items:center;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.social-list li a{color:var(--text);font-size:.95rem;text-decoration:none;transition:color .2s}.social-list li a:hover{color:var(--text-heading);text-decoration:none}.btn-hire{background:var(--accent);white-space:nowrap;border-radius:4px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s;color:#fff!important}.btn-hire:hover{background:var(--accent-hover);text-decoration:none}.main-content-wrapper{flex:1;min-height:100vh}.page-content{max-width:1100px;margin:0 auto;padding:0 1.5rem}.section{background:var(--bg-section);color:var(--text);border-radius:.5rem;margin-bottom:2.5rem;padding:3rem}.section-heading{text-align:center;color:var(--text-heading);letter-spacing:.1rem;margin-bottom:1rem;font-size:1.75rem;font-weight:900}.section-intro{text-align:center;margin:0 auto 2rem;line-height:1.7}.section-cta{margin-top:1.5rem}.btn{cursor:pointer;border:none;border-radius:4px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,opacity .2s;display:inline-block}.btn:hover{opacity:.9;text-decoration:none}.btn-cta{background:var(--cta);color:#fff}.btn-cta:hover{background:var(--cta-hover);color:#fff}.btn-cta i{vertical-align:middle}.profile-section{text-align:center;margin-top:90px;padding-top:calc(75px + 1rem);position:relative}.profile-holder{position:absolute;top:-80px;left:50%;transform:translate(-50%)}.profile-pic{object-fit:cover;border:8px solid var(--profile-border);border-radius:50%;width:160px;height:160px}.intro-name{letter-spacing:.1rem;color:var(--text-heading);margin-bottom:.75rem;font-size:1.75rem;font-weight:900}.profile-intro{line-height:1.7}.profile-intro a{color:var(--accent)}.project-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1rem;display:grid}.project-card{background:0 0;border:none}.project-thumb{background:linear-gradient(135deg,#2a3a52,#1a2a3e) 50%/cover no-repeat;border-radius:.375rem;width:100%;height:140px;margin-bottom:.75rem;overflow:hidden}.thumb-img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.project-body{padding:0}.project-title{margin-bottom:.4rem;font-size:1.125rem}.project-title a{color:var(--text-light);text-decoration:none}.project-title a:hover{color:var(--highlight)}.project-text{color:var(--text);margin-bottom:.5rem;font-size:.9rem}.more-link{color:var(--accent);font-size:.9rem;text-decoration:none}.more-link:hover{text-decoration:underline}.client-logo-list{flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1.5rem 0;display:flex}.logo-item{flex:none}.logo-holder{background:var(--logo-bg);height:56px;color:var(--text-muted);letter-spacing:.05em;border-radius:6px;justify-content:center;align-items:center;min-width:80px;padding:.75rem 1rem;font-size:.8rem;font-weight:700;display:flex}.testimonial-area{text-align:center;padding:2rem 3rem;position:relative}.quote-holder{padding-top:1rem;position:relative}.quote-mark{color:var(--quote-mark);font-family:Georgia,serif;font-size:1.5rem;position:absolute}.quote-mark.left{top:0;left:0}.quote-mark.right{top:0;right:0}.quote-content{color:var(--text);text-align:left;border:none;margin:0 0 1rem;padding:0 1rem;font-size:1.125rem;font-style:italic;line-height:1.8}.quote-highlight{color:var(--highlight);font-weight:700}.source-holder{color:var(--text);text-align:left;margin-bottom:1rem;padding-left:1rem;font-size:.875rem}.tns-nav{justify-content:center;gap:5px;margin-top:1rem;display:flex}.tns-nav .dot{background:var(--dot-bg);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0}.tns-nav .dot.active{background:var(--dot-active)}.tech-list{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1.5rem 0;display:flex}.icon-item{width:60px}.tech-icon-box{border-radius:8px;justify-content:center;align-items:center;width:55px;height:55px;margin:0 auto;font-size:.75rem;font-weight:800;display:flex}.skill-blocks{flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:2.5rem 0 1rem;display:flex}.skill-item{text-align:center;flex:0 0 calc(33.333% - 1rem);padding:1rem}.item-icon-holder{border:2px solid var(--skill-border);width:70px;height:70px;color:var(--text-light);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.item-icon-holder .item-icon{font-size:2rem}.item-title{color:var(--text-heading);margin-bottom:.75rem;font-size:1.125rem}.item-desc{color:var(--text);font-size:.875rem;line-height:1.6}.project-list-full{flex-direction:column;gap:2rem;margin-top:2rem;display:flex}.project-item{align-items:flex-start;gap:1.5rem;display:flex}.project-item-info{flex:1}.project-item-title{margin-bottom:.4rem;font-size:1.125rem}.project-item-title a{color:var(--text-heading);text-decoration:none}.project-item-title a:hover{color:var(--highlight);text-decoration:underline}.project-item-summary{color:var(--text);margin-bottom:.75rem;font-size:.9rem}.tech-stack-label{margin-bottom:.75rem}.stack-label{color:var(--text-heading);margin-bottom:.4rem;font-size:.8rem;font-weight:700;display:block}.stack-icons{flex-wrap:wrap;gap:.3rem;display:flex}.stack-badge{background:var(--stack-bg);color:var(--text);border-radius:3px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.project-item-thumb{background:linear-gradient(135deg,#2a3a52,#1a2a3e) 50%/cover;border-radius:.375rem;flex-shrink:0;width:200px;min-height:130px;overflow:hidden}.leadgen-card{background:var(--bg-inner);text-align:center;border-radius:.5rem;margin-top:2rem;padding:2rem}.leadgen-title{color:var(--text-heading);margin-bottom:.5rem;font-size:1.5rem}.blog-post-list{flex-direction:column;gap:1.25rem;margin-top:1.5rem;display:flex}.post-item .post-item-inner{background:var(--bg-section);border-radius:.5rem;transition:background .2s;overflow:hidden}.post-item .post-item-inner:hover{background:var(--bg-nav)}.post-item.featured .post-item-inner{background:var(--bg-section)}.post-item-image{background:linear-gradient(135deg,#2a3a52,#1a2a3e);width:100%;height:200px}.post-item-body{padding:1.5rem 2rem}.post-title{color:var(--text-heading);margin-bottom:.5rem;font-size:1.25rem;font-weight:600;line-height:1.5}.post-excerpt{color:var(--text);margin-bottom:.75rem;font-size:.9rem}.post-tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag-badge{background:var(--badge-bg);color:var(--text-light);border-radius:3px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.post-item-footer{border-top:1px solid var(--border-light);color:var(--text);gap:1rem;padding:.75rem 2rem;font-size:.825rem;display:flex}.resume-wrapper{background:var(--bg-section);border-radius:.5rem;max-width:1100px;margin:90px auto 2.5rem;padding:calc(75px + 1rem) 2.5rem 2.5rem;position:relative}.resume-profile-holder{position:absolute;top:-80px;left:50%;transform:translate(-50%)}.resume-profile-pic{object-fit:cover;border:8px solid var(--profile-border);border-radius:50%;width:160px;height:160px}.resume-header{margin-bottom:1.5rem}.resume-name{letter-spacing:.5rem;color:var(--text-heading);margin-bottom:.25rem;font-size:2.25rem;font-weight:900}.resume-role-title{letter-spacing:.25rem;color:var(--text);margin-bottom:1rem;font-size:1.125rem;font-weight:500}.resume-contact{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text);flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:1rem;font-size:.875rem;display:flex}.resume-contact i{margin-right:.35rem}.resume-body{grid-template-columns:1.3fr .7fr;gap:2rem;margin-top:1.5rem;display:grid}.resume-main{border-right:1px solid var(--border);padding-right:2rem}.resume-section{margin-bottom:2rem}.resume-section-heading{letter-spacing:.15rem;color:var(--text-heading);align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.125rem;font-weight:900;display:flex}.resume-section-heading-icon{background:var(--bg-nav);width:38px;height:38px;color:var(--text-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.125rem;display:inline-flex}.resume-timeline{padding-left:2.5rem;position:relative}.resume-timeline:before{content:"";background:var(--bg-inner);width:3px;height:100%;display:inline-block;position:absolute;top:16px;left:13px}.resume-timeline-item{margin-bottom:1.5rem;position:relative}.resume-timeline-item:before{content:"";border:2px solid var(--text);background:var(--bg-inner);border-radius:50%;width:10px;height:10px;display:inline-block;position:absolute;top:3px;left:-30px}.resume-position-meta{align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.75rem;display:flex}.resume-position-time{color:var(--text)}.resume-company-name{background:var(--bg-inner);color:var(--text);border-radius:.25rem;padding:.2rem .5rem;font-weight:600}.resume-position-title{color:var(--text-heading);margin-bottom:.4rem;font-size:1.125rem}.resume-timeline-list{color:var(--text);padding-left:1rem;font-size:.875rem}.resume-timeline-list li{margin-bottom:.5rem}.resume-skill-tags{flex-wrap:wrap;gap:.4rem;display:flex}.resume-skill-badge{background:var(--bg-inner);color:var(--text-light);border-radius:3px;padding:.5rem .65rem;font-size:.8rem;font-weight:600}.resume-project-item{margin-bottom:.75rem;font-size:.875rem}.resume-project-item p{margin-bottom:.25rem;padding-left:1.25rem;font-size:.85rem}.resume-edu-item{margin-bottom:1rem}.resume-degree{color:var(--text-heading);font-size:.875rem;font-weight:700}.resume-degree-org{font-size:.85rem}.resume-degree-time{color:var(--text-muted);font-size:.75rem}.contact-layout{grid-template-columns:1fr 1.4fr;gap:2.5rem;margin-top:2rem;display:grid}.contact-card{background:var(--bg-inner);border-radius:8px;align-items:flex-start;gap:1rem;margin-bottom:.75rem;padding:1.25rem;transition:background .2s;display:flex}.contact-card:hover{background:var(--input-bg)}.contact-card-icon{background:var(--cta);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;display:flex}.contact-card-body{min-width:0}.contact-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.2rem;font-size:.75rem;font-weight:600}.contact-card-body a,.contact-card-body span{color:var(--text-light);word-break:break-all;font-size:.9rem;text-decoration:none}.contact-card-body a:hover{color:var(--highlight)}.contact-socials{gap:.6rem;margin-top:1rem;padding-left:.25rem;display:flex}.contact-socials a{border:1px solid var(--border);width:42px;height:42px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:1.05rem;text-decoration:none;transition:all .2s;display:flex}.contact-socials a:hover{color:#fff;background:var(--cta);border-color:var(--cta)}.contact-form-col{background:var(--bg-inner);border-radius:10px;padding:2rem}.contact-form-heading{color:var(--text-heading);margin-bottom:1.25rem;font-size:1.2rem;font-weight:700}.contact-form{flex-direction:column;gap:.75rem;display:flex}.contact-form .form-row{gap:.75rem;display:flex}.contact-form input,.contact-form textarea{border:1px solid var(--border-light);background:var(--bg-section);width:100%;color:var(--text-light);border-radius:6px;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cta);outline:none}.contact-form .btn{align-self:flex-start;align-items:center;gap:.5rem;display:inline-flex}@media (width<=768px){.contact-layout{grid-template-columns:1fr;gap:1.5rem}.contact-form-col{padding:1.25rem}.contact-form .form-row{flex-direction:column}}.additional-links{max-width:1100px;margin:0 auto;padding:0 1.5rem}.additional-links h4{text-transform:uppercase;letter-spacing:.1rem;color:var(--text-muted);margin-bottom:.75rem;font-size:.8rem}.additional-links ul{flex-wrap:wrap;gap:1.5rem;padding:0;list-style:none;display:flex}.additional-links ul li a{color:var(--text);letter-spacing:.05em;font-size:.8rem;font-weight:600;text-decoration:none}.additional-links ul li a:hover{color:var(--text-heading)}.site-footer{text-align:center;color:var(--text-muted);padding:2rem 1rem 3rem;font-size:.8rem}.site-footer a{color:var(--text)}.bottom-nav{display:none}@media (width>=993px){.side-panel{display:flex}.nav-close{display:block}}@media (width<=992px){.side-panel{background:var(--bg-section);z-index:200;align-items:flex-start;height:100vh;padding:3rem 1.5rem 2rem;transition:transform .3s;position:fixed;top:0;left:0;transform:translate(-100%)}.side-panel.closed{transform:translate(-100%)}.main-nav{background:0 0;padding:0}.main-nav .nav-link{flex-direction:row;gap:.75rem;width:100%;padding:.65rem 1rem}.main-nav .nav-text{font-size:.85rem}.nav-close{font-size:1.5rem;display:block}.social-list{display:none}}@media (width<=768px){.bottom-nav{z-index:300;background:var(--bg-section);border-top:1px solid var(--border-light);padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-direction:column;align-items:center;gap:2px;padding:.25rem .5rem;font-size:.6rem;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.bottom-nav-item i{font-size:1.2rem}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item:hover{color:var(--text-heading);text-decoration:none}.side-panel,.side-overlay{display:none!important}.menu-toggler{display:none}.main-content-wrapper{padding-bottom:70px}.section{padding:2rem 1.5rem}.project-grid{grid-template-columns:1fr;gap:2rem}.skill-item{flex:0 0 calc(50% - .75rem)}.project-item{flex-direction:column}.project-item-thumb{order:-1;width:100%;min-height:160px}.resume-body{grid-template-columns:1fr}.resume-main{border-right:none;border-bottom:1px solid var(--border);padding-bottom:1.5rem;padding-right:0}.resume-name{letter-spacing:.2rem;font-size:1.5rem}.testimonial-area{padding:1rem}.profile-pic{width:120px;height:120px}.profile-section{margin-top:70px;padding-top:calc(55px + 1rem)}.profile-holder{top:-60px}.page-content{padding:0 1rem}}@media (width<=480px){.skill-item{flex:0 0 100%}.resume-contact{flex-direction:column;align-items:center;gap:.5rem}.client-logo-list{gap:.4rem}.logo-holder{min-width:60px;padding:.5rem .6rem;font-size:.7rem}}
