/* shared footer: marquee, CTA, giant "e." */
.pf,.foot{display:none!important}
.ft{position:relative;overflow:hidden;margin-top:clamp(90px,14vh,170px);background:radial-gradient(80% 55% at 50% 100%,#0b1f55 0,#000 70%);color:#fff;font-family:"Poppins",sans-serif}
.ft-mq{display:block;border-block:1px solid var(--blue,#1a63ff);overflow:hidden;white-space:nowrap;padding:18px 0;text-decoration:none}
.ft-mq .mq{display:inline-flex;gap:34px;animation:ftm 38s linear infinite;will-change:transform}
.ft-mq:hover .mq{animation-play-state:paused}
.ft-mq span{font:500 clamp(20px,2.6vw,38px)/1 "Poppins",sans-serif;color:#fff;letter-spacing:-.01em}
.ft-mq b{color:var(--blue,#1a63ff);font-size:clamp(16px,2vw,28px);line-height:1}
.ft-mq:hover span{color:var(--blue,#1a63ff)}
@keyframes ftm{to{transform:translateX(-50%)}}
.ft-main{display:grid;grid-template-columns:1.3fr .8fr auto;gap:clamp(30px,5vw,80px);align-items:start;padding:clamp(60px,9vh,110px) clamp(24px,5vw,90px) 10px}
.ft-k{margin:0 0 14px;font:400 13px/1 "Poppins",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#777}
.ft-mail{display:inline-block;font:500 clamp(22px,2.8vw,42px)/1.15 "Poppins",sans-serif;color:#fff;text-decoration:none;border-bottom:1px solid #333;padding-bottom:6px;transition:color .3s,border-color .3s}
.ft-mail:hover{color:var(--blue,#1a63ff);border-color:var(--blue,#1a63ff)}
.ft-cta{display:flex;width:max-content;margin-top:30px;gap:12px;align-items:center;padding:15px 26px;border:1px solid var(--blue,#1a63ff);border-radius:99px;color:#fff;text-decoration:none;font:400 15px/1 "Poppins",sans-serif;transition:background .35s,transform .35s}
.ft-cta i{font-style:normal;color:var(--blue,#1a63ff);transition:transform .35s,color .35s}
.ft-cta:hover{background:var(--blue,#1a63ff);transform:translateY(-3px)}.ft-cta:hover i{color:#fff;transform:translate(3px,-3px)}
.ft-nav{display:flex;flex-direction:column;gap:14px}
.ft-nav a{width:max-content;font:400 clamp(17px,1.5vw,22px)/1.2 "Poppins",sans-serif;color:#bbb;text-decoration:none;transition:color .3s,transform .35s}
.ft-nav a:hover{color:var(--blue,#1a63ff);transform:translateX(8px)}
.ft .soc{display:flex;gap:16px;margin:0;justify-content:flex-end}
.ft .soc a{display:block;transition:transform .35s}.ft .soc a:hover{transform:translateY(-4px)}
.ft .soc img{width:34px;height:34px;display:block}
.ft-e{display:block;text-align:center;text-decoration:none;font-size:clamp(300px,50vw,720px);line-height:1;height:.64em;overflow:hidden;margin-top:clamp(20px,4vh,50px);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ft-e span{display:block;margin-top:-.2em;font:600 1em/1 "Poppins",sans-serif;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--blue,#1a63ff);filter:drop-shadow(0 0 36px #1a63ff44);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s}
.ft-e:hover span{transform:translateY(-4%);filter:drop-shadow(0 0 60px #1a63ff88);background:linear-gradient(180deg,#5b93ff 0,#1a63ff 38%,#0a2a80 82%,transparent 100%);-webkit-background-clip:text;background-clip:text}
.ft-c{margin:0;padding:22px 4vw 26px;text-align:center;color:#666;font:400 12px/1.6 "Poppins",sans-serif;letter-spacing:.06em;border-top:1px solid #1a1a1a}
@media(max-width:860px){.ft-main{grid-template-columns:1fr}.ft .soc{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.ft-mq .mq{animation:none}}
/* round 3: visible navy glow at the very bottom */
.ft{background:radial-gradient(95% 70% at 50% 100%,#14398f 0,#0a2260 32%,#040d28 60%,#000 82%)!important}

/* round 5: the glow keeps drifting upward instead of being cut at the top of the e */
.ft-e{overflow:visible!important;clip-path:inset(-70vh -20vw 0 -20vw);position:relative}
.ft-e::before{content:"";position:absolute;left:50%;top:-30%;width:70%;height:90%;transform:translateX(-50%);background:radial-gradient(50% 60% at 50% 70%,#1a63ff55 0,#1a63ff22 45%,transparent 75%);filter:blur(30px);pointer-events:none}

/* round 6: e. easter egg */
.ft::after{content:"";position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .9s ease;z-index:2}
.ft.out::after{opacity:.72}
.ft-e .ft-splat{position:absolute;left:50%;top:44%;width:min(22vw,280px);transform:translateX(-50%) scale(.2);opacity:0;pointer-events:none;filter:drop-shadow(0 0 18px #1a63ff66);transition:transform .45s cubic-bezier(.2,1.4,.4,1),opacity .2s}
.ft-e .ft-splat.on{opacity:.9;transform:translateX(-50%) scale(1)}
.ft-e .ft-splat.dry{opacity:.38;filter:none;transition:opacity 3s ease,filter 3s ease}
