/* Zirva website v11: the footer is the end of a lesson. Built from design-system pieces:
   speech bubble with the Zirva wave, the week dots card, path nodes on the green road, tick chips. */

.zf2{margin-top:140px;padding-top:88px;border-radius:48px 48px 0 0}
@media (max-width:899px){.zf2{border-radius:32px 32px 0 0;padding-top:64px}}

/* sign-off + week card */
.zf2-top{display:grid;gap:40px;align-items:end}
@media (min-width:980px){.zf2-top{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:64px}}
.zf2-big{font:600 76px/76px var(--font-family-display);letter-spacing:-.045em;text-wrap:balance}
.zf2-big em{font-style:normal;display:block;color:var(--color-success);filter:brightness(1.45) saturate(1.1)}
@media (max-width:640px){.zf2-big{font-size:46px;line-height:48px}}
.zf2-bye{grid-template-columns:48px minmax(0,auto);justify-content:start;margin-top:28px}
.zf2-av{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--color-text);box-shadow:inset 0 -4px 0 var(--color-surface-sunken)}
.zf2-av svg{width:26px;height:18px}
.zf2-bye .say-b{box-shadow:inset 0 -3px 0 var(--color-surface-sunken)}
.zf2-bye .say-b p{font:600 18px/24px var(--font-family-ui);color:var(--color-text)}
.zf2-week{padding:20px 20px 18px;border-radius:28px;background:var(--color-surface);color:var(--color-text);box-shadow:inset 0 -5px 0 var(--color-surface-sunken);transform:rotate(-2deg)}
.zf2-week-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.zf2-week-h b{font:600 18px/24px var(--font-family-ui)}
.zf2-week-h span{font:var(--type-body-sm);color:var(--color-text-secondary)}
.zf2-week .week2{margin:14px 0 0;padding:0;background:none;box-shadow:none}
.zf.in .zf2-week .dd{animation:pop 380ms var(--ease-spring) both}
.zf.in .zf2-week .w2-days div:nth-child(2) .dd{animation-delay:80ms}
.zf.in .zf2-week .w2-days div:nth-child(3) .dd{animation-delay:160ms}

/* links as a learning path */
.zf2-path{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:88px}
.zf2-road{position:absolute;left:8.333%;right:8.333%;top:31px;height:10px;border-radius:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 10px,transparent 10px 20px)}
.zf2-road i{position:absolute;left:0;top:0;bottom:0;width:80%;border-radius:5px;background:var(--color-success);transform-origin:left;transform:scaleX(0)}
.zf.in .zf2-road i{transform:none;transition:transform 1200ms var(--ease-out) 200ms}
.zf2-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none;color:rgba(255,255,255,.82)}
.zf2-n{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#fff;box-shadow:inset 0 -6px 0 rgba(0,0,0,.25);padding-bottom:6px;transition:transform 160ms var(--ease-out)}
.zf2-node.z-done .zf2-n{background:var(--color-success)}
.zf2-node.z-now .zf2-n{background:var(--group-cobalt);font-size:34px;box-shadow:inset 0 -6px 0 rgba(0,0,0,.25),0 0 0 6px var(--color-text),0 0 0 10px color-mix(in srgb,var(--group-cobalt) 55%,transparent)}
.zf2-node.z-lock .zf2-n{background:rgba(255,255,255,.12);color:rgba(255,255,255,.55);box-shadow:inset 0 -6px 0 rgba(0,0,0,.2)}
.zf2-l{font:var(--type-label-lg);text-align:center}
.zf2-node.z-now .zf2-l{color:#fff}
.zf2-node.z-lock .zf2-l{color:rgba(255,255,255,.45)}
a.zf2-node:hover .zf2-n{transform:translateY(-4px)}
a.zf2-node:active .zf2-n{transform:translateY(2px)}
a.zf2-node:hover .zf2-l{color:#fff}
a.zf2-node:focus-visible{outline:none}
a.zf2-node:focus-visible .zf2-n{box-shadow:inset 0 -6px 0 rgba(0,0,0,.25),0 0 0 4px var(--color-text),0 0 0 7px #fff}
.zf.in .zf2-n{animation:pop 420ms var(--ease-spring) both}
.zf.in .zf2-node:nth-child(3) .zf2-n{animation-delay:70ms}.zf.in .zf2-node:nth-child(4) .zf2-n{animation-delay:140ms}.zf.in .zf2-node:nth-child(5) .zf2-n{animation-delay:210ms}.zf.in .zf2-node:nth-child(6) .zf2-n{animation-delay:280ms}.zf.in .zf2-node:nth-child(7) .zf2-n{animation-delay:350ms}
@media (max-width:899px){
  .zf2-path{grid-template-columns:1fr;gap:14px;margin-top:56px;padding-left:4px}
  .zf2-road{left:31px;right:auto;top:30px;bottom:30px;width:10px;height:auto;background:repeating-linear-gradient(180deg,rgba(255,255,255,.22) 0 10px,transparent 10px 20px)}
  .zf2-road i{width:auto;right:0;height:80%;transform-origin:top;transform:scaleY(0)}
  .zf2-node{flex-direction:row;gap:18px}
  .zf2-n{width:64px;height:64px;font-size:26px}
  .zf2-l{text-align:left}
}

/* bottom bar */
.zf2-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:80px;padding:24px 0;border-top:1px solid rgba(255,255,255,.12)}
.zf2-copy{font:var(--type-body-sm);color:rgba(255,255,255,.5)}
.zf2-chips{display:flex;flex-wrap:wrap;gap:8px;margin-right:auto}
.zf2-chips span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px 2px;border-radius:999px;background:rgba(255,255,255,.08);font:var(--type-label-md);color:rgba(255,255,255,.82)}
.zf2-chips i{color:var(--color-success);filter:brightness(1.6);font-size:14px}
/* legal row: chips on top, then © on the left and the four legal links on the right */
.zf2-bottom .zf2-chips{order:-1;flex-basis:100%;margin:0 0 6px}
.zf2-legal{display:flex;flex-wrap:wrap;gap:0 22px;margin-left:auto}
.zf2-legal a{display:inline-flex;align-items:center;min-height:44px;font:var(--type-label-md);color:rgba(255,255,255,.7);text-decoration:none;transition:color 160ms ease}
.zf2-legal a:hover,.zf2-legal a[aria-current="page"]{color:#fff}
.zf2-legal a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--color-success);text-decoration-thickness:2px;text-underline-offset:6px}
.zf2-legal a:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:6px}
@media (max-width:640px){.zf2-legal{margin-left:0;flex-basis:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.zf2-copy{order:1}}

/* legal pages: draft notice */
.lp-doc .zl-draft{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:6px 14px 8px;border-radius:999px;background:var(--color-warning-tint);color:var(--color-warning);font:var(--type-label-md)}
.lp-doc .zl-draft i{font-size:16px}
.zf2 .zf-word{margin-top:24px}

@media (prefers-reduced-motion:reduce){.zf.in .zf2-n,.zf.in .zf2-week .dd{animation:none}.zf.in .zf2-road i{transition:none}.zf2-n{transition:none}}
