.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.follow{padding:clamp(34px,6vw,70px) clamp(20px,6vw,80px);border-top:1px solid var(--line,#ddd)}
.fl-in{max-width:980px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:10px 28px;align-items:center;background:#111;color:#fff;border-radius:28px;padding:30px clamp(22px,4vw,44px);position:relative;overflow:hidden}
.fl-art{color:#b8ff5a;grid-row:1}
.fl-art .fl-road{stroke-dashoffset:0;animation:flwalk 2.4s linear infinite}.fl-art .fl-env{transform-origin:99px 14px;animation:flbob 3s ease-in-out infinite}.fl-art .fl-dot{animation:flpulse 2s ease-in-out infinite}
.fl-art .fl-env rect{stroke:#111}
@keyframes flwalk{to{stroke-dashoffset:-18}}@keyframes flbob{50%{transform:translateY(-3px) rotate(-4deg)}}@keyframes flpulse{50%{r:6.5}}
.fl-copy h2{margin:0;font-size:clamp(26px,4vw,38px);letter-spacing:-.04em;line-height:1;font-weight:800}
.fl-copy p{margin:6px 0 0;color:#b9bdb8;font-size:16px}
.fl-form{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:8px}
.fl-form input[type=email]{min-height:54px;border-radius:100px;border:1px solid #333;background:#1b1e1c!important;color:#fff!important;padding:0 22px;font:inherit;font-size:16px}
.fl-form input::placeholder{color:#7d817c}
.fl-form input:focus{outline:2px solid #b8ff5a;outline-offset:2px}
.fl-hp{position:absolute;left:-9999px}
.fl-form button{min-height:54px;border:0;border-radius:100px;background:#b8ff5a;color:#111;font:inherit;font-weight:750;font-size:16px;padding:0 26px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;transition:transform .15s}
.fl-form button:active{transform:scale(.96)}.fl-form button:disabled{opacity:.6}
.fl-msg{grid-column:1/-1;margin:2px 6px 0;font-size:14px;color:#9a9e98}.fl-msg.err{color:#ff9d8f}
.fl-ts{grid-column:1/-1}
.follow.done .fl-msg{color:#b8ff5a}
@media(max-width:700px){.fl-in{grid-template-columns:1fr;border-radius:24px}.fl-form{grid-template-columns:1fr}.fl-art{width:96px}}
html[data-theme=dark] .fl-in{background:#151816;border:1px solid #2a2e2b}
.ref-banner{position:fixed;left:50%;top:14px;transform:translate(-50%,-90px);z-index:95;display:flex;align-items:center;gap:12px;background:#b8ff5a;color:#111;border:2px solid #111;border-radius:100px;padding:10px 14px 10px 16px;box-shadow:3px 4px 0 #111;transition:transform .45s cubic-bezier(.2,1.3,.4,1);max-width:calc(100vw - 24px)}
.ref-banner.on{transform:translate(-50%,0)}
.ref-banner p{margin:0;font-size:15px}.ref-banner button{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:#111;padding:2px 6px}
@media(prefers-reduced-motion:reduce){.fl-art *{animation:none!important}.ref-banner{transition:none}}
.ref-banner{width:max-content;box-sizing:border-box}
.ref-banner p{line-height:1.25}
@media(max-width:700px){.ref-banner{top:calc(8px + env(safe-area-inset-top,0px));left:12px;right:12px;width:auto;max-width:none;transform:translateY(-90px);border-radius:18px;padding:8px 8px 8px 12px;box-shadow:2px 3px 0 #111}.ref-banner.on{transform:none}.ref-banner p{font-size:14px;flex:1}.ref-banner svg{flex:none;width:24px;height:24px}}
