.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(3px)}.modal-content{background:var(--card-bg);color:var(--text);border:1px solid var(--card-border);border-radius:12px;padding:2rem;width:100%;max-width:500px;box-shadow:0 12px 24px rgba(0,0,0,.15);position:relative;font-family:inherit}.modal-content h2{margin-top:0;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.modal-content label{display:block;margin-bottom:.25rem;font-weight:600;font-size:.9rem}.modal-content input,.modal-content textarea{width:100%;padding:.75rem;border:1px solid var(--card-border);border-radius:6px;font-size:1rem;background:var(--bg);color:var(--text);margin-bottom:1rem}.modal-content input:focus,.modal-content textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}.modal-content textarea{resize:vertical;min-height:100px}.modal-content button[type=submit]{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:background .3s ease;display:block;margin:0 auto}.modal-content button[type=submit]:focus,.modal-content button[type=submit]:hover{background:var(--accent-hover,#00ffff)}.modal-close{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,0);border:none;font-size:1.5rem;color:var(--text-subtle);cursor:pointer}.modal-close:hover{color:var(--text)}.modal-close:focus{outline:2px solid var(--accent);border-radius:50%}:root{--bg:#f5f7fa;--text:#1c1c1c;--accent:#00bcd4;--logo-color:#0099cc;--card-bg:#ffffff;--card-border:#e0e0e0;--logo-bg:transparent;--text-subtle:#6e6e6e;--link-color:#0d47a1}html.dark{--bg:#0f0f0f;--text:#f0f0f0;--accent:#00bcd4;--logo-color:#00f7ff;--card-bg:#1a1a1a;--card-border:#333333;--logo-bg:#ffffff;--text-subtle:#d7d7d7;--link-color:#64b5f6}.hero{padding:4rem 1rem;background-color:var(--bg);color:var(--text)}.hero__container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}@media(max-width:768px){.hero__container{flex-direction:column;text-align:center}}.hero__text{flex:1;padding:.4rem .6rem;border-radius:4px;min-height:120px}.hero__image{flex-shrink:0}.hero__profile-pic{border-radius:50%;border:2px solid var(--card-border);object-fit:cover;box-shadow:0 0 10px rgba(0,0,0,.2)}.hero__subtitle{margin:1rem 0;color:var(--text-subtle)}.hero__cta{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--accent);color:#000;border-radius:8px;text-decoration:none;font-weight:600}.hero__cta:hover{filter:brightness(1.1)}.skills-carousel__wrapper{max-width:1400px;margin:0 auto;padding:1rem;overflow:hidden;border:1px solid var(--card-border);border-radius:12px;background:var(--card-bg);box-shadow:0 4px 10px rgba(0,0,0,.15);cursor:grab}.skills-carousel__title{text-align:center;font-size:2rem;margin-bottom:1.5rem;font-weight:700;color:var(--text)}.skills-carousel .keen-slider{display:flex}.skills-carousel .keen-slider__slide{flex:0 0 20%;max-width:20%;padding:0 .5rem;box-sizing:border-box}.skills-carousel .skill-card{flex:1 0 auto;padding:1rem;border:1px solid var(--card-border);background:var(--card-bg);border-radius:8px;text-align:center;font-family:Orbitron,sans-serif;text-transform:uppercase;font-weight:600;color:var(--text);transition:box-shadow .3s ease,border .3s ease}.skills-carousel .skill-card:hover{box-shadow:0 0 8px var(--accent);border-color:var(--accent)}.skills-carousel .skill-card img{margin-bottom:.5rem;width:auto;height:80px;object-fit:contain;border-radius:8px;background-color:var(--logo-bg);padding:.5rem}.skills-carousel .skill-card p{font-weight:500}.project-grid{margin-bottom:3rem}.project-grid__title{text-align:center;font-size:2rem;margin-bottom:2rem;font-weight:700;color:var(--text)}.project-grid__wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.project-card{display:block;padding:1.5rem;background:var(--card-bg);border-radius:16px;box-shadow:0 6px 14px rgba(0,0,0,.06);text-decoration:none;color:var(--text);transition:transform .25s ease,box-shadow .25s ease;text-align:center;border:1px solid var(--card-border);outline:none}.project-card:focus-visible,.project-card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,0,0,.1)}.project-card__image{width:110px;height:110px;margin:0 auto 1rem;border-radius:10px;overflow:hidden}.project-card__image img{width:100%;height:100%;object-fit:cover;display:block}.project-card__content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.project-card__content h3{font-size:1.25rem;font-weight:700}.project-card__desc-title{font-size:1rem;font-weight:500;color:var(--text);margin-top:.25rem;margin-bottom:.25rem}.project-card__desc{font-size:.85rem;color:var(--text);line-height:1.6;opacity:.95;max-width:90%;padding:.25rem 0 .5rem;white-space:pre-line}.project-card__link{margin-top:.75rem;font-weight:600;color:var(--link-color);font-size:.9rem;text-decoration:none;position:relative}.project-card__link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card__link:focus-visible:after,.project-card__link:hover:after{transform:scaleX(1)}.project-card__link:focus-visible,.project-card__link:hover{color:var(--accent-hover,#00ffff)}.contact-section{max-width:1400px;margin:0 auto 3rem}.contact-section__title{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:2rem;color:var(--text)}.contact-section__row{display:flex;justify-content:space-around;align-items:center;gap:2rem;flex-wrap:wrap;padding:2rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.3)}.contact-section__row a,.contact-section__row button.contact-link{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;text-decoration:none;color:var(--text);font-family:Orbitron,sans-serif;font-weight:500;transition:transform .2s ease,filter .2s ease}.contact-section__row a:hover,.contact-section__row button.contact-link:hover{transform:scale(1.05);filter:brightness(1.2)}.contact-section__row a img,.contact-section__row button.contact-link img{display:block;object-fit:contain;transition:transform .2s ease}.contact-section__row a img.github-logo,.contact-section__row button.contact-link img.github-logo{filter:none}html.dark .contact-section__row a img.github-logo,html.dark .contact-section__row button.contact-link img.github-logo{filter:invert(1)}.contact-section__row a span,.contact-section__row button.contact-link span{font-size:1rem;display:inline-block}.contact-section__row a:not(:has(span)) img{height:60px;width:auto}.contact-section__row a:not(:has(span)):hover img{transform:scale(1.05)}.contact-section__row a:has(span) img,.contact-section__row button.contact-link img{height:24px;width:24px}.keen-slider:not([data-keen-slider-disabled]){-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;align-content:flex-start;display:flex;overflow:hidden;position:relative;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-khtml-user-select:none;width:100%}.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide{min-height:100%;overflow:hidden;position:relative;width:100%}.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse]{flex-direction:row-reverse}.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v]{flex-wrap:wrap}