.contact{background-color:#f9fafb}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}@media(max-width:768px){.contact-content{grid-template-columns:1fr;gap:2rem}}.contact-info h3{font-size:1.875rem;font-weight:600;color:#111827;margin-bottom:1rem}.contact-info p{color:#6b7280;margin-bottom:2rem;line-height:1.6}.contact-details{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;align-items:center;gap:1rem;color:#374151}.contact-item i{width:20px;color:#475569}.contact-item a{color:#475569;text-decoration:none}.contact-item a:hover{text-decoration:underline}.contact-form{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:.75rem;font-size:1rem;transition:border-color .3s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#475569}.form-group textarea{resize:vertical;min-height:120px}.notification{position:fixed;top:90px;right:20px;padding:1rem 1.5rem;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);z-index:1050;max-width:400px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:1rem}.notification-success{background:#10b981;color:#fff}.notification-error{background:#ef4444;color:#fff}.notification-close{background:none;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.notification-close:hover{background-color:hsla(0,0%,100%,.2)}.notification-close:focus{outline:2px solid hsla(0,0%,100%,.5);outline-offset:2px}.timeline{position:relative;max-width:900px;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(90deg,#475569,#3b82f6);transform:translateX(-50%)}@media(max-width:768px){.timeline:before{left:20px}}.timeline-item{position:relative;margin-bottom:3rem;display:flex;align-items:center}@media(max-width:768px){.timeline-item{flex-direction:column;align-items:flex-start}}.timeline-marker{position:absolute;left:50%;transform:translateX(-50%);width:20px;height:20px;background:#475569;border-radius:9999px;border:4px solid #fff;box-shadow:0 0 0 4px #e5e7eb;z-index:1}@media(max-width:768px){.timeline-marker{left:20px;transform:translateX(-50%)}}.timeline-content{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);width:calc(50% - 40px);position:relative;min-height:-moz-fit-content;min-height:fit-content}@media(max-width:768px){.timeline-content{width:calc(100% - 80px);margin-left:80px}}.timeline-content h3{font-size:1.5rem;font-weight:600;color:#111827;margin-bottom:.5rem}.timeline-content h4{font-size:1.25rem;color:#475569;margin-bottom:.5rem}.timeline-content-right{margin-left:calc(50% + 40px)}.timeline-content-left{margin-right:calc(50% + 40px);margin-left:0}.timeline-date{color:#6b7280;font-size:.875rem;margin-bottom:1rem;display:block}.experience-list{list-style:none}.experience-list li{color:#374151;position:relative;padding:.5rem 0 .5rem 1.5rem;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.experience-list li:before{content:"▶";position:absolute;left:0;color:#475569;font-size:.75rem}.experience-list li:hover{color:#374151;transform:none;background:none}