/* fc-home-pair, -spotlight, -ai, -proof, -sync, -steps, -close: the homepage flow sections. Built on the fc-system.css
   tokens. Product art is staged from the real demo stores and admin screens (section-library/homepage-scenes) and
   rendered with a transparent background, so each scene sits straight on the panel behind it. */
.fl{--fl-ink:#0a0a0a;--fl-body:#2b2b2b;--fl-muted:#6f6f6f;--fl-line:#e8e6e3;--fl-panel:#f6f5f4;--fl-blue:var(--clr-primary,#007aff);--fl-cream:#efece3;
  --fl-gutter:clamp(16px,2.2vw,32px);
  position:relative;padding:var(--fc-section-y,120px) var(--fl-gutter);color:var(--fl-ink);font-family:var(--ff-body)}
.fl *,.fl *::before,.fl *::after{box-sizing:border-box}
.fl-in{max-width:var(--fc-container,1280px);margin:0 auto}
.fl-tight{padding-top:0}
.fl-eyebrow{margin:0 0 var(--fc-stack-eyebrow,16px);font-size:var(--fc-fs-eyebrow,16px);line-height:var(--fc-lh-eyebrow,1.3);font-weight:500;color:var(--fl-muted)}
.fl-h2{margin:0;font-family:var(--ff-heading);font-weight:700;font-size:var(--fc-fs-title);line-height:var(--fc-lh-title);letter-spacing:var(--fc-ls-title);text-wrap:balance}
.fl-h3{margin:0;font-family:var(--ff-heading);font-weight:700;font-size:var(--fc-fs-card);line-height:var(--fc-lh-card);letter-spacing:var(--fc-ls-card);text-wrap:balance}
.fl-lead{margin:var(--fc-stack-text,20px) 0 0;font-size:var(--fc-fs-lead);line-height:var(--fc-lh-lead);color:var(--fl-muted);max-width:620px;text-wrap:pretty}
.fl-center{text-align:center}.fl-center .fl-lead{margin-left:auto;margin-right:auto}
.fl-link{display:inline-flex;align-items:center;gap:6px;margin-top:var(--fc-space-5,20px);color:var(--fl-blue);font-weight:500;font-size:var(--fc-fs-small,16px);text-decoration:none}
.fl-link span{transition:transform .2s}.fl-link:hover span{transform:translateX(3px)}
.fl-btn{display:inline-flex;align-items:center;gap:10px;height:var(--fc-btn-h,44px);padding:0 22px;border-radius:999px;background:var(--fl-ink);color:#fff;font-weight:500;font-size:16px;text-decoration:none;white-space:nowrap}
.fl .fl-btn.fcb-text{height:auto;padding:0;border-radius:0;background:none;color:var(--fl-blue);gap:6px}
.fl-acts{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:var(--fc-stack-actions,32px)}
.fl-acts:empty{display:none}
.fl-art{display:block;width:100%;height:auto}
.fl-quote::before{content:"\201C"}.fl-quote::after{content:"\201D"}

/* Reveal on scroll, only once the script has run, so the editor and no-JS views always show everything */
.fl-js .fl [data-fl-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.fl-js .fl [data-fl-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fl-js .fl [data-fl-reveal]{opacity:1;transform:none;transition:none}}

/* ---------------------------------------------------------------- Product pair */
.fl-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fl-pcard{position:relative;display:flex;flex-direction:column;min-height:720px;border-radius:28px;background:var(--fl-panel);overflow:hidden;isolation:isolate;text-decoration:none;color:inherit}
.fl-pcard__copy{position:relative;z-index:2;padding:44px 44px 0;max-width:540px}
.fl-pcard__art{position:relative;flex:1;min-height:400px;margin-top:28px}
.fl-pcard__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0 0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.fl-pcard:hover .fl-pcard__art img{transform:translate(-6px,-6px)}

/* ---------------------------------------------------------------- Spotlight */
.fl-spot{position:relative;padding:var(--fc-space-12,96px) var(--fl-gutter) var(--fc-space-11,80px);border-radius:32px;
  background:radial-gradient(60% 50% at 50% 62%,#fff,rgba(255,255,255,0) 72%),var(--fl-panel);overflow:hidden;text-align:center}
.fl-spot .fl-h2{max-width:860px;margin:0 auto}
.fl-spot__art{max-width:1060px;margin:48px auto 0}
.fl-points{max-width:560px;margin:36px auto 0;padding:0;list-style:none;font-size:var(--fc-fs-small,16px);line-height:1.4}
.fl-points li{padding:14px 0;border-top:1px solid #e2dfda}
.fl-points li:last-child{border-bottom:1px solid #e2dfda}
.fl-spot .fl-acts{justify-content:center;margin-top:28px}

/* ---------------------------------------------------------------- AI tabs */
.fl-ai{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.fl-tabs{margin:40px 0 0;padding:0;list-style:none;border-top:1px solid var(--fl-line)}
.fl-tab{position:relative;border-bottom:1px solid var(--fl-line)}
.fl-tab button{all:unset;display:block;width:100%;padding:20px 0;cursor:pointer;font-family:var(--ff-heading);font-weight:700;font-size:var(--fc-fs-item);line-height:var(--fc-lh-item);letter-spacing:var(--fc-ls-item);color:#a3a3a0;transition:color .2s}
.fl-tab button:focus-visible{outline:2px solid var(--fl-blue);outline-offset:4px;border-radius:4px}
.fl-tab p{display:none;margin:-8px 0 0;padding:0 0 20px;color:var(--fl-muted);font-size:var(--fc-fs-small);line-height:var(--fc-lh-small);max-width:440px}
.fl-tab.is-on button{color:var(--fl-ink)}.fl-tab.is-on p{display:block}
.fl-tab i{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--fl-ink)}
.fl-tab.is-on i{animation:fl-progress var(--fl-tab-ms,7000ms) linear forwards}
@keyframes fl-progress{to{width:100%}}
.fl-stage{position:relative;aspect-ratio:7/6;border-radius:28px;background:var(--fl-panel);overflow:hidden}
.fl-shot{position:absolute;inset:0;opacity:0;transform:scale(1.015);transition:opacity .6s,transform .9s cubic-bezier(.2,.7,.2,1)}
.fl-shot.is-on{opacity:1;transform:none}
.fl-shot img{width:100%;height:100%;object-fit:cover;object-position:0 0}

/* ---------------------------------------------------------------- Customers */
.fl-proof__head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px}
.fl-bento{display:grid;grid-template-columns:7fr 5fr;grid-template-rows:auto auto;gap:20px}
.fl-film{position:relative;grid-row:span 2;min-height:640px;margin:0;border-radius:28px;overflow:hidden;background:#111;color:#fff;isolation:isolate}
.fl-film img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fl-film::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.72) 78%)}
.fl-film__body{position:absolute;left:44px;right:44px;bottom:40px}
.fl-quote{margin:0;font-family:var(--ff-heading);font-weight:500;font-size:var(--fc-fs-headline);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.fl-by{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;font-size:14px}
.fl-by b{display:block;font-size:16px}.fl-by small{opacity:.75}
.fl-play{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 8px;border-radius:999px;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-weight:500;text-decoration:none;white-space:nowrap}
.fl-play i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#000}
.fl-play svg{width:12px;height:12px;fill:currentColor;margin-left:2px}
.fl-stat{border-radius:28px;padding:36px 40px;background:var(--fl-ink);color:#fff}
.fl-stat--blue{background:var(--fl-blue)}.fl-stat--cream{background:var(--fl-cream);color:var(--fl-ink)}
.fl-stat__n{display:flex;align-items:baseline;gap:10px;font-family:var(--ff-heading);font-weight:700;letter-spacing:-.04em}
.fl-stat__n b{font-size:clamp(84px,9vw,132px);line-height:.9}
.fl-stat__n span{font-size:var(--fc-fs-card);letter-spacing:-.015em}
.fl-stat p{margin:18px 0 0;font-size:var(--fc-fs-lead);line-height:1.4;max-width:380px}
.fl-stat small{display:block;margin-top:14px;opacity:.8;font-size:14px}
.fl-qcard{border-radius:28px;padding:36px 40px;background:var(--fl-cream)}
.fl-qcard__brand{margin:0 0 16px;font-family:var(--ff-heading);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.fl-qcard .fl-quote{font-size:var(--fc-fs-card);line-height:1.2}
.fl-qcard .fl-by{margin-top:20px;color:var(--fl-body)}

/* ---------------------------------------------------------------- Back office */
.fl-sync{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(48px,6vw,88px);border-radius:32px;background:#0b0c0b;color:#fff;overflow:hidden;isolation:isolate}
.fl-sync::before{content:"";position:absolute;z-index:-1;right:-10%;top:-30%;width:70%;height:140%;background:radial-gradient(closest-side,rgba(255,255,255,.1),rgba(255,255,255,0))}
.fl-sync .fl-eyebrow{color:rgba(255,255,255,.62)}
.fl-sync .fl-lead{color:rgba(255,255,255,.72)}
.fl-sync .fl-btn.fcb-text,.fl-sync .fl-link{color:#fff}
.fl-sync__art{margin:-8% -14% -8% -6%}
.fl-inset{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border-radius:18px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.fl-inset b{display:block;font-size:16px;margin-bottom:4px}
.fl-inset p{margin:0;color:rgba(255,255,255,.72);font-size:15px}
.fl-inset a{flex:none;color:#fff;font-weight:500;text-decoration:none;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.12)}

/* ---------------------------------------------------------------- First steps */
.fl-steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;text-align:left}
.fl-step{display:flex;flex-direction:column;min-height:400px;padding:32px;border-radius:28px;background:var(--fl-panel)}
.fl-step__n{font-family:var(--ff-heading);font-weight:700;font-size:15px;color:var(--fl-blue);letter-spacing:.02em}
.fl-step h3{margin-top:14px}
.fl-step p{margin:12px 0 0;color:var(--fl-muted);font-size:var(--fc-fs-small);line-height:var(--fc-lh-small)}
.fl-step__art{margin-top:auto;padding-top:28px;font-size:14px}
.fl-chips{display:flex;flex-wrap:wrap;gap:8px}
.fl-chips span{padding:9px 14px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--fl-line);font-weight:500}
.fl-chips span.is-on{background:var(--fl-ink);color:#fff;box-shadow:none}
.fl-av{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;font-weight:600;font-size:14px;color:#fff;background:#8a8f87}
.fl-av--alex{background:#4b6fa8}.fl-av--jordan{background:#6c7d3a}.fl-av--fluid{background:var(--fl-ink)}
.fl-meet{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--fl-line)}
.fl-meet__faces{display:flex}.fl-meet__faces .fl-av{box-shadow:0 0 0 3px #fff}.fl-meet__faces .fl-av+.fl-av{margin-left:-10px}
.fl-meet b{display:block}.fl-meet small{color:var(--fl-muted);font-size:12px}
.fl-cmp{display:flex;flex-direction:column;gap:12px}
.fl-cmp div{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--fl-muted)}
.fl-cmp i{display:block;height:14px;border-radius:999px;background:#d9d7d3}
.fl-cmp div:last-child i{width:46%;background:var(--fl-ink)}
.fl-cmp div:last-child{color:var(--fl-ink);font-weight:500}

/* ---------------------------------------------------------------- Close */
.fl-close{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:24px;align-items:center;min-height:560px;padding:clamp(48px,6vw,88px);border-radius:32px;background:var(--fl-ink);color:#fff;overflow:hidden;isolation:isolate}
.fl-close--blue{background:var(--fl-blue)}
.fl-close::before{content:"";position:absolute;z-index:-1;inset:-30% -10% auto auto;width:70%;height:160%;background:radial-gradient(closest-side,rgba(255,255,255,.12),rgba(255,255,255,0))}
.fl-close .fl-h2{max-width:640px}
.fl-close .fl-eyebrow,.fl-close .fl-lead{color:rgba(255,255,255,.72)}
.fl-close .fl-acts{margin-top:36px}
.fl-close .fl-btn{background:#fff;color:var(--fl-ink)}
.fl-close .fl-btn.fcb-text{background:none;color:#fff}
.fl-close__art{align-self:end;margin:-8% -14% calc(-1 * clamp(48px,6vw,88px) - 2px) -12%}

/* ---------------------------------------------------------------- Tablet and phone */
@media (max-width:991px){
  .fl-pair,.fl-ai,.fl-bento,.fl-sync,.fl-close,.fl-steps3{grid-template-columns:1fr}
  .fl-pcard{min-height:640px}
  .fl-film{grid-row:auto;min-height:520px}
  .fl-proof__head{flex-direction:column;align-items:flex-start}
  .fl-sync__art{margin:0 -12% 0 -6%}
  .fl-close{min-height:0}
  .fl-close__art{margin:12px -14% calc(-1 * clamp(48px,6vw,88px) - 2px) -6%}
}
@media (max-width:767px){
  .fl-pcard{min-height:560px;border-radius:24px}
  .fl-pcard__copy{padding:28px 24px 0}
  .fl-pcard__art{min-height:330px;margin-top:20px}
  .fl-spot{padding:64px 16px 48px;border-radius:24px}
  .fl-spot__art{margin:32px -10% 0}
  .fl-stage{aspect-ratio:1/1;border-radius:24px}
  .fl-film{min-height:480px;border-radius:24px}.fl-film__body{left:24px;right:24px;bottom:24px}
  .fl-by{flex-direction:column;align-items:flex-start}
  .fl-stat,.fl-qcard{padding:28px 24px;border-radius:24px}
  .fl-sync,.fl-close{padding:40px 24px;border-radius:24px}
  .fl-inset{flex-direction:column;align-items:flex-start}
  .fl-step{min-height:0;padding:28px 24px;border-radius:24px}
  .fl-close__art{margin-bottom:-42px}
}
