/* Slab footer with the crew on the wordmark */

.slab{margin:0;border-radius:0;background:#16181C;color:#C9CCD1;position:relative;overflow:hidden;isolation:isolate}
.slab::before{content:"";position:absolute;inset:-30% -10% auto -10%;height:80%;background:radial-gradient(40% 60% at 20% 30%,rgba(47,107,255,.22),transparent 70%),radial-gradient(35% 55% at 80% 20%,rgba(233,60,151,.18),transparent 70%),radial-gradient(40% 60% at 55% 60%,rgba(214,255,62,.12),transparent 70%);z-index:-1}
.slab .strip{display:grid;grid-template-columns:repeat(6,1fr);height:6px}
.slab .in{max-width:1240px;margin:0 auto;padding:72px 32px 0}
.slab .top{display:grid;grid-template-columns:1.2fr 2fr;gap:56px}
.slab .brand p{max-width:34ch;font-size:16px;line-height:1.6}
.slab .logo{display:flex;align-items:center;gap:10px;font:750 26px var(--display);color:#fff;margin-bottom:14px}.slab .logo img{width:30px}
.slab .cta{display:flex;gap:10px;margin-top:22px}.slab .btn-acc{background:var(--accent);color:#16181C;border:0}.slab .btn-ghost{background:transparent;color:#fff;border:1px solid #3A3E45}
.slab .status{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:6px 12px;border-radius:999px;background:#1F2227;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.slab .status i{width:8px;height:8px;border-radius:50%;background:#00BE72;box-shadow:0 0 0 3px rgba(0,190,114,.25)}
.slab .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.slab .cols p{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#7C818A;margin:0 0 14px}
.slab .cols a{display:block;color:#E7E8EA;text-decoration:none;padding:5px 0;font-size:15px}.slab .cols a:hover{color:var(--accent)}
.slab .word{font:800 clamp(40px,19vw,300px)/.78 var(--display);letter-spacing:-.065em;text-align:center;margin:64px 0 -0.08em;background:linear-gradient(180deg,#fff 0%,#fff 35%,rgba(255,255,255,.08) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.slab .bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #2C2F35;padding:18px 0 24px;font-size:13px;color:#7C818A}.slab .bot a{color:#9BA0A7}
@media(max-width:800px){.slab .top{grid-template-columns:1fr}.slab .cols{grid-template-columns:1fr 1fr}.slab .in{padding:48px 20px 0}.slab{margin:0}}
.wordwrap{position:relative;margin-top:calc(var(--fs,200px)*.26)}
.slab .word{margin:0;line-height:1;padding:0 0 .06em;background:linear-gradient(180deg,#fff 0%,#fff 50%,rgba(255,255,255,.12) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.word span{display:inline-block}.word .bl{display:inline-block;width:0;height:0;vertical-align:baseline}
.slab .bot{margin-top:28px}
.slab .ft-logo img{flex:none}
.gym{position:absolute;inset:0;pointer-events:none}
.gym .c{position:absolute;will-change:transform}
.gym .c img{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 10px rgba(0,0,0,.4))}
.gym .sit{animation:fx-bob 3.6s ease-in-out infinite}
.gym .sit img{transform-origin:50% 80%;animation:fx-wig 2.8s ease-in-out infinite}
.gym .hang{animation:fx-swing 3.4s ease-in-out infinite}
.gym .climb{animation:fx-climb 4.2s ease-in-out infinite}
.gym .lie{animation:fx-breathe 4.6s ease-in-out infinite;transform-origin:50% 100%}
.gym .lean{animation:fx-leanb 5s ease-in-out infinite}
.gym .fly{animation:fx-loop 6s linear infinite}
.gym .fly img{animation:fx-buzz .22s ease-in-out infinite alternate}
@keyframes fx-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3%)}}
@keyframes fx-wig{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
@keyframes fx-swing{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes fx-climb{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6%) rotate(1deg)}}
@keyframes fx-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.035)}}
@keyframes fx-leanb{0%,100%{transform:rotate(0)}50%{transform:rotate(-2.5deg)}}
@keyframes fx-loop{0%{transform:translate(0,0) rotate(-6deg)}25%{transform:translate(-22%,-18%) rotate(0)}50%{transform:translate(-44%,0) rotate(6deg)}75%{transform:translate(-22%,14%) rotate(0)}100%{transform:translate(0,0) rotate(-6deg)}}
@keyframes fx-buzz{to{transform:translateY(-3%)}}
@media(prefers-reduced-motion:reduce){.gym .c,.gym .c img{animation:none!important}}

/* No slab: full-width, wordmark is the last thing and runs off the bottom edge */
.slab .in{display:flex;flex-direction:column}
.slab .bot{order:2;margin-top:48px}
.slab .wordwrap{order:3;margin-bottom:calc(var(--fs,200px)*-.36)}
.slab .wordwrap .word{margin-bottom:-.12em}

/* The wordmark starts as an outline and fills, bottom to top, with flowing brand colors in view.
   The fill is the letters' own background (clipped to text), so every part of every glyph is covered. */
@property --bx{syntax:'<percentage>';inherits:false;initial-value:0%}
footer.slab .word{position:relative;color:transparent!important;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px #3A3E45;
 background-image:linear-gradient(90deg,var(--g1),var(--g2),var(--g3),var(--g4),var(--g5),var(--g6),var(--g1))!important;background-repeat:repeat-x!important;
 background-size:200% 0%!important;background-position:var(--bx) 100%!important;-webkit-background-clip:text!important;background-clip:text!important;
 padding-bottom:.22em!important;transition:background-size 2.6s cubic-bezier(.45,0,.15,1);animation:fx-bx 8s linear infinite}
footer.slab .word.fill{background-size:200% 100%!important;-webkit-text-stroke-color:transparent}
@keyframes fx-bx{to{--bx:-200%}}
@media(prefers-reduced-motion:reduce){footer.slab .word{background-size:200% 100%!important;transition:none;animation:none}}
footer.slab{padding-bottom:0}footer.slab .in{padding-bottom:0}

/* Wordmark runs edge to edge */
footer.slab .wordwrap{width:100vw;margin-left:calc(50% - 50vw)}
footer.slab .word{font-size:var(--wm,23.6vw)!important;text-align:center}
footer.slab{overflow:hidden}

/* No glow */
footer.slab::before{display:none}

/* Rainbow stripe sits flush on the footer's top edge */
footer.slab{padding-top:0!important;margin-top:0}
footer.slab .strip{margin:0;position:relative;top:0}

/* Top line flows through the brand colors, in step with the wordmark */
footer.slab .strip{display:block!important;height:6px;background:linear-gradient(90deg,var(--g1),var(--g2),var(--g3),var(--g4),var(--g5),var(--g6),var(--g1));background-size:200% 100%;background-position:var(--bx) 0;animation:fx-bx 8s linear infinite}
footer.slab .strip i{display:none}
@media(prefers-reduced-motion:reduce){footer.slab .strip{animation:none}}

/* No thin divider above the bottom row */
footer.slab .bot{border-top:0!important}

/* No color line on top of the footer: the final CTA glow already carries the color (Russell) */
footer.slab .strip{display:none!important}

/* Approved paper footer: white surface, solid black wordmark, original crew motion. */
footer.slab{background:#FFFFFF;color:#4A4F57}
footer.slab::before{display:none}
footer.slab .ft-logo,footer.slab .logo{color:#16181C}
footer.slab .cols p,footer.slab .bot,footer.slab .bot a{color:#6B7079}
footer.slab .cols a{color:#16181C}
footer.slab .cols a:hover{color:#16181C;text-decoration:underline;text-underline-offset:4px}
footer.slab .btn-ghost{background:#EDEBE4;color:#16181C;border-color:transparent}
footer.slab .status{background:#EDEBE4;color:#4A4F57;font-size:10px;letter-spacing:0;text-transform:none}
footer.slab .status i{background:#16181C;box-shadow:none}
footer.slab .word,footer.slab .word.fill{color:#16181C!important;-webkit-text-fill-color:#16181C!important;-webkit-text-stroke:0!important;background:none!important;animation:none!important;transition:none!important;filter:none!important}
footer.slab .wordwrap{margin-bottom:calc(var(--fs,200px)*-.30)}
footer.slab .gym img{filter:drop-shadow(0 8px 10px #16181C20)}
@media(max-width:800px){footer.slab .top{gap:40px}footer.slab .status{max-width:100%;font-size:9.5px}footer.slab .cols a{padding:8px 0;min-height:40px}footer.slab .cta .btn{padding:14px 18px;font-size:15px}footer.slab .wordwrap{margin-top:calc(var(--fs,100px)*.4);margin-bottom:calc(var(--fs,100px)*-.18)}footer.slab .word{padding-bottom:.26em!important}}
