.ecell-footer{background:radial-gradient(90% 70% at 85% 0,#1a0508 0%,#0000 55%),radial-gradient(80% 60% at 10% 100%,#12060a 0%,#0000 60%),#030304;border-top:1px solid #ffffff14;position:relative;overflow:hidden}.footer-stars{pointer-events:none;z-index:0;position:absolute;inset:0}.footer-stars-sm{background-image:radial-gradient(1px 1px at 12% 22%,#ffffffb3 50%,#0000 51%),radial-gradient(1px 1px at 34% 68%,#ffffff80 50%,#0000 51%),radial-gradient(1px 1px at 56% 14%,#fff9 50%,#0000 51%),radial-gradient(1px 1px at 71% 82%,#ffffff80 50%,#0000 51%),radial-gradient(1px 1px at 88% 38%,#ffffffb3 50%,#0000 51%),radial-gradient(1px 1px at 22% 91%,#fff6 50%,#0000 51%),radial-gradient(1px 1px at 45% 44%,#fff9 50%,#0000 51%),radial-gradient(1px 1px at 93% 72%,#ffffff80 50%,#0000 51%),radial-gradient(1px 1px at 6% 55%,#fff9 50%,#0000 51%);background-repeat:repeat;background-size:480px 480px;animation:4s ease-in-out infinite alternate footer-star-twinkle}.footer-stars-lg{background-image:radial-gradient(2px 2px at 27% 28%,#fffc 50%,#0000 51%),radial-gradient(2px 2px at 61% 64%,#ff7878b3 50%,#0000 51%),radial-gradient(2px 2px at 84% 88%,#ffffffb3 50%,#0000 51%),radial-gradient(1.5px 1.5px at 95% 12%,#ffa0a099 50%,#0000 51%),radial-gradient(2px 2px at 14% 8%,#fffc 50%,#0000 51%);background-repeat:repeat;background-size:900px 900px;animation:7s ease-in-out infinite alternate-reverse footer-star-twinkle}@keyframes footer-star-twinkle{0%{opacity:.45}to{opacity:1}}.footer-nebula{filter:blur(110px);pointer-events:none;z-index:0;background:radial-gradient(circle,#ff174417 0%,#0000 65%);border-radius:50%;width:60vw;max-width:900px;height:60vw;max-height:900px;animation:18s ease-in-out infinite alternate footer-nebula-drift;position:absolute;bottom:-40%;left:-15%}@keyframes footer-nebula-drift{0%{transform:translate(0)scale(1)}to{transform:translate(4%,-5%)scale(1.08)}}.footer-grid-overlay{pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80% at 30% 20%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 80% at 30% 20%,#000 20%,#0000 75%)}.ecell-footer .footer-main,.ecell-footer .footer-bottom{z-index:1;position:relative}.footer-main{padding:3rem 0 2.5rem}.footer-grid{grid-template-columns:1.5fr .8fr 1fr;align-items:start;gap:4rem;max-width:1400px;margin:0 auto;padding:0 4rem;display:grid}.footer-column{color:#ffffffb3}.footer-brand{max-width:100%}.footer-brand-name{font-family:var(--font-manrope), sans-serif;letter-spacing:-.01em;text-transform:uppercase;color:#fff;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.footer-institute{color:#ffffff8c;letter-spacing:.02em;margin-bottom:2rem;font-size:.9rem;font-weight:300}.footer-description{color:#fff9;text-wrap:pretty;max-width:90%;margin-bottom:2rem;font-size:.95rem;line-height:1.7}.footer-subscribe{margin-bottom:2.5rem}.subscribe-label{color:#ffffffd9;margin-bottom:.75rem;font-size:.95rem}.subscribe-input-wrapper{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;max-width:350px;transition:border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.subscribe-input-wrapper:focus-within{border-color:#ff1744;box-shadow:0 0 24px #ff174426}.subscribe-input{color:#fff;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:.75rem 1rem;font-size:.9rem}@media (max-width:768px){.subscribe-input{font-size:16px}}.subscribe-input::placeholder{color:#ffffff4d}.subscribe-btn{cursor:pointer;isolation:isolate;transition:box-shadow var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out);background:linear-gradient(135deg,#ff1744 0%,#c21807 100%);border:none;justify-content:center;align-items:center;padding:0 1.25rem;display:flex;position:relative;overflow:hidden}.subscribe-btn:after{content:"";transform-origin:0;transition:transform .35s var(--ease-out);pointer-events:none;background:#fff;position:absolute;inset:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.subscribe-btn:hover{box-shadow:0 0 18px #ff174459}.subscribe-btn:hover:after{transform:scaleX(1)}.subscribe-btn:hover svg{stroke:#e00034}}.subscribe-btn:active{transition-duration:.1s;transform:scale(.96)}.subscribe-btn svg{stroke:#fff;z-index:1;transition:stroke var(--duration-fast) ease;position:relative}.footer-social{margin-top:1rem}.social-label{color:#fff9;margin-bottom:1rem;font-size:.85rem}.social-icons{flex-wrap:wrap;gap:.8rem;display:flex}.social-icon{color:#ffffffa6;width:44px;height:44px;transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease, border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.social-icon:hover{color:#ff5252;background:#ff174426;border-color:#ff174499;transform:translateY(-2px);box-shadow:0 0 16px #ff174440}}.social-icon:active{transition-duration:.1s;transform:translateY(0)scale(.96)}.footer-heading{font-family:var(--font-manrope), sans-serif;text-transform:uppercase;letter-spacing:.14em;background:linear-gradient(90deg,#ff1744 0%,#ff5252 55%,#c21807 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin-top:.5rem;margin-bottom:1.5rem;font-size:.85rem;font-weight:700}.footer-heading:after{content:"";background:linear-gradient(90deg,#ff1744 0%,#0000 100%);border-radius:2px;width:2.25rem;height:2px;margin-top:.5rem;display:block}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:1rem}.footer-links a{color:#ffffffbf;transition:color var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out);font-size:.95rem;text-decoration:none;display:inline-block;position:relative}.footer-links a:before{content:"→";opacity:0;color:#ff1744;transition:opacity var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out);position:absolute;left:-.85rem;transform:translate(-4px)}@media (hover:hover) and (pointer:fine){.footer-links a:hover{color:#ff5252;transform:translate(6px)}.footer-links a:hover:before{opacity:1;transform:translate(0)}}.footer-contact{flex-direction:column;gap:1.5rem;display:flex}.contact-item{align-items:flex-start;gap:1rem;display:flex}.contact-item-icon{color:#ff1744;filter:drop-shadow(0 0 6px #ff174466);flex-shrink:0;margin-top:.15rem}.contact-text-group p,.contact-item p{color:#ffffffbf;overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:.95rem;line-height:1.6}.footer-bottom{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border-top:1px solid #ffffff0f;padding:1.5rem 0}.footer-bottom-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 4rem;display:flex}.copyright-text{color:#ffffff73;letter-spacing:.02em;margin:0;font-size:.85rem}.artist-signature{color:#fff6;margin:0;font-size:.85rem;font-style:italic}@media (max-width:1024px){.footer-grid{grid-template-columns:1fr .5fr 1fr;gap:2rem;padding:0 2rem}}@media (max-width:768px){.footer-main{padding:3rem 0 2.5rem}.footer-grid{grid-template-columns:1fr;gap:3rem;width:100%;padding:0 1.25rem}.footer-brand,.footer-links-col,.footer-contact-col{width:100%}.footer-heading{margin-top:0;margin-bottom:1rem;font-size:1rem}.subscribe-input-wrapper{max-width:100%}.footer-description{max-width:100%;margin-bottom:1.5rem}.footer-bottom-container{text-align:center;flex-direction:column;gap:1rem;padding:0 1.5rem}.contact-item{align-items:flex-start}}@media (max-width:380px){.footer-brand-name{font-size:1.05rem}.footer-institute{font-size:.8rem}.footer-description{font-size:.85rem;line-height:1.6}.footer-grid{gap:2.5rem;padding:0 1rem}.contact-text-group p,.contact-item p{font-size:.85rem}.social-icon{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.footer-stars-sm,.footer-stars-lg,.footer-nebula{animation:none!important}}
