.ff { max-width: 1192px; margin: 0 auto; padding: 0 26px 130px; box-sizing: border-box; font: 400 17px/1.6 var(--hx-sans); color: var(--ink-2); }
.ff .ff-h { padding: 64px 0 0; }
.ff-lock { display: flex; align-items: center; gap: 20px; }
.ff-lock img { display: block; width: 84px; height: auto; }
.ff h1 { margin: 0; font: 900 76px/.92 var(--hx-disp); text-transform: uppercase; letter-spacing: .004em; color: var(--ink); }
.ff .ff-by { margin: 6px 0 0; font: 500 15px/1 var(--hx-sans); color: var(--ink-3); }
.ff .ff-lead { max-width: 700px; margin: 26px 0 0; font: 400 20px/1.5 var(--hx-sans); letter-spacing: -.012em; color: var(--ink-2); text-wrap: pretty; }
.ff .ff-lead b { font-weight: 500; color: var(--ink); }
.ff-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin: 30px 0 0; }
.ff-acts .app-soon { height: 40px; padding: 0 16px; }
.v2 .ff-acts a.hx-pill.hx-pri { color: var(--hx-pri-ink); }
.ff-acts .hx-pri .ai { width: 16px; height: 20px; margin-right: 2px; fill: currentColor; }
.ff-badge { display: inline-flex; height: 40px; }
.ff-badge img { height: 40px; width: auto; }
.ff .ff-facts { max-width: 700px; margin: 16px 0 0; font: 400 14.5px/1.45 var(--hx-sans); color: var(--ink-3); }
.ff .ff-sha { max-width: 700px; margin: 6px 0 0; font: 400 13px/1.45 var(--hx-sans); color: var(--ink-3); }
.ff .ff-sha code { font: 500 12px/1.45 var(--mono); color: var(--ink-2); word-break: break-all; }
.ff-hero { margin: 56px 0 0; }
.ff-hero img { display: block; width: 100%; height: auto; border-radius: 30px; }
.ff-sec { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; margin: 110px 0 0; }
.ff-sec:not(:has(figure)) { grid-template-columns: minmax(0, 760px); }
.ff-rev .ff-t { order: 2; }
.ff h2 { margin: 0; font: 900 clamp(38px, 4.6vw, 60px)/.92 var(--hx-disp); text-transform: uppercase; letter-spacing: .004em; color: var(--ink); }
.ff-t p { max-width: 640px; margin: 14px 0 0; text-wrap: pretty; }
.ff-t p + p { margin-top: 12px; }
.ff-shot { display: flex; justify-content: center; margin: 0; padding: 34px 28px 0; border-radius: 22px; background: var(--paper-3); overflow: hidden; }
.ff-shot img { width: min(380px, 92%); height: auto; border-radius: 18px; box-shadow: 0 34px 60px -34px rgb(0 0 0 / .75), 0 2px 6px rgb(0 0 0 / .12); }
.ff-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
@media (max-width: 900px) {
  .ff-sec, .ff-sec:not(:has(figure)) { grid-template-columns: 1fr; gap: 28px; margin-top: 88px; }
  .ff-rev .ff-t { order: 0; }
}
@media (max-width: 640px) {
  .ff { padding: 0 16px 96px; }
  .ff .ff-h { padding-top: 40px; }
  .ff-lock { gap: 14px; }
  .ff-lock img { width: 56px; }
  .ff h1 { font-size: 44px; }
  .ff .ff-lead { font-size: 17px; }
  .ff-hero { margin-top: 40px; }
  .ff-hero img { border-radius: 22px; }
  .ff h2 { font-size: 38px; }
  .ff-shot { padding: 24px 18px 0; }
}
