/* fc-site-footer: the site footer. A black panel rising from the page: the line, with its ending cycling, the product
   directory, the legal row, and the white wordmark rising in from the bottom edge; its droplets turn on hover. */
.ft{--ft-gutter:clamp(12px,1.4vw,20px);--ft-pad:clamp(24px,4.4vw,64px);--ft-muted:rgba(255,255,255,.52);--ft-soft:rgba(255,255,255,.78);--ft-line:rgba(255,255,255,.12);
  position:relative;padding:0 var(--ft-gutter);color:#fff;font-family:var(--ff-body);-webkit-font-smoothing:antialiased}
.ft *,.ft *::before,.ft *::after{box-sizing:border-box}
.ft a{color:inherit;text-decoration:none}
.ft__card{position:relative;overflow:hidden;isolation:isolate;border-radius:32px 32px 0 0;background:#0a0a0a;padding:var(--ft-pad) var(--ft-pad) 0}
.ft__card::before{content:"";position:absolute;z-index:-1;left:50%;top:-40%;width:90%;height:80%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,255,255,.07),rgba(255,255,255,0))}
.ft__in{max-width:var(--fc-container,1280px);margin:0 auto}

/* The line */
.ft__top{padding-bottom:clamp(40px,5vw,72px);border-bottom:1px solid var(--ft-line)}
.ft__line{margin:0;font-family:var(--ff-heading);font-weight:700;font-size:var(--fc-fs-title);line-height:1.02;letter-spacing:var(--fc-ls-title);max-width:none}
.ft__line em{font-style:normal;color:var(--ft-muted)}
.ft__rail{position:relative;display:inline-grid;vertical-align:bottom;overflow:hidden;height:1.06em}
.ft__rail span{grid-area:1/1;white-space:nowrap;transform:translateY(105%);opacity:0;transition:transform .7s cubic-bezier(.2,.75,.2,1),opacity .5s}
.ft__rail span.is-on{transform:none;opacity:1}
.ft__rail span.is-out{transform:translateY(-105%);opacity:0}
.ft__cta{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:clamp(28px,3vw,40px);white-space:nowrap}
.ft__btn{display:inline-flex;align-items:center;gap:10px;height:var(--fc-btn-h,44px);padding:0 22px;border-radius:999px;background:#fff;color:#0a0a0a!important;font-weight:500;transition:transform .2s}
.ft__btn:hover{transform:translateY(-1px)}
.ft__go{font-weight:500;color:var(--ft-soft)!important}.ft__go:hover{color:#fff!important}

/* Directory */
.ft__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 24px;padding:clamp(40px,5vw,64px) 0}
.ft__col h2{margin:0 0 18px;font-family:var(--ff-body);font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ft-muted)}
.ft__col ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.ft__col a{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:15px;line-height:1.3;color:var(--ft-soft);transition:color .2s}
.ft__col a::after{content:"→";font-size:13px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.ft__col a:hover{color:#fff}.ft__col a:hover::after{opacity:1;transform:none}
.ft__col a[target="_blank"]::after{content:"↗"}

/* Legal */
.ft__legal{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding:22px 0;border-top:1px solid var(--ft-line);font-size:13px;color:var(--ft-muted)}
.ft__legal a:hover{color:#fff}
.ft__legal .ft__sp{flex:1}
.ft__up{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ft-line);color:#fff!important;font-size:16px;transition:background .2s}
.ft__up:hover{background:rgba(255,255,255,.08)}

/* Wordmark */
.ft__mark{display:block;width:min(62%,800px);margin:clamp(28px,4vw,56px) 0 0;line-height:0}
.ft-mark__svg{display:block;width:100%;height:auto;overflow:visible;transform:translateY(22%);transition:transform 1.4s cubic-bezier(.16,.84,.2,1)}
.ft-word{fill:#fff}
.ft-drop{fill:#fff;transform-box:fill-box;transform-origin:50% 50%;transition:transform .9s cubic-bezier(.3,1.4,.4,1)}
.ft.is-in .ft-mark__svg{transform:translateY(16%)}
.ft__mark:hover .ft-drop{transform:rotate(90deg)}
.ft__mark:hover .ft-drop--2{transition-delay:.05s}.ft__mark:hover .ft-drop--3{transition-delay:.1s}.ft__mark:hover .ft-drop--4{transition-delay:.15s}
@media (prefers-reduced-motion:reduce){.ft *{transition:none!important}}

@media (max-width:991px){
  .ft__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .ft__card{border-radius:24px 24px 0 0}
  .ft__line{font-size:clamp(34px,10vw,44px)}
  /* Endings can be wider than a phone: let each one wrap, and keep room for two lines so the line below never jumps. */
  .ft__rail{display:grid;height:auto;min-height:2.08em;vertical-align:top}
  .ft__rail span{white-space:normal;text-wrap:balance}
  .ft__cta{gap:18px}
  .ft__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}
  .ft__legal{gap:10px 20px}
  .ft__mark{width:78%}
}
