body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color: #414d74;--secondary-color: #2575fc;--accent-color: #ff6b6b;--text-color: #2c3e50;--text-light: #7f8c8d;--text-secondary: #ecf0f1;--background-color: #f8f9fa;--card-bg: #ffffff;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App{color:var(--text-color);background-color:var(--background-color);overflow-x:hidden}.container{max-width:1000px;margin:0 auto;padding:2rem}.hero{background:linear-gradient(135deg,var(--primary-color) 0%,#1040cb 100%);color:#fff;min-height:100vh;display:flex;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,0,0,.1) 0%,transparent 50%);pointer-events:none}.hero-content{position:relative;z-index:1;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-content h1{font-size:clamp(2.5rem,8vw,4.5rem);margin-bottom:1rem;font-weight:800;letter-spacing:-1px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.hero-content p{font-size:clamp(1rem,3vw,1.5rem);margin-bottom:2.5rem;color:var(--text-secondary);font-weight:300;letter-spacing:.5px}.btn{display:inline-block;padding:.875rem 2rem;background-color:#fff;color:var(--primary-color);text-decoration:none;border-radius:8px;border:2px solid transparent;font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.btn:hover{background-color:#fff;color:var(--secondary-color);transform:scale(1.05);box-shadow:0 6px 15px #00000026;border-color:var(--secondary-color)}.btn:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.about,.projects,.contact{padding:6rem 0;position:relative}.about{background-color:#fff}.projects{background-color:var(--background-color)}.contact{background-color:#fff}.about h2,.projects h2,.contact h2{text-align:center;font-size:clamp(2rem,5vw,2.5rem);margin-bottom:3rem;font-weight:700;color:var(--primary-color);position:relative;padding-bottom:1rem}.about h2:after,.projects h2:after,.contact h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:4px;background-color:var(--primary-color);border-radius:2px}.about p,.contact p{font-size:1.1rem;line-height:1.8;color:var(--text-color);margin:0 auto;max-width:700px;text-align:center}.project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;animation:slideInUp .6s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.project-item{background-color:var(--card-bg);padding:2rem;border-radius:12px;box-shadow:var(--shadow-md);transition:var(--transition);text-decoration:none;color:var(--text-color);text-align:center;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.project-item:hover{transform:scale(1.03);box-shadow:var(--shadow-lg);border-color:var(--secondary-color)}.project-item img{max-width:60%;height:180px;object-fit:cover;border-radius:10px;margin:0 auto 1.5rem;transition:var(--transition)}.project-item:hover img{transform:scale(1.05);filter:brightness(1.1)}.project-item h3{font-size:1.5rem;margin-bottom:.75rem;font-weight:700;color:var(--primary-color)}.project-item p{font-size:.95rem;color:var(--text-light);line-height:1.6;margin-bottom:1.5rem;flex-grow:1}.contact-links{display:flex;justify-content:center;gap:2rem;margin-top:3rem;flex-wrap:wrap}.contact-link{color:#fff;background-color:var(--primary-color);text-decoration:none;font-size:1rem;font-weight:600;padding:.75rem 1.75rem;border-radius:8px;transition:var(--transition);box-shadow:var(--shadow-md);position:relative;overflow:hidden;display:flex;align-items:center;gap:.5rem}.contact-link:hover{transform:scale(1.1);box-shadow:var(--shadow-lg);background-color:var(--secondary-color)}.contact-link:focus{outline:2px solid var(--primary-color);outline-offset:2px}.footer{background-color:#1a1a2e;color:#fff;text-align:center;padding:2rem;font-weight:500;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:768px){.container{padding:1.5rem}.hero{min-height:80vh}.hero-content h1{font-size:2rem}.hero-content p{font-size:1rem;margin-bottom:2rem}.about,.projects,.contact{padding:4rem 0}.about h2,.projects h2,.contact h2{font-size:1.75rem;margin-bottom:2rem}.project-list{grid-template-columns:1fr;gap:2rem}.contact-links{flex-direction:column;align-items:stretch;gap:1rem}.contact-link{text-align:center}}@media(max-width:480px){.hero-content h1{font-size:1.75rem}.hero-content p{font-size:.9rem}.btn{padding:.75rem 1.5rem;font-size:.9rem}.about p,.contact p{font-size:1rem}}.project-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f4f4f9;padding:2rem}.project-page-content{background-color:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 8px #0000001a;max-width:800px;width:100%;text-align:center}.project-page-image{max-width:60%;height:auto;border-radius:10px;margin-bottom:2rem}.project-page-title{font-size:2.5rem;margin-bottom:1rem}.project-page-description{font-size:1.2rem;line-height:1.6;margin-bottom:2rem}.btn-back{margin-left:1rem;background-color:#ccc;color:#333;transition:all .3s ease}.btn-back:hover{background-color:#bbb;transform:scale(1.05)}
