@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=JetBrains+Mono:wght@400;700&display=swap";html{--lumo-font-family:"Outfit", sans-serif;--lumo-base-color:#05111c;--lumo-primary-color:#1a56db;--lumo-primary-text-color:#1a56db;--lumo-secondary-text-color:#a0aec0;--lumo-body-text-color:#fffffff2;--gradient-primary:linear-gradient(135deg, #1a56db 0%, #00d2ff 100%);--gradient-accent:linear-gradient(135deg, #ff007f 0%, #7928ca 100%);--glass-bg:#ffffff08;--glass-border:#ffffff14}body{background-color:var(--lumo-base-color);font-family:var(--lumo-font-family);color:var(--lumo-body-text-color);background-image:radial-gradient(circle at 0 0,#1a56db26,#0000 40%),radial-gradient(circle at 100% 100%,#00d2ff1a,#0000 40%);background-size:cover;background-attachment:fixed;margin:0}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 8px 32px #0000004d}.glass-header{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);z-index:100;background:#05111cd9;position:sticky;top:0}.text-logo{color:#fff;letter-spacing:-1px;font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:700}.text-logo .brackets{color:var(--lumo-primary-color)}.hero-title{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:clamp(2.5rem,4vw,4rem);font-weight:800;line-height:1.1;animation:1s ease-out fadeInDown}.hero-description{color:var(--lumo-secondary-text-color);max-width:900px;margin:0 auto 2rem;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:300;line-height:1.6;animation:1s ease-out .2s both fadeInUp}.section-title{color:#fff;margin-bottom:2rem;font-size:clamp(2rem,3vw,2.5rem);font-weight:700}.section-text{color:var(--lumo-secondary-text-color);margin-bottom:1rem;font-size:1.1rem;line-height:1.8}.section-text strong{color:#fff;font-weight:600}.header-menu{align-items:center;gap:2rem;display:flex}vaadin-button.menu-btn{color:var(--lumo-secondary-text-color);background:0 0;border:none;font-size:1rem;font-weight:600;transition:color .3s}vaadin-button.menu-btn:hover{color:#fff}.portfolio-carousel-container{align-items:center;gap:1rem;width:100%;display:flex}.portfolio-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;gap:2rem;width:100%;padding:1rem 0 2rem;display:flex;overflow-x:auto}.portfolio-carousel::-webkit-scrollbar{display:none}.portfolio-card{scroll-snap-align:start;white-space:normal;background:#ffffff0d;border:1px solid #ffffff26;border-radius:20px;flex-direction:column;flex:0 0 400px;width:400px;max-width:85vw;height:100%;padding:2.5rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex}vaadin-button.carousel-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;font-size:1.2rem;transition:background .3s;display:flex}vaadin-button.carousel-btn:hover{background:#ffffff26}.portfolio-card:hover{border-color:#1a56db66;transform:translateY(-5px);box-shadow:0 15px 35px #1a56db33}.portfolio-card h3{color:#00d2ff;margin-top:0;margin-bottom:1rem;font-size:1.25rem}.portfolio-card p{color:var(--lumo-secondary-text-color);margin:0;font-size:.95rem;line-height:1.6}.contact-card{text-align:center;border:none;width:100%;max-width:500px;margin:0 auto;padding:2.5rem 2rem;box-shadow:0 20px 40px #1a56db4d;background:#1a56db!important}.contact-card h2{color:#fff;font-size:2.2rem}vaadin-button.modern-btn{letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border-radius:50px;height:44px;padding:0 1.5rem;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.25,.8,.25,1)}vaadin-button.modern-btn:hover{transform:translateY(-3px)}vaadin-button.modern-btn-primary{color:#1a56db;background:#fff;border:none;box-shadow:0 4px 15px #0003}vaadin-button.modern-btn-primary:hover{box-shadow:0 8px 25px #ffffff4d}vaadin-button.modern-btn-success{color:#05111c;background:#00e676;border:none;box-shadow:0 4px 15px #00e6764d}vaadin-button.modern-btn-success:hover{box-shadow:0 8px 25px #00e67680}.code-font{color:#00d2ff;font-family:JetBrains Mono,monospace}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-layout{flex-direction:column;min-height:100vh;display:flex}.content-wrapper{flex-direction:column;flex:1;gap:6rem;width:100%;max-width:1200px;margin:0 auto;padding:4rem 2rem;display:flex}.footer-text{opacity:.6;letter-spacing:.5px;font-size:.85rem}.contact-buttons-container{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}vaadin-button,.menu-btn,.carousel-btn,.modern-btn,a,a *,.contact-buttons-container a,.contact-buttons-container vaadin-button,vaadin-button::part(button){cursor:pointer!important}
