/* About page: team carousel. One fixed card; the member circle slides right to left. */
.tm{max-width:440px;margin:0 auto}
.tm-card{position:relative;aspect-ratio:4/5;border-radius:30px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 70% at 50% 0%,rgba(154,69,224,.22),transparent 60%),linear-gradient(180deg,#1a1136 0%,#110a28 60%,#0a0620 100%);isolation:isolate}
.tm-card::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(5,3,16,.55));z-index:1;pointer-events:none}
.tm-slide{position:absolute;left:12%;top:7%;width:76%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 70px -10px rgba(154,69,224,.55);transition:transform .95s cubic-bezier(.65,0,.25,1);will-change:transform}
.tm-slide svg{width:100%;height:100%;display:block}
.tm-slide img{width:100%;height:100%;object-fit:cover;display:block}
.tm-slide.on{transform:none}
.tm-slide.nx{transform:translateX(150%)}
.tm-slide.pv{transform:translateX(-150%)}
.tm-slide.far{transform:translateX(150%);transition:none;visibility:hidden}
.tm-info{position:absolute;left:0;right:0;bottom:7%;z-index:2;text-align:center;padding:0 20px;transition:opacity .3s,transform .3s}
.tm-info.swap{opacity:0;transform:translateY(10px)}
.tm-info h3{font-family:var(--display);font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.04em;line-height:1.05;background:linear-gradient(90deg,#e0bcff,#c98bff 50%,#ff8ad8);-webkit-background-clip:text;background-clip:text;color:transparent}
.tm-info p{margin-top:8px;color:var(--muted);font-size:.98rem}
.tm-ctl{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}
.tm-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);display:grid;place-items:center;transition:background .2s,border-color .2s}
.tm-arrow:hover{background:rgba(160,80,255,.2);border-color:rgba(160,80,255,.5)}
.tm-dots{display:flex;gap:8px}
.tm-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);cursor:pointer;transition:width .3s,background .3s}
.tm-dots i.on{width:24px;border-radius:99px;background:#c98bff}
@media (prefers-reduced-motion:reduce){.tm-slide{transition:none}}
