partner-roots.pt{display:grid;gap:0}.pt__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-4);margin:0;padding:0;list-style:none}@media(min-width:48rem){.pt__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.pt__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-6) var(--s-5)}}.pt-card{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:.35rem;justify-items:center;text-align:center}.pt-card__plate{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16 / 7;margin-bottom:var(--s-2);border-radius:var(--r-l);background:linear-gradient(160deg,#fff,#e9eef7);box-shadow:inset 0 0 0 1px #fff9,0 1px #ffffff14,0 22px 40px -28px #020610e6;transition:transform var(--dur-slow) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out)}.pt-card__plate:after{content:"";position:absolute;left:50%;bottom:-.35rem;width:.7rem;height:.7rem;margin-left:-.35rem;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line-strong);transition:background-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.pt-card__plate img{position:absolute;inset:var(--py, 22%) var(--px, 10%);width:calc(100% - 2 * var(--px, 10%));height:calc(100% - 2 * var(--py, 22%));object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.72;transition:filter var(--dur-slow) var(--ease-out),opacity var(--dur-base) var(--ease-out),transform var(--dur-slow) var(--ease-spring)}.pt-card__plate--wide{--px: 9%;--py: 27%}.pt-card__plate--block{--px: 14%;--py: 14%}.pt-card__plate--square{--px: 20%;--py: 15%}.pt-card__name{margin:0;font-weight:650;color:var(--fg)}.pt-card__sphere{margin:0;padding:.15rem .65rem;border-radius:var(--r-pill);font-size:var(--fs-small);color:var(--fg-muted);box-shadow:inset 0 0 0 1px var(--line);transition:color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.pt-card:hover .pt-card__plate,.pt-card:focus-within .pt-card__plate{transform:translateY(-4px);box-shadow:inset 0 0 0 1px #fffc,0 0 0 1px var(--accent),0 26px 50px -24px var(--a-glow)}.pt-card:hover .pt-card__plate img,.pt-card:focus-within .pt-card__plate img{filter:none;opacity:1;transform:scale(1.04)}.pt-card:hover .pt-card__plate:after{background:var(--xray);box-shadow:0 0 12px var(--xray)}.pt-card:hover .pt-card__sphere{color:var(--fg);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 55%,transparent)}@media(hover:none){.pt-card__plate img{filter:none;opacity:1}}.pt__roots{position:relative;display:none;height:7.5rem;margin-top:var(--s-2)}@media(min-width:64rem){.pt__roots{display:block}}.pt__roots>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pt-root path{fill:none;vector-effect:non-scaling-stroke}.pt-root__base{stroke:var(--line-strong);stroke-width:1.2;stroke-dasharray:3 5}.pt-root__run{stroke:var(--xray);stroke-width:2;stroke-linecap:round;stroke-dasharray:.18 .82;stroke-dashoffset:.18;opacity:0;filter:drop-shadow(0 0 5px var(--xray))}.pt-root[data-on] .pt-root__run{opacity:1}@media(prefers-reduced-motion:no-preference){:root:not([data-motion=off]) .pt-root[data-on] .pt-root__run{animation:pt-run calc(1.1s * var(--m)) var(--ease-inout) infinite}:root:not([data-motion=off]) .pt[data-in] .pt-root:not([data-on]) .pt-root__run{opacity:.45;animation:pt-run calc(3.2s * var(--m)) linear infinite;animation-delay:calc(var(--k, 0) * .8s * var(--m))}}.pt-root:nth-child(2){--k: 1}.pt-root:nth-child(3){--k: 2}.pt-root:nth-child(4){--k: 3}@keyframes pt-run{to{stroke-dashoffset:-.82}}.pt__mark{position:absolute;left:50%;bottom:-.6rem;display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-left:-1.75rem;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-strong),0 0 0 8px color-mix(in oklab,var(--xray) 6%,transparent);color:var(--fg)}.pt__more{margin:var(--s-7) auto 0;max-width:60ch;text-align:center;color:var(--fg-muted)}@media(prefers-reduced-motion:no-preference){:root:not([data-motion=off]) .pt:not([data-in]) .pt-card{opacity:0}:root:not([data-motion=off]) .pt[data-in] .pt-card{animation:pt-in calc(.8s * var(--m)) var(--ease-expo) both;animation-delay:calc(var(--d) * .11s * var(--m))}:root:not([data-motion=off]) .pt:not([data-in]) .pt-root__base{stroke-dashoffset:40;opacity:0}:root:not([data-motion=off]) .pt[data-in] .pt-root__base{transition:opacity calc(.9s * var(--m)) var(--ease-out) calc(.6s * var(--m))}}@keyframes pt-in{0%{opacity:0;transform:translateY(18px) scale(.97)}}
