:root{--primary-color:#0d0d0d;--secondary-color:#f2f2f2;--fill-color:#c0c0c0;--foreground-color:#fff;--highlight-color:#ffaf7a}*{box-sizing:border-box;margin:0;padding:0}*,*::before *::after{box-sizing:inherit}html{box-sizing:border-box;font-size:60%;scroll-behavior:smooth}body{background-color:#0d0d0d;color:#0d0d0d;font-family:montserrat,monospace;font-size:1.8rem;min-width:190px}ul{list-style:none;padding-left:0}.shadow{box-shadow:0 4px 8px rgba(0,0,0,5%)}section h3{text-align:center;font-size:4rem}section{margin-top:8rem}.section-heading{padding-bottom:3rem}.main-container{width:90%;max-width:120rem;margin:0 auto}.header-font{font-size:2rem}.default-font{font-size:1.8rem}.secondary-font{font-size:1.4rem}.icon-font{font-size:2.5rem}.external-links,.about-links{list-style:none;font-size:3rem}.external-links{padding-top:2.5rem}.about-links{margin:.5rem auto;padding:0 25px}.external-links li,.about-links li{display:inline-block;position:relative}.external-links a{color:#0d0d0d}.about-links a{color:#f2f2f2}.external-links a,.about-links a{color:#0d0d0d;transition:all .1s linear}.external-links a:hover,.about-links a:hover{color:#f19469}.section-link{position:relative;top:-130px;display:block;visibility:hidden}#bg-canvas{position:fixed;top:0;left:0;background-color:#0d0d0d;z-index:-1}#main-section{background-color:#f2f2f2;padding:10rem 0;z-index:1}#main-section section:first-child{margin-top:0}.nav{display:flex;justify-content:space-between;align-items:center;position:fixed;flex-wrap:wrap;top:0;left:0;width:100%;padding:30px;background-color:#0d0d0d;z-index:999}.nav-links{list-style:none;display:none;flex-direction:column;width:100%}.nav-links li{padding-top:20px;font-weight:700}.nav-links.active{display:flex}.hamburger{background-color:transparent;color:#f2f2f2;border:0;display:block;cursor:pointer}.nav a{text-decoration:none;color:#f2f2f2;transition:all .2s ease;position:relative;padding-bottom:.3rem}.nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#ffaf7a;transition:width .3s ease}.nav a:hover{color:#ffaf7a}.nav a:hover::after{width:100%}.about-container{display:flex;flex-direction:column;justify-content:center;color:#f2f2f2;padding:8rem 0 12rem;text-align:center;min-height:90vh}.hero-content-wrapper{display:flex;flex-direction:column-reverse;flex-direction:column;align-items:center;gap:6rem;animation:fadeUp 1s ease-out}.hero-text{max-width:100%;background:rgba(13,13,13,.45);border-radius:2.5rem}.hero-greeting{font-size:2.4rem;font-weight:500;color:#ffaf7a;margin-bottom:1rem;display:block;letter-spacing:.05em;text-shadow:0 4px 12px rgba(0,0,0,.3)}.hero-name{font-size:6rem;font-weight:800;margin-bottom:2.5rem;line-height:1.1;letter-spacing:-.02em;text-shadow:0 4px 12px rgba(0,0,0,.4)}.highlight-text{background:-webkit-linear-gradient(45deg,#ffaf7a,#ffd4b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-tagline{font-size:2.2rem;line-height:1.5;margin-bottom:2rem;font-weight:400;color:#f2f2f2;text-shadow:0 2px 4px rgba(0,0,0,.5)}.hero-subtext{font-size:1.8rem;color:#d0d0d0;margin-bottom:4rem;font-weight:300;line-height:1.6;text-shadow:0 2px 4px rgba(0,0,0,.5)}.hero-socials{margin-top:2rem}.hero-image-container{position:relative;width:100%;max-width:300px;display:flex;justify-content:center}.profile-image{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:4px solid rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,175,122,.2);transition:transform .3s ease}.profile-image:hover{transform:scale(1.05);box-shadow:0 0 40px rgba(255,175,122,.4)}@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(min-width:992px){.hero-content-wrapper{flex-direction:row;text-align:left;justify-content:space-between;padding:0 5rem;gap:8rem}.hero-text{flex:1;background:rgba(13,13,13,.45);padding:3rem;border-radius:2.5rem}.hero-image-container{flex:0 0 350px;max-width:400px}.about-links{padding:0;margin:0}.hero-name{font-size:8rem}}.skill-section{width:90%;max-width:120rem;margin:0 auto;margin-top:8rem}.skill-category{margin-bottom:3rem;background-color:#fff;padding:2.5rem;border-radius:.5rem;box-shadow:0 4px 8px rgba(0,0,0,5%)}.skill-category h4{font-size:2rem;font-weight:700;color:#0d0d0d;margin-bottom:1.5rem;text-align:left}.skill-badges{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.skill-badges img{height:3.5rem;object-fit:contain;transition:transform .2s ease}.skill-badges img:hover{transform:scale(1.1)}.skill-tabs{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2rem;border-bottom:2px solid #f0f0f0}.skill-tab-btn{background-color:transparent;border:2px solid #ddd;padding:.7rem 1.2rem;border-radius:.3rem;font-size:1.4rem;font-weight:500;color:#555;cursor:pointer;transition:all .2s ease}.skill-tab-btn:hover{border-color:#999;color:#333}.skill-tab-btn.active{background-color:#0d0d0d;color:#fff;border-color:#0d0d0d}.skill-tab-content{display:none;animation:fadeIn .3s ease}.skill-tab-content.active{display:block}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.skill-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:1.5rem;align-items:center;justify-items:center}.skill-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.skill-icon{height:4rem;object-fit:contain;transition:transform .2s ease;cursor:pointer}.skill-icon:hover{transform:scale(1.2)}.skill-tooltip{position:absolute;bottom:-2.5rem;background-color:#0d0d0d;color:#fff;padding:.5rem .8rem;border-radius:.3rem;font-size:1.2rem;white-space:nowrap;opacity:0;transition:opacity .2s ease;pointer-events:none}.skill-icon-wrapper:hover .skill-tooltip{opacity:1}.skill-categories-separated{display:grid;grid-template-columns:1fr;gap:2rem}.skill-category-card{background-color:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 4px 8px rgba(0,0,0,5%);border-left:4px solid silver}.skill-category-card h4{font-size:1.6rem;font-weight:700;color:#0d0d0d;margin-bottom:1.2rem}.skill-cards-grid{display:grid;grid-template-columns:1fr;gap:2rem}.skill-card{background-color:#fff;padding:2.5rem;border-radius:.5rem;transition:transform .2s ease,box-shadow .2s ease}.skill-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.1)}.skill-card h4{font-size:1.7rem;font-weight:700;color:#0d0d0d;margin-bottom:1.5rem}@media(min-width:768px){.skill-categories-separated{grid-template-columns:1fr 1fr}.skill-cards-grid{grid-template-columns:1fr 1fr}}@media(min-width:992px){.skill-icon-grid{grid-template-columns:repeat(auto-fit,minmax(6rem,1fr))}.skill-categories-separated{grid-template-columns:1fr 1fr}.skill-cards-grid{grid-template-columns:1fr 1fr}}.project-details{position:absolute;bottom:0;left:0;right:0;background-color:#fff;border-radius:1rem;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:0 -10px 30px rgba(0,0,0,.15);max-height:100%;overflow-y:auto}.project-details.expanded{transform:translateY(0)}.details-close{position:absolute;top:1.5rem;right:1.5rem;background-color:#f0f0f0;border:none;width:3.5rem;height:3.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;font-size:1.6rem;transition:all .2s ease;z-index:10}.details-close:hover{background-color:#e0e0e0;color:#333}.details-content{padding:3rem;padding-top:5rem}.detail-block{margin-bottom:2rem}.detail-block h5{font-size:1.4rem;font-weight:700;color:#333;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.detail-block ul{list-style:disc;padding-left:2rem}.detail-block li{margin-bottom:.5rem;font-size:1.4rem;color:#666}.tech-grid{display:grid;grid-template-columns:1fr;gap:1rem}.tech-item{font-size:1.3rem;color:#555;background-color:#fbfbfb;padding:.8rem;border-radius:.5rem;border-left:3px solid #ddd}.tech-item strong{color:#333;font-weight:600;margin-right:.5rem}@media(min-width:576px){.tech-grid{grid-template-columns:1fr 1fr}}.experience-container{display:grid;grid-template-columns:1fr;grid-gap:4rem;max-width:120rem;margin:0 auto}@media(min-width:768px){.experience-container{grid-template-columns:1fr 1fr}}.experience-card{background-color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;padding:2.5rem;transition:transform .2s ease,box-shadow .2s ease;border-radius:.5rem}.experience-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.1)}.experience-bio{display:flex;flex-direction:column}.experience-header h4{font-size:2.4rem;font-weight:700;color:#0d0d0d;margin-bottom:.5rem;letter-spacing:-.01em}.experience-company{font-size:1.5rem;font-weight:500;color:#666;margin-bottom:1.2rem}.experience-meta{margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid #f0f0f0}.experience-date{font-size:1.3rem;color:#888;margin-bottom:.4rem;font-weight:500}.experience-location{font-size:1.3rem;color:#888}.experience-description ul{list-style:disc;padding-left:2rem}.experience-description li{margin-bottom:1rem;font-size:1.4rem;color:#555;line-height:1.6}.blog-container{display:grid;grid-template-columns:1fr;grid-gap:3rem;max-width:120rem;margin:0 auto}@media(min-width:768px){.blog-container{grid-template-columns:1fr 1fr;justify-content:center;max-width:80rem}}@media(min-width:1024px){.blog-container{grid-template-columns:1fr 1fr;justify-content:center;max-width:85rem}}.contact-section{padding-bottom:0}.contact-container{max-width:100rem;margin:0 auto}.contact-content{display:grid;grid-template-columns:1fr;gap:4rem;max-width:550px;margin:0 auto}@media(min-width:768px){.contact-content{grid-template-columns:1fr 1fr;gap:6rem;align-items:start;max-width:none}}.contact-text{color:#0d0d0d}.contact-text h4{font-size:3rem;font-weight:700;margin-bottom:2rem;position:relative;display:inline-block}.contact-text h4::after{content:'';position:absolute;bottom:-.5rem;left:0;width:100%;height:.3rem;background-color:#ddd;border-radius:2px}.contact-text p{font-size:1.6rem;line-height:1.6;margin-bottom:2rem;color:#555}.contact-form{background-color:#fff;border:1px solid #eee;border-radius:1rem;padding:3rem;box-shadow:0 10px 30px rgba(0,0,0,5%);transition:transform .3s ease,box-shadow .3s ease}.contact-form:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.form-group{margin-bottom:2rem}.form-label{display:block;margin-bottom:.8rem;font-weight:600;color:#0d0d0d;font-size:1.4rem}.form-field{width:100%;padding:1.2rem;border:1px solid #ddd;border-radius:.5rem;box-sizing:border-box;font-family:inherit;font-size:1.5rem;color:#333;background-color:#f9f9f9;transition:all .3s ease}.form-field::placeholder{color:#999}.form-field:focus{outline:none;border-color:#ffaf7a;background-color:#fff;box-shadow:0 0 0 3px rgba(255,175,122,.2)}.form-textarea{resize:vertical;min-height:12rem}.submit-button{background-color:#ffaf7a;color:#0d0d0d;padding:1.2rem 2.5rem;font-size:1.6rem;font-weight:700;cursor:pointer;border:none;border-radius:.5rem;transition:all .2s ease;width:100%}.submit-button:hover{background-color:#ffcba4;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,175,122,.3)}.submit-button:active{transform:translateY(0)}@media(min-width:768px){.contact-content{grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.contact-text{padding-top:2rem}}.footer-container{padding:10rem 0;color:#f2f2f2;background-color:rgba(13,13,13,.1);text-align:center}@media(min-width:768px){.main-container{width:85%}.skill-section{width:85%}.nav-links{display:block;flex-direction:row;width:auto}.nav-links li{display:inline-block;padding:0 15px}.nav-links li:first-child{padding-top:0}.hamburger{display:none}.section-link{top:-160px}.skill-container{grid-template-columns:1fr 1fr}.skill-title{flex-direction:row}}@media(min-width:992px){html{font-size:60%}.about-container{flex-direction:row}.section-link{top:-180px}}@media(min-width:1200px){html{font-size:62.5%}}.project-container{display:grid;grid-template-columns:1fr;grid-gap:3rem;max-width:120rem;margin:0 auto}@media(min-width:768px){.project-container{grid-template-columns:1fr 1fr;justify-content:center}}@media(min-width:1024px){.project-container{grid-template-columns:1fr 1fr 1fr;max-width:120rem;justify-content:center}}.project-card{background-color:#fff;display:flex;flex-direction:column;padding:3rem;border-radius:1rem;transition:transform .3s ease,box-shadow .3s ease;height:100%;position:relative;border:1px solid #f0f0f0;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,8%);border-color:transparent}.project-content{display:flex;flex-direction:column;height:100%}.project-header{margin-bottom:2rem}.project-title{font-size:2.4rem;font-weight:700;color:#0d0d0d;margin-bottom:.5rem;letter-spacing:-.01em;text-align:left}.project-subtitle{font-size:1.4rem;color:#888;font-weight:500;margin-bottom:1.2rem}.tech-badge{display:inline-block;background-color:#f0f2f5;color:#555;padding:.4rem 1rem;border-radius:2rem;font-size:1.3rem;font-weight:500;border:1px solid transparent;transition:all .2s ease}.tech-badge:hover{background-color:#e4e6eb;color:#333}.project-technologies{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}.project-description{font-size:1.6rem;line-height:1.6;color:#555;margin-bottom:2rem;flex-grow:1;overflow:hidden}.project-description p{margin:0;line-height:1.6}.project-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:2rem;border-top:1px solid #f5f5f5}.project-links{display:flex;gap:1.5rem;list-style:none;padding:0;margin:0}.project-links a{text-decoration:none;color:#666;font-size:1.4rem;font-weight:600;padding:.5rem 1rem;border-radius:.5rem;transition:all .2s ease;background-color:#f9f9f9}.project-links a:hover{background-color:#0d0d0d;color:#fff}.expand-toggle{background:0 0;border:none;color:#ffaf7a;font-weight:600;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.5rem;transition:color .2s ease}.expand-toggle:hover{color:#e09b6b}.toggle-icon{transition:transform .3s ease;font-size:1rem}.expand-toggle[aria-expanded=true] .toggle-icon{transform:rotate(180deg)}.project-details{display:none;background:#fafafa;border-top:1px solid #eee;font-size:1.4rem;overflow:hidden}.project-details.expanded{display:block;animation:slideDown .3s ease-out}.details-content{padding:3rem;position:relative}.details-close{position:absolute;top:1.5rem;right:1.5rem;background:0 0;border:none;font-size:1.8rem;cursor:pointer;color:#aaa;transition:color .2s;z-index:10}.details-close:hover{color:#ffaf7a}.detail-block{margin-bottom:2.5rem}.detail-block:last-child{margin-bottom:0}.detail-block h5{font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em;color:#888;margin-bottom:1rem;font-weight:700}.detail-block p{line-height:1.6;color:#555}.detail-block ul{list-style:none;padding:0}.detail-block li{margin-bottom:.8rem;padding-left:1.5rem;position:relative}.detail-block li::before{content:"•";color:#ffaf7a;position:absolute;left:0;font-weight:800}.tech-grid{display:grid;grid-template-columns:1fr;gap:1rem}.tech-item{font-size:1.3rem;color:#555}.tech-item strong{color:#333;margin-right:.5rem}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}