*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #1e3a5f;--color-secondary: #00b4a6;--color-background: #f8f9fa;--color-text-heading: #2d3748;--color-text-body: #4a5568;--color-white: #ffffff;--color-border: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04)}body{font-family:Inter,-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;color:var(--color-text-body);line-height:1.7;background-color:var(--color-background);font-size:16px}.app{min-height:100vh;display:flex;flex-direction:column}.nav{background-color:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);padding:1.25rem 2rem;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);transition:all .3s ease}.nav-logo{font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:700;color:var(--color-primary);text-decoration:none;transition:color .3s ease,transform .2s ease;display:inline-block;letter-spacing:-.5px}.nav-logo:hover{color:var(--color-secondary);transform:translateY(-1px)}.banner{width:100%;height:500px;background-image:url(/images/ravelo-banner.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}.banner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#40404099;z-index:1}.banner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}.banner-content{text-align:center;color:#fff;padding:2.5rem;max-width:900px;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.banner-title{font-family:Poppins,sans-serif;font-size:3rem;font-weight:700;color:gold;margin-bottom:1.5rem;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.5);letter-spacing:-.5px}.banner-description{font-size:1.25rem;color:#fffffff2;line-height:1.8;text-shadow:0 1px 4px rgba(0,0,0,.2);font-weight:400}.main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:5rem 2rem}.section{margin-bottom:6rem;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.section-header{margin-bottom:3rem;text-align:center}.section-title{font-family:Poppins,sans-serif;font-size:2.5rem;font-weight:700;color:var(--color-text-heading);margin-bottom:1.25rem;text-transform:capitalize;letter-spacing:-.5px}.section-description{font-size:1.125rem;color:var(--color-text-body);max-width:750px;margin:0 auto;line-height:1.8;font-weight:400}.separator{border:none;border-top:1px solid var(--color-border);margin:4rem 0;opacity:.5}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;margin-top:2.5rem}.tech-card{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;background-color:var(--color-white);border-radius:12px;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid transparent}.tech-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl);border-color:var(--color-secondary)}.tech-image{width:90px;height:90px;object-fit:contain;margin-bottom:1.25rem;transition:transform .3s ease}.tech-card:hover .tech-image{transform:scale(1.1)}.tech-placeholder{width:90px;height:90px;border-radius:12px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-family:Poppins,sans-serif;font-size:2.25rem;font-weight:700;margin-bottom:1.25rem;transition:transform .3s ease,box-shadow .3s ease;box-shadow:var(--shadow-md)}.tech-card:hover .tech-placeholder{transform:scale(1.1) rotate(5deg);box-shadow:var(--shadow-lg)}.tech-name{font-size:1.0625rem;font-weight:600;color:var(--color-text-heading);text-align:center;transition:color .3s ease}.tech-card:hover .tech-name{color:var(--color-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2.5rem}.project-card{display:flex;flex-direction:column;padding:2rem;background-color:var(--color-white);border-radius:12px;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;height:100%}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--color-secondary)}.project-name{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:700;color:var(--color-text-heading);margin-bottom:1rem;transition:color .3s ease}.project-card:hover .project-name{color:var(--color-secondary)}.project-description{font-size:1rem;color:var(--color-text-body);line-height:1.7;margin-bottom:1.5rem;flex-grow:1}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-tag{display:inline-block;padding:.375rem .875rem;background-color:var(--color-background);color:var(--color-text-body);border-radius:20px;font-size:.875rem;font-weight:500;border:1px solid var(--color-border);transition:all .3s ease}.project-card:hover .project-tag{background-color:#00b4a61a;border-color:var(--color-secondary);color:var(--color-secondary)}.project-links{display:flex;gap:1rem;margin-top:auto}.project-link{padding:.625rem 1.5rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:8px;font-size:.9375rem;font-weight:600;transition:all .3s ease;display:inline-block}.project-link:hover{background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact-container{display:flex;justify-content:center;align-items:center;margin-top:2.5rem}.contact-link{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background-color:var(--color-primary);color:var(--color-white);text-decoration:none;border-radius:12px;font-size:1.125rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);border:2px solid transparent}.contact-link:hover{background-color:var(--color-secondary);transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-secondary)}.linkedin-icon{width:24px;height:24px;transition:transform .3s ease}.contact-link:hover .linkedin-icon{transform:scale(1.1)}.footer{background:linear-gradient(135deg,var(--color-primary) 0%,#2d4a6f 100%);border-top:none;padding:3rem 2rem;text-align:center;color:#ffffffe6;font-size:.9375rem;margin-top:auto;font-weight:400}.footer p{margin:0}@media(min-width:769px)and (max-width:1024px){.banner{height:450px}.banner-title{font-size:2.5rem}.banner-description{font-size:1.125rem}.main{padding:4rem 2rem}.section{margin-bottom:5rem}.section-title{font-size:2.25rem}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.75rem}.tech-image,.tech-placeholder{width:80px;height:80px}.tech-placeholder{font-size:2rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem}.project-card{padding:1.75rem}}@media(max-width:768px){.nav{padding:1rem 1.5rem}.nav-logo{font-size:1.5rem}.banner{height:400px}.banner-title{font-size:2rem;margin-bottom:1rem}.banner-description{font-size:1rem;line-height:1.6}.banner-content{padding:2rem 1.5rem}.main{padding:3rem 1.5rem}.section{margin-bottom:4rem}.section-header{margin-bottom:2rem}.section-title{font-size:2rem;margin-bottom:1rem}.section-description{font-size:1rem;line-height:1.7}.separator{margin:3rem 0}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1.5rem;margin-top:2rem}.tech-card{padding:1.5rem 1rem}.tech-image,.tech-placeholder{width:70px;height:70px}.tech-placeholder{font-size:1.75rem}.tech-name{font-size:1rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card{padding:1.5rem}.project-name{font-size:1.25rem}.project-description{font-size:.9375rem}.footer{padding:2.5rem 1.5rem;font-size:.875rem}}@media(max-width:480px){.banner{height:350px}.banner-title{font-size:1.75rem}.banner-description{font-size:.9375rem}.main{padding:2.5rem 1rem}.section-title{font-size:1.75rem}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1.25rem}.tech-card{padding:1.25rem .75rem}.tech-image,.tech-placeholder{width:60px;height:60px}.tech-placeholder{font-size:1.5rem}.project-card{padding:1.25rem}.project-name{font-size:1.125rem}.project-links{flex-direction:column;gap:.75rem}.project-link{width:100%;text-align:center}.contact-link{padding:.875rem 2rem;font-size:1rem}.linkedin-icon{width:20px;height:20px}}html{scroll-behavior:smooth}
