*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;line-height:1.6;color:#333;background-color:#f9f9f9;display:flex;flex-direction:column;align-items:center;padding:20px}.container{width:100%;max-width:1200px;margin:20px 0;padding:30px;background-color:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;animation:slideUp .6s ease-out;will-change:transform,opacity}header{background-color:#004080;color:#fff;padding:1.5em;text-align:center;border-radius:8px;width:100%;max-width:1200px;margin-bottom:20px;display:flex;flex-direction:column;align-items:center}header h1{font-size:2.5em;margin-bottom:.5em}#contactInfo{font-size:1.2em;display:flex;flex-direction:column;align-items:center;white-space:nowrap}#contactInfo .static-text{font-size:1.2em;margin-bottom:.2em}#contactInfo .characteristic{font-weight:700;color:#fff;font-size:1.2em;white-space:nowrap}.typing{border-right:2px solid #fff;animation:blinkCursor .7s step-end infinite}@keyframes blinkCursor{0%,to{border-color:transparent}50%{border-color:#fff}}section{padding:2em;margin-bottom:20px}section h2{font-size:2em;margin-bottom:.5em;color:#333;text-align:center;animation:slideUp .5s ease-out backwards;animation-delay:.2s}section p{font-size:1.1em;color:#666;margin-bottom:1em;text-align:center}#chatbot{padding:2em;border:1px solid #ddd;border-radius:10px;box-shadow:0 4px 8px #0000001a;text-align:center;width:100%;max-width:1200px;margin:20px auto;background-color:#f7f7f7}#chatbot h2{font-size:1.8em;margin-bottom:.5em;color:#010d19}#chatbot p{font-size:1.1em;color:#666}#chatbot form{margin-top:20px;display:flex;flex-direction:column;align-items:center}#chatbot input[type=text]{width:80%;max-width:800px;padding:20px;font-size:1em;border:1px solid #ccc;border-radius:5px;margin-bottom:10px;box-shadow:0 2px 4px #0000001a}#chatbot button[type=submit]{width:80%;max-width:200px;background-color:#337ab7;color:#fff;padding:15px;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .3s;box-shadow:0 2px 4px #0000001a;margin-top:10px}#chatbot button[type=submit]:hover{background-color:#23527c}#response-container{display:none;margin-top:20px;padding:15px;border:1px solid #ddd;border-radius:10px;background-color:#fff;box-shadow:0 2px 4px #0000001a;font-size:1.1em;color:#333;width:80%;max-width:500px;text-align:center;margin-left:auto;margin-right:auto;transition:opacity .3s ease}#response-container.active{display:block;animation:slideUp .4s ease-out}.loading-bold{font-weight:700;font-size:1.2em;color:#004080}#fact-container{font-size:1.1em;color:#666;margin-top:10px;padding:10px;background-color:#eef;border-radius:5px;box-shadow:0 2px 4px #0000001a}#contact{padding:2em;border:1px solid #ddd;border-radius:10px;box-shadow:0 4px 8px #0000001a;background-color:#f7f7f7;text-align:center;width:100%;max-width:800px;margin:20px auto}#contact h2{font-size:1.8em;margin-bottom:.5em;color:#004080}#contact p{font-size:1.1em;color:#666;margin-bottom:1.5em}#contact form{display:flex;flex-direction:column;align-items:center}#contact form div{width:100%;margin-bottom:1em}#contact label{font-size:1.1em;color:#333;margin-bottom:.5em;display:block;text-align:left}#contact input[type=text],#contact input[type=email],#contact textarea{width:100%;max-width:700px;padding:15px;font-size:1em;border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 4px #0000001a;margin-bottom:1em}#contact textarea{height:150px;resize:vertical}#contact button[type=submit]{width:50%;max-width:200px;background-color:#337ab7;color:#fff;padding:15px;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .3s;box-shadow:0 2px 4px #0000001a}#contact button[type=submit]:hover{background-color:#23527c}#service-iframe{width:100%;max-width:1200px;margin:20px auto;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a}#service-iframe iframe{width:100%;border:none;border-radius:8px}#chatbot.container{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#projects{padding:2em;margin-bottom:20px;text-align:center}#projects h2{font-size:2em;margin-bottom:.5em;color:#333}.projects-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:10px 0;-webkit-overflow-scrolling:touch}.projects-carousel::-webkit-scrollbar{display:none}.card{flex:0 0 auto;scroll-snap-align:center;background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:10px;width:280px;height:350px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-10px);box-shadow:0 8px 16px #0003}.project-image{width:100%;height:150px;object-fit:cover;border-top-left-radius:8px;border-top-right-radius:8px;transition:transform .3s}.card:hover .project-image{transform:scale(1.1)}.card-content{padding:15px}.description{font-size:.9em;color:#666;margin-bottom:10px}.btn{display:inline-block;padding:10px 15px;font-size:.9em;color:#fff;background-color:#3498db;border-radius:5px;text-decoration:none;transition:background-color .3s}.btn:hover{background-color:#2980b9}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000b3;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .3s}.card:hover .overlay{opacity:1}.built-with{font-size:.85em;margin-bottom:15px}header{background:linear-gradient(135deg,#1a2a3a,#2980b9,#3498db);background-size:200% 200%;animation:gradientMove 15s ease infinite;color:#fff;padding:2em 1.5em;text-align:center;border-radius:20px;width:100%;max-width:1200px;margin:15px auto 30px;display:flex;flex-direction:column;align-items:center;box-shadow:0 10px 25px #0000001f;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.15),transparent 70%);pointer-events:none;animation:shine 8s infinite}@keyframes shine{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}header h1{font-size:3em;margin-bottom:.2em;font-weight:800;background:linear-gradient(135deg,#fff,#f8f9fa,#fff);background-size:200% auto;animation:shimmer 3s linear infinite;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 4px rgba(0,0,0,.1);letter-spacing:-.5px;position:relative;z-index:1;transform:translateZ(0);backface-visibility:hidden}@keyframes shimmer{0%{background-position:-100% center}to{background-position:100% center}}#contactInfo{font-size:1.1em;display:flex;flex-direction:column;align-items:center;white-space:nowrap;position:relative;z-index:1;margin-top:.2em}#contactInfo .static-text{font-size:1em;margin-bottom:.2em;color:#fffffff2;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.1)}#contactInfo .characteristic{font-weight:600;color:#fff;font-size:1.2em;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.12);position:relative;padding:.15em 0;transition:all .3s ease}.typing{border-right:3px solid rgba(255,255,255,.9);animation:blinkCursor .8s step-end infinite;padding-right:4px}@keyframes blinkCursor{0%,to{border-color:transparent}50%{border-color:#ffffffe6}}@media (max-width: 768px){header{padding:1.8em 1.2em;margin:12px auto 20px;border-radius:16px}header h1{font-size:2.6em}#contactInfo{font-size:1em}#contactInfo .characteristic{font-size:1.1em}}@media (max-width: 480px){header{padding:1.5em 1em}header h1{font-size:2.2em}#contactInfo .characteristic{font-size:1em}}#portfolio{padding:2em;margin-bottom:20px}#portfolio h2{font-size:2em;margin-bottom:.5em;color:#333;text-align:center}#portfolio p{font-size:1.1em;color:#666;margin-bottom:1em;text-align:center}.profile-links{list-style:none;padding:0;margin:20px 0;display:flex;justify-content:center;flex-wrap:wrap}.profile-links li{margin:10px}.profile-links a{text-decoration:none;color:#337ab7;display:flex;align-items:center}.profile-links a:hover{color:#23527c}.profile-links img{width:32px;height:32px;margin-right:10px;border-radius:4px;transition:transform .2s ease-in-out}.profile-links img:hover{transform:scale(1.1)}#chatbot{padding:3em;border:none;border-radius:20px;box-shadow:0 10px 30px #00000014;text-align:center;width:100%;max-width:800px;margin:40px auto;background:linear-gradient(145deg,#fff,#f8f9fa);color:#2c3e50;position:relative;overflow:hidden}#chatbot:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(52,152,219,.05) 0%,transparent 70%);animation:rotate 15s linear infinite;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#chatbot h2{font-size:2.5em;margin-bottom:1rem;color:#2c3e50;font-weight:700;letter-spacing:-.5px;position:relative;display:inline-block}#chatbot h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:3px;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:3px}#chatbot p{font-size:1.2em;color:#7f8c8d;margin-bottom:2em;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}#chatbot form{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:20px;position:relative;z-index:1}#chatbot input[type=text]{width:90%;max-width:700px;padding:18px 25px;font-size:1.1em;border:2px solid #ecf0f1;border-radius:15px;margin-bottom:0;box-shadow:0 4px 6px #0000000a;transition:all .3s ease;background-color:#fff;position:relative}#chatbot input[type=text]:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none;transform:scale(1.01)}#chatbot input[type=text]::placeholder{color:#bdc3c7;font-size:1.05em;transition:opacity .3s ease}#chatbot input[type=text]:focus::placeholder{opacity:.5}#chatbot button[type=submit]{width:auto;min-width:180px;padding:16px 32px;margin-top:15px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1.1em;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #3498db33;position:relative;overflow:hidden}#chatbot button[type=submit]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}#chatbot button[type=submit]:hover:before{left:100%}#chatbot button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3498db4d;background:linear-gradient(135deg,#2980b9,#2573a7)}#response-container{display:none;margin-top:30px;padding:25px;border:none;border-radius:15px;background-color:#fffffff2;box-shadow:0 8px 20px #0000000f;font-size:1.1em;color:#34495e;width:90%;max-width:700px;text-align:left;margin-left:auto;margin-right:auto;min-height:120px;transition:all .3s ease;line-height:1.6;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#response-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#3498db0d,#2ecc710d);border-radius:15px;z-index:-1}#response-container.active{display:block;animation:fadeIn .3s ease-out}.loading-bold{display:flex;align-items:center;justify-content:center;gap:12px;animation:pulse 1.5s infinite;font-weight:600;font-size:1.2em;color:#2c3e50}.loading-bold:after{content:"...";animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{content:"."}40%,60%{content:".."}80%,to{content:"..."}}#fact-container{font-size:1.1em;color:#34495e;margin-top:20px;padding:20px;background-color:#ecf0f1cc;border-radius:12px;box-shadow:0 4px 12px #0000000d;line-height:1.6;position:relative;overflow:hidden;transition:all .3s ease}#fact-container:hover{transform:translateY(-2px);box-shadow:0 6px 15px #00000014}#chatbot-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}.error-message{color:#e74c3c;margin-top:1.2rem;font-weight:500;padding:12px 20px;background-color:#e74c3c1a;border-radius:8px;animation:shake .4s ease-in-out;position:relative;overflow:hidden}.error-message:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(231,76,60,.1),transparent);animation:errorGlow 2s infinite}@keyframes errorGlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){#chatbot{padding:2em;margin:20px auto}#chatbot h2{font-size:2em}#chatbot input[type=text],#response-container,#chatbot button[type=submit]{width:100%}}#contact{padding:3em;border:none;border-radius:20px;box-shadow:0 10px 30px #00000014;background:linear-gradient(145deg,#fff,#f9f9f9);text-align:center;width:100%;max-width:800px;margin:40px auto;position:relative;overflow:hidden}#contact:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#3498db,#2ecc71,#3498db);background-size:200% 100%;animation:gradientMove 5s ease infinite}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}#contact h2{font-size:2.5em;margin-bottom:.8em;color:#2c3e50;font-weight:700;letter-spacing:-.5px;position:relative;display:inline-block}#contact h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:3px;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:3px}#contact p{font-size:1.2em;color:#7f8c8d;margin-bottom:2em;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}#contact form{max-width:600px;margin:0 auto;gap:1.5rem;position:relative}#contact form div{width:100%;margin-bottom:1.5em;position:relative;transition:transform .3s ease}#contact form div:hover{transform:translate(5px)}#contact label{font-size:1.1em;color:#34495e;margin-bottom:.8em;display:block;text-align:left;font-weight:500;transition:color .3s ease}#contact form div:hover label{color:#3498db}#contact input[type=text],#contact input[type=email],#contact textarea{width:100%;max-width:700px;padding:15px 20px;font-size:1.1em;border:2px solid #ecf0f1;border-radius:12px;box-shadow:0 4px 6px #0000000a;margin-bottom:1em;transition:all .3s ease;background-color:#fff;position:relative;z-index:1}#contact textarea{height:180px;resize:vertical;line-height:1.6}#contact button[type=submit]{width:100%;max-width:200px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:16px 32px;border:none;border-radius:12px;cursor:pointer;font-size:1.1em;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #3498db33;margin-top:1em;position:relative;overflow:hidden}#contact button[type=submit]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}#contact button[type=submit]:hover:before{left:100%}#contact button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3498db4d;background:linear-gradient(135deg,#2980b9,#2573a7)}#contact input[type=text]:focus,#contact input[type=email]:focus,#contact textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none;transform:scale(1.01)}#contact input[type=text]::placeholder,#contact input[type=email]::placeholder,#contact textarea::placeholder{color:#bdc3c7;transition:opacity .3s ease}#contact input:focus::placeholder,#contact textarea:focus::placeholder{opacity:.5}.form-group{position:relative;margin-bottom:1.5em}.form-group:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .3s ease}.form-group:focus-within:after{width:100%}@media (max-width: 768px){#contact{padding:2em;margin:20px auto}#contact h2{font-size:2em}#contact button[type=submit]{width:100%}#contact form div:hover{transform:none}}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--line-height: 1.6;--font-weight: 400;--color-scheme-dark: #2c3e50;--color-scheme-light: #34495e;--background: #ffffff;--link-color: #3498db;--link-hover-color: #2980b9;--button-bg: #3498db;--button-bg-light: #ffffff;--button-border-color: #3498db;--button-hover-border-color: #2980b9;font-family:var(--font-family);line-height:var(--line-height);font-weight:var(--font-weight);color-scheme:light dark;color:var(--color-scheme-light);background-color:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}a{font-weight:500;color:var(--link-color);text-decoration:none;transition:all .3s ease;position:relative}a:hover{color:var(--link-hover-color)}a:after{content:"";position:absolute;width:100%;height:2px;bottom:-2px;left:0;background-color:var(--link-hover-color);transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease}a:hover:after{transform:scaleX(1);transform-origin:bottom left}body{margin:0;padding:0;min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#fff);color:var(--color-scheme-light)}h1{font-size:3.5em;line-height:1.2;margin-bottom:.8em;text-align:center;font-weight:700;background:linear-gradient(135deg,var(--color-scheme-dark),var(--link-color));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}button{border-radius:12px;border:2px solid transparent;padding:.8em 1.6em;font-size:1em;font-weight:600;font-family:inherit;background-color:var(--button-bg);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #3498db33}button:hover{background-color:var(--link-hover-color);transform:translateY(-2px);box-shadow:0 6px 20px #3498db4d}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 3px #3498db4d}@media (prefers-color-scheme: light){:root{color:var(--color-scheme-light);background-color:var(--background)}button{background-color:var(--button-bg);color:#fff}}#root{width:100%;max-width:1400px;margin:0 auto;padding:40px 20px}@media (max-width: 768px){h1{font-size:2.5em}#root{padding:20px}button{width:100%}}
