.ff-stage{position:relative;height:clamp(620px,calc(100svh - 96px),900px);margin:8px clamp(12px,2vw,28px) 28px;border:1px solid var(--border-light);background:var(--paper);overflow:clip;touch-action:pan-y}.ff-label{font-family:var(--font-body);font-size:9.5px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--slate-medium);margin:0}.ff-intro{position:absolute;top:clamp(20px,3vw,36px);left:clamp(20px,3vw,36px);width:min(300px,30%);z-index:10;display:flex;flex-direction:column;gap:8px}.ff-intro__title{font-family:var(--font-heading);font-weight:400;font-size:22px;line-height:1.15;color:var(--slate-dark);margin:0}.ff-intro__lede{font-size:13px;line-height:19px;color:var(--slate-medium);margin:0}.ff-arc{inset:0;container-type:size;pointer-events:none}.ff-arc,.ff-item{position:absolute}.ff-item{--d:min(28cqw,50cqh);left:0;top:0;width:var(--d);height:var(--d);padding:0;border:0;background:none;border-radius:50%;cursor:-webkit-grab;cursor:grab;pointer-events:auto;font-size:calc(var(--d) * .1);z-index:var(--z);opacity:var(--o,1);transform:translate(calc(var(--x) * 1cqw - 50%),calc(var(--y) * 1cqh - 50%)) perspective(1400px) rotateY(var(--ry)) rotateX(var(--rx)) scale(var(--s));transition:transform .8s cubic-bezier(.16,.8,.3,1),opacity .5s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ff-item.is-focus{cursor:zoom-in}.ff-item--slot-1{--x:8;--y:72;--s:0.42;--ry:34deg;--rx:14deg;--z:1;--o:0.55}.ff-item--slot-2{--x:20;--y:66;--s:0.54;--ry:30deg;--rx:12deg;--z:2;--o:0.7}.ff-item--slot-3{--x:35;--y:58;--s:0.7;--ry:22deg;--rx:10deg;--z:3;--o:0.85}.ff-item--slot-4{--x:57;--y:46;--s:1;--ry:8deg;--rx:5deg;--z:4}.ff-item--slot-5{--x:90;--y:25;--s:1.15;--ry:4deg;--rx:4deg;--z:5;--o:0.85}.ff-item__icon{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 32% 26%,hsla(0,0%,100%,.95),hsla(0,0%,100%,0) 60%),color-mix(in srgb,var(--c) 14%,#fff);box-shadow:0 calc(var(--d) * .06) calc(var(--d) * .12) rgba(37,50,55,.16),inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent);transition:box-shadow .4s ease,scale .35s ease}.ff-item__icon svg{position:absolute;inset:8%;width:84%;height:84%}.ff-item__icon svg.ff-item__name{inset:0;width:100%;height:100%;overflow:visible}.ff-item__name text{font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:2.6px;fill:var(--slate-dark)}.ff-item:not(.is-focus):hover .ff-item__icon{scale:1.04}.ff-item.is-focus:hover .ff-item__icon{box-shadow:0 calc(var(--d) * .08) calc(var(--d) * .16) rgba(37,50,55,.22),inset 0 0 0 2px var(--c)}.ff-item:focus-visible{outline:2px solid var(--slate-dark);outline-offset:8px}.ff-item__caption{position:absolute;left:50%;top:100%;margin-top:.5em;transform:translateX(-50%);white-space:nowrap;font-family:var(--font-heading);font-size:.5em;color:var(--slate-dark);opacity:0;transition:opacity .4s ease}.ff-item.is-focus .ff-item__caption{opacity:1}.ff-item__hint{display:block;font-family:var(--font-body);font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--slate-medium)}.ff-item__hint--mouse{display:none}@media (hover:hover) and (pointer:fine){.ff-item__hint--mouse{display:block}.ff-item__hint--touch{display:none}}.ff-item.is-wrapping{transition:none}.ff-item.is-wrapping.ff-wrap-0{animation:ff-wrap-0 .8s ease both}.ff-item.is-wrapping.ff-wrap-1{animation:ff-wrap-1 .8s ease both}@keyframes ff-wrap-0{0%,30%{opacity:0}}@keyframes ff-wrap-1{0%,30%{opacity:0}}.ff-stage .ff-arc{transition:opacity .35s ease,visibility 0s}.ff-stage.is-open .ff-arc{opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s .35s}.ff-detail{position:absolute;inset:0;z-index:20;container-type:size;display:flex;align-items:flex-end;padding:clamp(24px,4vw,56px) clamp(24px,4vw,56px) calc(clamp(16px, 2.5vw, 28px) + 56px);background:radial-gradient(ellipse 60% 70% at 85% 20%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%),var(--paper);animation:ff-rise .55s cubic-bezier(.16,.8,.3,1) both}.ff-detail[hidden]{display:none}@keyframes ff-rise{0%{opacity:0;transform:translateY(24px)}}.ff-detail__close{position:absolute;top:clamp(18px,3vw,32px);right:clamp(18px,3vw,32px);padding:8px 14px;border:1px solid var(--slate-dark);border-radius:999px;background:transparent;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-dark);cursor:pointer}.ff-detail__close:focus-visible,.ff-detail__close:hover{background:var(--slate-dark);color:#fff}.ff-detail__art{position:absolute;top:9%;right:7%;width:min(34%,46cqh,420px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 26%,hsla(0,0%,100%,.95),hsla(0,0%,100%,0) 60%),color-mix(in srgb,var(--c) 12%,#fff);box-shadow:0 30px 60px rgba(37,50,55,.14)}.ff-detail__art svg{position:absolute;inset:8%;width:84%;height:84%}.ff-detail__mark{display:none}.ff-detail__body{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,1.2fr);grid-template-rows:auto auto;grid-column-gap:clamp(24px,4vw,64px);column-gap:clamp(24px,4vw,64px);grid-row-gap:28px;row-gap:28px;align-items:end}.ff-detail__head{display:flex;flex-direction:column;gap:10px}.ff-detail__title{font-family:var(--font-heading);font-weight:400;font-size:clamp(56px,8vw,120px);line-height:.9;letter-spacing:-.02em;color:var(--slate-dark);margin:0}.ff-detail__cols{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}.ff-detail__cols>div{padding:4px clamp(16px,2vw,28px);border-left:1px solid var(--border-light)}.ff-detail__cols dd{margin:8px 0 0;font-size:17px;line-height:25px;color:var(--slate-dark)}.ff-spectrum{display:flex;justify-content:space-between;align-items:center;margin:14px 0 6px;background:linear-gradient(var(--c),var(--c)) 50% /100% 2px no-repeat}.ff-spectrum i{width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--c)}.ff-spectrum__ends{display:flex;justify-content:space-between;gap:16px;white-space:nowrap;font-family:var(--font-heading);font-size:19px}.ff-detail__note{display:block;margin-top:10px;font-family:var(--font-heading);font-style:italic;font-size:14px;color:var(--slate-medium)}.ff-detail__nav{position:absolute;left:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px);bottom:clamp(16px,2.5vw,28px);display:flex;justify-content:space-between;border-top:1px solid var(--slate-dark);padding-top:12px}.ff-detail__nav button{border:0;background:none;padding:4px 0;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-dark);cursor:pointer}.ff-detail__nav button:hover{text-decoration:underline}.ff-fade{animation:ff-in .5s ease both}@keyframes ff-in{0%{opacity:0;transform:translateY(6px)}}.ff-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width:1180px){.ff-detail__body{grid-template-columns:1fr}.ff-detail__cols{max-width:760px}}@media (max-width:700px){.ff-stage{height:auto;margin:4px 10px 20px;padding:20px 20px 24px;display:flex;flex-direction:column;gap:18px}.ff-intro{position:static;width:auto}.ff-arc{position:relative;inset:auto;height:80vw;margin:0 -20px}.ff-detail__art{display:none}.ff-detail__mark{display:block}.ff-detail{position:fixed;overflow-y:auto;flex-direction:column;align-items:stretch;padding-top:72px;padding-bottom:32px}.ff-detail__nav{position:static;margin-top:28px}.ff-detail__body,.ff-detail__cols{grid-template-columns:1fr}.ff-detail__cols>div{border-left:0;border-top:1px solid var(--border-light);padding:12px 0}.ff-item{--d:56cqw}.ff-item--slot-1{--x:-30;--y:60;--s:0.4}.ff-item--slot-2{--x:-20;--y:58;--s:0.45}.ff-item--slot-3{--x:6;--y:56;--s:0.5}.ff-item--slot-4{--x:50;--y:50;--s:1;--ry:6deg;--rx:4deg}.ff-item--slot-5{--x:96;--y:42;--s:0.6}.ff-item--slot-1,.ff-item--slot-2{opacity:0;visibility:hidden}}.ff-stage.is-instant .ff-item{transition:none}@media (prefers-reduced-motion:reduce){.ff-detail,.ff-item,.ff-stage .ff-arc,.ff-stage.is-open .ff-arc{transition:none}.ff-detail,.ff-fade,.ff-item.is-wrapping{animation:none}}