/* Workforce of Tomorrow: 3D video ring (dynamics from the All is Well "path ring") */
.wf-stage{position:relative;height:clamp(380px,44vw,520px);perspective:2000px;overflow:hidden;margin-top:8px;
  touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.wf-stage.dragging{cursor:grabbing}
.wf-ring{position:absolute;inset:0;transform-style:preserve-3d}
.wf-card{position:absolute;top:50%;left:50%;width:var(--wf-w);aspect-ratio:16/9;
  --wf-w:clamp(260px,30vw,440px);
  margin:calc(var(--wf-w)*-0.28125) 0 0 calc(var(--wf-w)/-2);
  border-radius:var(--r,16px);overflow:hidden;background:var(--slate-1,#001A29);
  border:1px solid var(--line-2,rgba(255,255,255,.14));
  box-shadow:0 30px 70px rgba(0,0,0,.55);will-change:transform,opacity;
  transition:filter .5s ease;cursor:pointer;padding:0;color:inherit;font:inherit;text-align:left}
.wf-card video,.wf-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.wf-card:not(.is-front){filter:brightness(.42) saturate(.7)}
.wf-card:focus-visible{outline:2px solid var(--sage,#69B3E7);outline-offset:4px}
.wf-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,19,31,0) 45%,rgba(0,19,31,.82) 100%);pointer-events:none}
.wf-txt{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 14px;pointer-events:none}
.wf-tag{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--sage-ink,#00263A);background:var(--sage,#69B3E7);padding:4px 9px;border-radius:6px;margin-bottom:8px}
.wf-txt h3{margin:0;font-size:clamp(17px,1.6vw,22px);font-weight:500;line-height:1.15;color:#fff;letter-spacing:-.01em}
.wf-play{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(0,19,31,.45);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
.wf-play svg{width:16px;height:16px;fill:#fff}
.wf-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.wf-btn{min-width:44px;min-height:44px;padding:0 16px;border-radius:var(--r-btn,12px);border:1px solid var(--line-2,rgba(255,255,255,.14));
  background:var(--glass,rgba(255,255,255,.04));color:var(--text,#fff);font:inherit;font-size:15px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px}
.wf-btn:hover{border-color:var(--sage,#69B3E7)}
.wf-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
.wf-btn.primary{background:var(--sage,#69B3E7);color:var(--sage-ink,#00263A);border-color:transparent;font-weight:500}
.wf-dots{display:flex;flex-wrap:wrap;justify-content:center;max-width:220px;gap:8px;align-items:center;margin:0 6px}
.wf-dot{width:8px;height:8px;border-radius:50%;background:var(--text-3,rgba(255,255,255,.42));transition:background .3s,transform .3s}
.wf-dot.on{background:var(--sage,#69B3E7);transform:scale(1.3)}
.wf-note{text-align:center;color:var(--text-3,rgba(255,255,255,.42));font-size:13px;margin-top:14px}
/* lightbox */
.wf-box{position:fixed;inset:0;z-index:1300;display:none;align-items:center;justify-content:center;
  background:rgba(0,19,31,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.wf-box.open{display:flex}
.wf-box-card{position:relative;width:min(1040px,100%);animation:wf-in .5s cubic-bezier(.2,.8,.2,1)}
@keyframes wf-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.wf-box video{width:100%;aspect-ratio:16/9;display:block;border-radius:var(--r,16px);background:#000}
.wf-box-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.wf-box-bar h3{margin:0;font-size:18px;font-weight:500}
.wf-close{position:absolute;top:-56px;right:0;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2,rgba(255,255,255,.14));
  background:rgba(0,19,31,.6);color:#fff;font-size:22px;line-height:1;cursor:pointer}
@media (max-height:620px){.wf-close{top:8px;right:8px;z-index:2}}
/* phones: the ring retires and the three films stack (same rule as All is Well) */
@media (max-width:760px){
  .wf-stage{height:auto!important;perspective:none!important;cursor:default;touch-action:auto}
  .wf-ring{position:static!important;transform:none!important;display:grid;gap:14px}
  .wf-card{position:relative!important;transform:none!important;top:auto!important;left:auto!important;margin:0!important;
    width:100%!important;opacity:1!important;filter:none!important;z-index:auto!important;pointer-events:auto!important}
  .wf-card.dup{display:none!important}
  .wf-nav .wf-arrow,.wf-dots{display:none}
}
@media (prefers-reduced-motion:reduce){.wf-box-card{animation:none}.wf-card{transition:none}}

/* sound toggle */
.wf-sound{display:inline-flex;align-items:center;gap:8px}
.wf-sound svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wf-sound .spk{fill:currentColor;stroke:none}
.wf-sound .w1,.wf-sound .w2{display:none}
.wf-sound.on .w1,.wf-sound.on .w2{display:inline}
.wf-sound.on .x{display:none}
.wf-sound .lbl{font-size:14px}
@media (max-width:760px){.wf-sound{display:none}}

/* phones: the films sit in one sideways row that slides on its own (swipe works too) */
@media (max-width:760px){
  .wf-ring{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .wf-ring::-webkit-scrollbar{display:none}
  .wf-card{scroll-snap-align:start}
}
