.hero-links a{color:gold;text-align:center;background:#181818;border-radius:50%;width:2.2rem;height:2.2rem;margin-right:1.1rem;font-size:1.3rem;font-weight:700;line-height:2.2rem;transition:background .2s,color .2s,transform .2s;display:inline-block;box-shadow:0 2px 8px #ffd70022}.hero-links a:hover{color:#181818;background:gold;transform:scale(1.12)}.timeline{border-left:3px solid gold;margin-left:1.2rem;padding-left:1.5rem;position:relative}.timeline-item{margin-bottom:2.2rem;animation:1.2s cubic-bezier(.4,0,.2,1) fadeInUp;position:relative}.timeline-dot{background:gold;border:2px solid #fff;border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:.5rem;left:-2.1rem;box-shadow:0 2px 8px #ffd70055}.timeline-role{color:gold;margin-right:.7rem;font-weight:600}.timeline-date{color:#fff8dc;font-size:.98rem}.timeline-location{color:gold;font-size:.95rem;font-weight:500}.timeline ul{margin:.5rem 0 0;padding-left:1.2rem}.timeline li{color:#fff;margin-bottom:.4rem;font-size:1.05rem;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}body{background:#000;margin:0;padding:0;font-family:Inter,Segoe UI,Fira Mono,Consolas,monospace}.portfolio-main{color:#fff;background:#0a0a0a;flex-direction:column;align-items:center;min-height:100vh;padding:0 1rem;animation:1.2s cubic-bezier(.4,0,.2,1) fadeIn;display:flex}.hero-section{background:linear-gradient(90deg,#181818 60%,#222 100%);border-radius:1.5rem;justify-content:center;align-items:center;width:100%;max-width:900px;margin:2.5rem 0 2rem;padding:2.5rem 2rem 2rem;animation:1s cubic-bezier(.4,0,.2,1) slideDown;display:flex;box-shadow:0 4px 32px #000a}.hero-content{align-items:center;gap:2.5rem;display:flex}.profile-img{object-fit:cover;border:3px solid gold;border-radius:50%;width:120px;height:120px;transition:transform .3s;box-shadow:0 2px 16px #ffd70033}.profile-img:hover{transform:scale(1.07)rotate(-2deg)}.hero-title{color:gold;letter-spacing:1px;margin-bottom:.2rem;font-size:2.3rem;font-weight:800}.hero-location{color:#fff8dc;margin-bottom:.7rem;font-size:1.1rem}.hero-summary{color:#fff;margin-bottom:1.2rem;font-size:1.1rem;line-height:1.5}.contact-icon-btn{align-items:center;padding:0;transition:transform .18s;display:flex;box-shadow:none!important;background:0 0!important;border:none!important}.contact-icon-btn svg{display:block;box-shadow:none!important;background:0 0!important}.contact-icon-btn:hover svg{transform:scale(1.13);box-shadow:0 4px 16px #ffd70099}.contactame-text:hover{color:#fff8dc;text-decoration:underline}.section{width:100%;max-width:900px;margin-bottom:2.5rem;animation:1.2s cubic-bezier(.4,0,.2,1) fadeInUp}.section-title{color:gold;letter-spacing:1px;text-transform:uppercase;margin-bottom:1.2rem;font-size:1.4rem;font-weight:700}.grid-section{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.grid-col{flex-direction:column;align-items:flex-start;display:flex}.card{color:#fff;background:#181818;border-radius:1rem;margin-bottom:.7rem;padding:1.1rem 1.2rem;font-size:1.05rem;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 12px #ffd70011}.card:hover{transform:translateY(-4px)scale(1.03);box-shadow:0 4px 24px #ffd70033}.portfolio-footer{border-top:1.5px solid #ffd70033;flex-direction:column;align-items:center;gap:.7rem;width:100%;max-width:900px;margin:2.5rem auto 1.2rem;padding-top:1.5rem;animation:1.2s cubic-bezier(.4,0,.2,1) fadeIn;display:flex}.footer-contact-link{color:gold;cursor:pointer;font-size:1.1rem;font-weight:700;text-decoration:underline;transition:color .2s}.footer-contact-link:hover{color:#fff8dc}.footer-social{gap:1.5rem;margin-top:.2rem;display:flex}.footer-social a{color:gold;text-shadow:0 2px 8px #ffd70022;font-size:1.1rem;font-weight:600;transition:color .2s,text-shadow .2s}.footer-social a:hover{color:#fff8dc;text-shadow:0 2px 16px #ffd70099}
.form-field-error{color:#e60019;margin-top:.1rem;margin-left:.2rem;font-size:.92rem;display:block}.form-spinner{vertical-align:middle;border:2.5px solid gold;border-top-color:#222;border-radius:50%;width:1.1em;height:1.1em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.contact-form textarea.form-input{resize:vertical;min-height:160px}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-form-container{color:#fff;box-sizing:border-box;background:#181818;border:2.5px solid #414141;border-radius:1rem;flex-direction:column;align-items:stretch;width:100%;min-width:320px;max-width:420px;padding:2rem 1.5rem 1.5rem;display:flex;position:relative;box-shadow:0 4px 32px #000c}.modal-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.6rem;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:gold}.contact-form{flex-direction:column;gap:1.2rem;display:flex}.form-title{text-align:center;margin-bottom:1.2rem;font-size:1.5rem;font-weight:700}.form-input{color:#fff;box-sizing:border-box;background:#111;border:none;border-radius:.5rem;width:100%;margin-top:.3rem;margin-bottom:.2rem;padding:.7rem 1rem;font-size:1rem;transition:box-shadow .2s}.form-input:focus{border:none;outline:none}.form-submit{color:#f5f5f5;cursor:not-allowed;background:#8d8d8a;border:none;border-radius:.5rem;padding:.8rem 1.2rem;font-size:1rem;font-weight:600;transition:background .2s,color .2s}.form-submit:enabled{color:#ebe8e8;cursor:pointer;opacity:1;background:#2c7701}.form-error{color:#f33;text-align:center;font-size:.95rem}
.popup-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.popup-container{color:#fff;box-sizing:border-box;background:#181818;border-radius:1rem;flex-direction:column;align-items:stretch;width:100%;min-width:260px;max-width:340px;padding:2rem 1.5rem 1.5rem;display:flex;position:relative;box-shadow:0 4px 32px #000c}.popup-message{text-align:center;color:#fff;padding:1.2rem .5rem;font-size:1.08rem}.popup-accept{color:#fff;cursor:pointer;background:#2c7701;border:none;border-radius:.5rem;width:100%;margin-top:.5rem;padding:.8rem 1.2rem;font-size:1rem;font-weight:600;transition:background .2s,color .2s}
