/* --- Centering Container --- */ .home-portal-container { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } /* --- Invisible Wrapper --- */ .artistic-portal { display: flex; flex-direction: column; align-items: center; gap: 1rem; /* Make the whole block interactive */ cursor: pointer; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); } .artistic-portal:hover { transform: translateY(-5px) scale(1.02); } /* --- The Illustration --- */ .portal-illustration { width: 100%; max-width: 450px; /* Scales nicely on larger screens */ height: auto; /* Adds a beautiful glass-like shadow behind the vector lines */ filter: drop-shadow(0 15px 25px rgba(0, 0, 0, 0.3)); transition: filter 0.4s ease; } .artistic-portal:hover .portal-illustration { filter: drop-shadow(0 25px 35px rgba(0, 0, 0, 0.4)) drop-shadow(0 0 15px rgba(255, 255, 255, 0.1)); } /* --- Ambient Animations inside the SVG --- */ .float-slow { animation: floatVertical 6s ease-in-out infinite; transform-origin: center; } .float-medium { animation: floatVertical 4s ease-in-out infinite reverse; transform-origin: center; } @keyframes floatVertical { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } } /* --- The Text --- */ .read-text { color: #f8f9fa; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 2rem; font-weight: 300; letter-spacing: 0.35em; margin-left: 0.35em; /* Compensates for the extra tracking on the right side */ /* Soft glow */ text-shadow: 0 4px 15px rgba(248, 249, 250, 0.2); transition: all 0.4s ease; } .artistic-portal:hover .read-text { color: #ffffff; letter-spacing: 0.4em; text-shadow: 0 4px 20px rgba(248, 249, 250, 0.5); }